1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
import strawberry
@strawberry.type
class Query:
abc: str
def test_enable_graphiql_view_and_allow_queries_via_get():
from fastapi import FastAPI
from strawberry.fastapi import GraphQLRouter
app = FastAPI()
schema = strawberry.Schema(query=Query)
graphql_app = GraphQLRouter[None, None](schema)
app.include_router(graphql_app, prefix="/graphql")
assert "get" in app.openapi()["paths"]["/graphql"]
assert "post" in app.openapi()["paths"]["/graphql"]
def test_disable_graphiql_view_and_allow_queries_via_get():
from fastapi import FastAPI
from strawberry.fastapi import GraphQLRouter
app = FastAPI()
schema = strawberry.Schema(query=Query)
graphql_app = GraphQLRouter[None, None](
schema, graphql_ide=None, allow_queries_via_get=False
)
app.include_router(graphql_app, prefix="/graphql")
assert "get" not in app.openapi()["paths"]["/graphql"]
assert "post" in app.openapi()["paths"]["/graphql"]
def test_graphql_router_with_tags():
from fastapi import FastAPI
from strawberry.fastapi import GraphQLRouter
app = FastAPI()
schema = strawberry.Schema(query=Query)
graphql_app = GraphQLRouter[None, None](schema, tags=["abc"])
app.include_router(graphql_app, prefix="/graphql")
assert "abc" in app.openapi()["paths"]["/graphql"]["get"]["tags"]
assert "abc" in app.openapi()["paths"]["/graphql"]["post"]["tags"]
|