Skip to content

Commit 547949b

Browse files
committed
Deepen introspection query
Related GraphQL-js commit: graphql/graphql-js@0b72e70
1 parent 41ef80f commit 547949b

File tree

2 files changed

+65
-41
lines changed

2 files changed

+65
-41
lines changed

graphql/utils/introspection_query.py

Lines changed: 54 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,90 @@
11
introspection_query = '''
2-
query IntrospectionQuery {
2+
query IntrospectionQuery {
33
__schema {
4-
queryType { name }
5-
mutationType { name }
6-
subscriptionType { name }
7-
types {
8-
...FullType
9-
}
10-
directives {
11-
name
12-
description
13-
locations
14-
args {
15-
...InputValue
16-
}
4+
queryType { name }
5+
mutationType { name }
6+
subscriptionType { name }
7+
types {
8+
...FullType
9+
}
10+
directives {
11+
name
12+
description
13+
locations
14+
args {
15+
...InputValue
1716
}
17+
}
1818
}
19-
}
20-
fragment FullType on __Type {
19+
}
20+
fragment FullType on __Type {
2121
kind
2222
name
2323
description
2424
fields(includeDeprecated: true) {
25-
name
26-
description
27-
args {
28-
...InputValue
29-
}
30-
type {
31-
...TypeRef
32-
}
33-
isDeprecated
34-
deprecationReason
25+
name
26+
description
27+
args {
28+
...InputValue
29+
}
30+
type {
31+
...TypeRef
32+
}
33+
isDeprecated
34+
deprecationReason
3535
}
3636
inputFields {
37-
...InputValue
37+
...InputValue
3838
}
3939
interfaces {
40-
...TypeRef
40+
...TypeRef
4141
}
4242
enumValues(includeDeprecated: true) {
43-
name
44-
description
45-
isDeprecated
46-
deprecationReason
43+
name
44+
description
45+
isDeprecated
46+
deprecationReason
4747
}
4848
possibleTypes {
49-
...TypeRef
49+
...TypeRef
5050
}
51-
}
52-
fragment InputValue on __InputValue {
51+
}
52+
fragment InputValue on __InputValue {
5353
name
5454
description
5555
type { ...TypeRef }
5656
defaultValue
57-
}
58-
fragment TypeRef on __Type {
57+
}
58+
fragment TypeRef on __Type {
5959
kind
6060
name
6161
ofType {
62+
kind
63+
name
64+
ofType {
6265
kind
6366
name
6467
ofType {
68+
kind
69+
name
70+
ofType {
6571
kind
6672
name
6773
ofType {
74+
kind
75+
name
76+
ofType {
6877
kind
6978
name
79+
ofType {
80+
kind
81+
name
82+
}
83+
}
7084
}
85+
}
7186
}
87+
}
7288
}
73-
}
89+
}
7490
'''

graphql/utils/tests/test_build_client_schema.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -615,7 +615,11 @@ def test_fails_on_very_deep_lists():
615615
name='Query',
616616
fields={
617617
'foo': GraphQLField(
618-
GraphQLList(GraphQLList(GraphQLList(GraphQLList(GraphQLString))))
618+
GraphQLList(GraphQLList(GraphQLList(GraphQLList(
619+
GraphQLList(GraphQLList(GraphQLList(GraphQLList(
620+
GraphQLList(GraphQLString)
621+
))))
622+
))))
619623
)
620624
}
621625
)
@@ -629,13 +633,17 @@ def test_fails_on_very_deep_lists():
629633
assert str(excinfo.value) == 'Decorated type deeper than introspection query.'
630634

631635

632-
def test_fails_on_a_deep_non_null():
636+
def test_fails_on_a_very_deep_non_null():
633637
schema = GraphQLSchema(
634638
query=GraphQLObjectType(
635639
name='Query',
636640
fields={
637641
'foo': GraphQLField(
638-
GraphQLList(GraphQLList(GraphQLList(GraphQLNonNull(GraphQLString))))
642+
GraphQLList(GraphQLList(GraphQLList(GraphQLList(
643+
GraphQLList(GraphQLList(GraphQLList(GraphQLList(
644+
GraphQLNonNull(GraphQLString)
645+
))))
646+
))))
639647
)
640648
}
641649
)

0 commit comments

Comments
 (0)