Comments (7)
@Stranger6667 Is supporting anyio>=4
currently still planned (be it through switching away from starlette-testclient
or some other way) and if so, can you estimate when that would be? Can I support you somehow in the migration?
from schemathesis.
@Stranger6667 I gave you maintainer rights on starlette-testclient. Feel free to do what you need. 👍
from schemathesis.
The fix is available in 3.27.1
from schemathesis.
Indeed, Schemathesis pins anyio
to <4
, exactly because of starlette-testclient
There is a plan to switch from starlette-testclient
completely, but I didn't get to it just yet.
from schemathesis.
Hi @wolfskaempf !
thank you for pinging. At this point I refactored the transport logic and now it should be easier to migrate that logic to httpx.
There are two main ways to get this through. The first one is to migrate ASGI transport to httpx, including sync-async bridge (the ASGI adapter in httpx is async). The other option is to add support for newer anyio versions to starlette-testclient and update it in Schemathesis.
the latter could be simpler, but I’d prefer the former one as it is cleaner and reduce our dependency on legacy tools (in a sense that starlette moved to httpx and starlette-testclient is a backport of its old code).
In terms of support I am thinking about a few ways:
- work on the implementation, I’d be happy to assist
- Test pre-release version when it’s ready
- If your company uses Schemathesis, they might take a look at sponsorship options.
Other than that I am currently looking more into reworking all the jsonschema usage by integrating the next version of my ‘jsonschema’ Rust crate which aims to resolve long standing performance and compatibility issues in this area. It will take a few months, so I am not sure if I’d have the bandwidth to dive deeper into transports.
from schemathesis.
Tagging @Kludex for visibility. Maybe adjusting things on the starlette-testclient could be the easiest way to go for now.
@Kludex - would you be open to accepting anyio 4 support if I or somebody else will open a PR in the starlette-testclient repo?
from schemathesis.
@Stranger6667 I gave you maintainer rights on starlette-testclient. Feel free to do what you need. 👍
Thanks!
from schemathesis.
Related Issues (20)
- [BUG] Ascii can not be valid when generate test case with schemathesis HOT 1
- [BUG] ASCII can not be valid when generate test case with schemathesis. HOT 4
- [BUG] Ascii can not be valid when use generate test case with setting 'allow_x00=False, codec='ascii' HOT 1
- OAS validation for binary stream payloads of Contract Type application/pdf, image/jpeg, image/png, application/msword HOT 8
- More useful reports on internal errors
- strawberry scalar of type JSON HOT 3
- [BUG] hypothesis.errors.InvalidArgument: test has already been decorated with a settings object. HOT 10
- schemathesis and fastapi with elasticsearch HOT 4
- [FEATURE] Corpus for input values
- [BUG] Parametrization incompatibility with falcon ASGI apps HOT 5
- [FEATURE] Expose the way to configure header generation
- [FEATURE] Add a __main__.py to schemathesis.cli HOT 5
- [FEATURE] Add doco on hooks.py HOT 3
- [BUG] Schemathesis fails with pytest integration but works with CLI HOT 3
- [BUG] curl code samples omit non-printable characters HOT 3
- [BUG] astroid crashes with `RecursionError` in a pytest session if schemathesis is installed HOT 1
- [BUG] pytest plugin broken and triggering warnings/missreported errors on modern pluggy HOT 1
- [BUG] Setting body after make_case() causes request to be sent without a body HOT 1
- [BUG] TypeError HOT 4
- `allow_x00=False` not affecting Headers and Cookies [BUG] HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from schemathesis.