openapi-library / OpenAPIValidators

Use Jest or Chai to assert that HTTP responses satisfy an OpenAPI spec
MIT License
189 stars 35 forks source link

format: uuid not being validated in tests #277

Open charlottebrady opened 2 years ago

charlottebrady commented 2 years ago

Are you using jest or chai? Jest

Are you using OpenAPI 2, 3.0.X, or 3.1.0? OpenAPI 3.0.0

Describe the bug clearly Documentation describing schemas with properties that have type: string format: uuid Are not validating if the returned response is a valid uuid (rather just accepting any string).

Steps to reproduce the bug:

  1. Define schema for an API response to contain a property with type: string and format: uuid
  2. Update the API response so the value of this property is returned as a test string of 'hello'
  3. Set up an API test checking .toSatifsyAPISpec() - this should pass
  4. Set up an API test checking the property value of the API response is a valid uuid - this should fail (as we are getting a response of 'hello')

What did you expect to happen instead? You would expect tests defined in repro steps 3 and 4 to both fail as a uuid value is not being returned as defined in the schema. Test in step 4 should not be required as this should be handled through the assertions of test in step 3.

Are you going to resolve the issue? Hoping for some guidance on if this is a supported feature / plans to make this a supported feature.

Thank you 😊 πŸ™

rwalle61 commented 2 years ago

Thanks @charlottebrady! Sounds like a missing feature on our part. Do you have a link to a reproduction?

I don't have much time to implement this now unfortunately but may be able to point you / someone in the right direction, if you like πŸ™‚