Skip to content

Add schemathesis tests#141

Open
DanLipsitt wants to merge 4 commits into
awtkns:masterfrom
DanLipsitt:105_schemathesis_tests
Open

Add schemathesis tests#141
DanLipsitt wants to merge 4 commits into
awtkns:masterfrom
DanLipsitt:105_schemathesis_tests

Conversation

@DanLipsitt

Copy link
Copy Markdown

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

vercel Bot commented Feb 10, 2022

Copy link
Copy Markdown

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

DanLipsitt commented Feb 10, 2022

Copy link
Copy Markdown
Author

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
Copy Markdown
Author

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

@awtkns

awtkns commented Feb 18, 2022

Copy link
Copy Markdown
Owner

Thanks for this @DanLipsitt, great work! 🚀

Comment thread tests/test_schemathesis.py Outdated
@Stranger6667

Copy link
Copy Markdown

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
Copy Markdown
Author

Updated per @Stranger6667's suggestion.

@vercel

vercel Bot commented Jan 29, 2023

Copy link
Copy Markdown

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