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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
|
import textwrap
from strawberry.schema_codegen import codegen
def test_adds_schema_if_schema_is_defined():
schema = """
type Root {
hello: String!
}
type RootMutation {
hello: String!
}
type RootSubscription {
hello: String!
}
schema {
query: Root
mutation: RootMutation
subscription: RootSubscription
}
"""
expected = textwrap.dedent(
"""
import strawberry
@strawberry.type
class Root:
hello: str
@strawberry.type
class RootMutation:
hello: str
@strawberry.type
class RootSubscription:
hello: str
schema = strawberry.Schema(query=Root, mutation=RootMutation, subscription=RootSubscription)
"""
).strip()
assert codegen(schema).strip() == expected
def test_adds_schema_if_has_query():
schema = """
type Query {
hello: String!
}
"""
expected = textwrap.dedent(
"""
import strawberry
@strawberry.type
class Query:
hello: str
schema = strawberry.Schema(query=Query)
"""
).strip()
assert codegen(schema).strip() == expected
def test_adds_schema_if_has_mutation():
schema = """
type Mutation {
hello: String!
}
"""
expected = textwrap.dedent(
"""
import strawberry
@strawberry.type
class Mutation:
hello: str
schema = strawberry.Schema(mutation=Mutation)
"""
).strip()
assert codegen(schema).strip() == expected
def test_adds_schema_if_has_subscription():
schema = """
type Subscription {
hello: String!
}
"""
expected = textwrap.dedent(
"""
import strawberry
@strawberry.type
class Subscription:
hello: str
schema = strawberry.Schema(subscription=Subscription)
"""
).strip()
assert codegen(schema).strip() == expected
|