schemathesis / schemathesis

Supercharge your API testing, catch bugs, and ensure compliance

Home Page:https://schemathesis.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[QUESTION] very specific checks / unusual deps

devkral opened this issue · comments

While digging through your code I saw some very specific checks for some libraries.

For e.g. aiohttp, fastapi

What is the reason behind the checks?

And why do you use werkzeug and starlette-testclient (I guess because of wsgi/asgi)?
Wouldn't it be easier to use httpx directly instead of the testclient? It is just an abstraction.

Anyway, if you want to stay in the wsgi world a bit longer, you can use asgiref. It has an asgi to wsgi converter, which could obsolete the problems with starlette

Most of such things are about compatibility with tools I considered popular in the community, or those used in the company I was working for during the early days of Schemathesis (e.g. aiohttp was used in some teams there).

And why do you use werkzeug and starlette-testclient (I guess because of wsgi/asgi)?

Yes, werkzeug was the default choice because of its popularity in WSGI tooling. starlette-testclient is a temporary solution to postpone moving things to httpx.

Overall, the means of maximizing compatibility was one of the priorities in the early days, but given that the ecosystem has moved forward significantly, I would be happy to reconsider many of the choices in terms of dependencies and APIs they imply (speaking about inconvenient & confusing call_asgi / call_wsgi / call combo)