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
The current behavior is based on having data that matches the given schema. But we need to go beyond this point:
Check if required parameters are really required; Should fail if some param is actually optional;
Check if optional parameters are really optional; Should fail if some param is actually required;
One of the possible ways to achieve this is to adjust the schema in runtime before creating a strategy for it. For example (1) we need to change the schema and remove required parameters or its subset completely, for (2) removing the value should not lead to failure.
Mentioned approaches could be extracted on a separate level - we could have one extra parametrization level that will include these things:
Current. Test data matches the schema; No runtime schema changes;
(1) Test data doesn't match the schema - required fields are not present and the endpoint is expected to fail because of this reason. Required fields are removed.
(2) Test data matches the schema - missing the fields should not lead to an error. Optional fields are removed.
We could produce these 3 dimensions by default:
method
endpoint
test type (from the mentioned above)
This will expand the scope of problems Schemathesis can verify
The text was updated successfully, but these errors were encountered:
The current behavior is based on having data that matches the given schema. But we need to go beyond this point:
Check if required parameters are really required; Should fail if some param is actually optional;
Check if optional parameters are really optional; Should fail if some param is actually required;
One of the possible ways to achieve this is to adjust the schema in runtime before creating a strategy for it. For example (1) we need to change the schema and remove required parameters or its subset completely, for (2) removing the value should not lead to failure.
Mentioned approaches could be extracted on a separate level - we could have one extra parametrization level that will include these things:
We could produce these 3 dimensions by default:
This will expand the scope of problems Schemathesis can verify
The text was updated successfully, but these errors were encountered: