Skip to content

Commit

Permalink
chore: Better feedback invalid content topic (#2254)
Browse files Browse the repository at this point in the history
* typo correction appplication -> application
* content_topic.nim: better feedback to user when wrong topic is passed
* test_namespaced_topics.nim: updating tests accordingly
  • Loading branch information
Ivansete-status authored Nov 30, 2023
1 parent 958b9bd commit 72a1f8c
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
4 changes: 2 additions & 2 deletions tests/waku_core/test_namespaced_topics.nim
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ suite "Waku Message - Content topics namespacing":
let err = ns.tryError()
check:
err.kind == ParsingErrorKind.InvalidFormat
err.cause == "invalid topic structure"
err.cause == "Invalid content topic structure. Expected either /<application>/<version>/<topic-name>/<encoding> or /<gen>/<application>/<version>/<topic-name>/<encoding>"

test "Parse content topic string - Invalid string: missing encoding part":
## Given
Expand All @@ -104,7 +104,7 @@ suite "Waku Message - Content topics namespacing":
let err = ns.tryError()
check:
err.kind == ParsingErrorKind.InvalidFormat
err.cause == "invalid topic structure"
err.cause == "Invalid content topic structure. Expected either /<application>/<version>/<topic-name>/<encoding> or /<gen>/<application>/<version>/<topic-name>/<encoding>"

test "Parse content topic string - Invalid string: wrong extra parts":
## Given
Expand Down
8 changes: 5 additions & 3 deletions waku/waku_core/topics/content_topic.nim
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ proc parse*(T: type NsContentTopic, topic: ContentTopic|string): ParsingResult[N
of 4:
let app = parts[0]
if app.len == 0:
return err(ParsingError.missingPart("appplication"))
return err(ParsingError.missingPart("application"))

let ver = parts[1]
if ver.len == 0:
Expand All @@ -100,7 +100,7 @@ proc parse*(T: type NsContentTopic, topic: ContentTopic|string): ParsingResult[N

let app = parts[1]
if app.len == 0:
return err(ParsingError.missingPart("appplication"))
return err(ParsingError.missingPart("application"))

let ver = parts[2]
if ver.len == 0:
Expand All @@ -116,7 +116,9 @@ proc parse*(T: type NsContentTopic, topic: ContentTopic|string): ParsingResult[N

return ok(NsContentTopic.init(some(gen), app, ver, name, enc))
else:
return err(ParsingError.invalidFormat("invalid topic structure"))

let errMsg = "Invalid content topic structure. Expected either /<application>/<version>/<topic-name>/<encoding> or /<gen>/<application>/<version>/<topic-name>/<encoding>"
return err(ParsingError.invalidFormat(errMsg))

# Content topic compatibility

Expand Down

0 comments on commit 72a1f8c

Please sign in to comment.