compound key in resource path causes validator to fail.
Issue #98
new
When using a compound key/template in a single path segment the validator fails.
example of a compound key that does not work:
"/pet/{type}:{petId}"
when the delimiter is changed to /
(so basically creating separate segments for key parts) the problem no longer occurs.
Error:
TypeError: Cannot read properties of undefined (reading 'schema')
at toJsonSchema (/usr/local/lib/node_modules/swagger-mock-validator/dist/swagger-mock-validator/validate-spec-and-mock/validate-mock-value-against-spec.js:11:40)
at validateMockValueAgainstSpec (/usr/local/lib/node_modules/swagger-mock-validator/dist/swagger-mock-validator/validate-spec-and-mock/validate-mock-value-against-spec.js:57:20)
at jsonSchemaTypeValidator (/usr/local/lib/node_modules/swagger-mock-validator/dist/swagger-mock-validator/validate-spec-and-mock/get-parsed-spec-operation.js:11:159)
at /usr/local/lib/node_modules/swagger-mock-validator/dist/swagger-mock-validator/validate-spec-and-mock/get-parsed-spec-operation.js:20:39
at Array.map (<anonymous>)
at doInteractionAndOperationMatchPaths (/usr/local/lib/node_modules/swagger-mock-validator/dist/swagger-mock-validator/validate-spec-and-mock/get-parsed-spec-operation.js:17:48)
at doInteractionAndOperationMatch (/usr/local/lib/node_modules/swagger-mock-validator/dist/swagger-mock-validator/validate-spec-and-mock/get-parsed-spec-operation.js:41:30)
at /usr/local/lib/node_modules/swagger-mock-validator/dist/swagger-mock-validator/validate-spec-and-mock/get-parsed-spec-operation.js:58:39
at Array.map (<anonymous>)
at getParsedSpecOperation (/usr/local/lib/node_modules/swagger-mock-validator/dist/swagger-mock-validator/validate-spec-and-mock/get-parsed-spec-operation.js:58:10)
I’ve added an example spec/pact where this fails. I’m running version 10.1.4
Comments (2)
-
Account Deactivated -
reporter @{557057:526b7077-83d4-4cfb-955a-e261d129103c} fair point, however I have also tried with (and the example is actually with)
_
as the delimiter giving the same result. - Log in to comment
@Peter Streef Although the error should be handled properly, I don’t think
:
is a valid character in a URL path. Shouldn’t it be URL encoded as%3A
?