Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add schemathesis tests #141

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

DanLipsitt
Copy link

This PR adds automated Schemathesis tests to the test suite. Most of the tests currently fail, and I believe this is due to a bug in Schemathesis, described in schemathesis/schemathesis#1335. I see that the author of Schemathesis has kindly offered to help get it working with fastapi-crudrouter. I'll update the schemathesis ticket and hopefully this PR will help both projects.

@vercel
Copy link

vercel bot commented Feb 10, 2022

This pull request is being automatically deployed with Vercel (learn more).
To see the status of your deployment, click below or on the icon next to each commit.

🔍 Inspect: https://vercel.com/flortz/fastapi-crudrouter/4RVwLWcGLBPGZCGrrRHMXEyThDAU
✅ Preview: https://fastapi-crudrouter-git-fork-danlipsitt-105schemat-b57fbd-flortz.vercel.app

@DanLipsitt
Copy link
Author

DanLipsitt commented Feb 10, 2022

Current CI failure seems to be due to a bug in pytest 7.0.0 (pytest-dev/pytest#9609). Run tests again when 7.0.1 is out (should be very soon) or work around it in dev.requirements.txt.

pytest 7.0.0 does not work with python 3.9. Exclude that specific combo.
From: pytest-dev/pytest#9608 (comment)
@DanLipsitt
Copy link
Author

I added the pytest workaround. Any remaining failures should be due to the Schemathesis bug mentioned above.

@awtkns
Copy link
Owner

awtkns commented Feb 18, 2022

Thanks for this @DanLipsitt, great work! 🚀

@Stranger6667
Copy link

Thank you so much @DanLipsitt for bringing this PR and reporting the issue to Schemathesis! @awtkns thank you for reviewing & approving the changes :)

I added a small suggestion in the comment above which makes the tests work. They took quite some time to run on my machine (~7 minutes) but showed quite a lot of things that might require attention. I'd also suggest adding data_generation_methods=schemathesis.DataGenerationMethod.all() to schemathsis.from_dict so it also executes negative test scenarios, however they are even slower.

Let me know if I can help with anything :) I'd be happy elaborate

@DanLipsitt
Copy link
Author

Updated per @Stranger6667's suggestion.

@vercel
Copy link

vercel bot commented Jan 29, 2023

Someone is attempting to deploy a commit to a Personal Account owned by @awtkns on Vercel.

@awtkns first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants