You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you have a route with a query parameter that has a dot (.) on its name like "filter.test" dredd gives a warning
Compilation warning in file 'api/swagger/swagger.yaml': Ambiguous URI parameter in template: /me{?filter%2etest}
Parameter not defined in API description document: filter%2etest ( > /me > GET)
dredd will give the warning and skips the route Expected behavior
Its expected dredd behaves as the name does not have a dot and run the test over the route
Does dredd --loglevel=debug uncover something?
not much, just the following:
2019-02-28T12:38:27.265Z - debug: Compiling HTTP transactions from API description file: api/swagger/swagger.yaml
2019-02-28T12:38:27.322Z - warn: Compilation warning in file 'api/swagger/swagger.yaml': Ambiguous URI parameter in template: /me{?filter%2etest}
Parameter not defined in API description document: filter%2etest ( > /me > GET)
Can you send us failing test in a Pull Request?
yes
The text was updated successfully, but these errors were encountered:
Hi @alikh31! 🙋♂️ Nice to still see you around the Apiary realm 🙂
I believe the bug you're experiencing is a problem with encoding/decoding URI parameters we already have around. I think related issues are #1012, #856, #481.
I'd say the bug happens somewhere here and is caused by the fact that the parameter name can/must be encoded in the URI template, but isn't encoded in the parameters list, so Dredd doesn't correctly match them together.
I wanted to focus on fixing this soon, together with agreement with @apiaryio/adt that the parser would always provide a valid and correctly encoded URI template, regardless what the user provides. In that case Dredd could just decode the parameter name from the template and deterministically match it with the name provided in the parameters list.
If you have a route with a query parameter that has a dot (.) on its name like "filter.test" dredd gives a warning
and skips the route.
To Reproduce
Given the following swagger file:
dredd will give the warning and skips the route
Expected behavior
Its expected dredd behaves as the name does not have a dot and run the test over the route
What is in your
dredd.yml
?What's your
dredd --version
output?Does
dredd --loglevel=debug
uncover something?not much, just the following:
Can you send us failing test in a Pull Request?
yes
The text was updated successfully, but these errors were encountered: