Skip to content

Commit 08073df

Browse files
committed
Fixup: add Experimental note to variable-directive tests
Replicates graphql/graphql-js@1ac0bf8
1 parent c3b9ca3 commit 08073df

File tree

6 files changed

+40
-44
lines changed

6 files changed

+40
-44
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ a query language for APIs created by Facebook.
1313

1414
The current version 1.0.0rc2 of GraphQL-core-next is up-to-date with GraphQL.js
1515
version 14.0.0rc2. All parts of the API are covered by an extensive test
16-
suite of currently 1551 unit tests.
16+
suite of currently 1552 unit tests.
1717

1818

1919
## Documentation

tests/language/test_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def parses_constant_default_values():
8282
'query Foo($x: Complex = { a: { b: [ $var ] } }) { field }',
8383
'Unexpected $', (1, 37))
8484

85-
def parses_variable_definition_directives():
85+
def experimental_parses_variable_definition_directives():
8686
parse('query Foo($x: Boolean = false @bar) { field }',
8787
experimental_variable_definition_directives=True)
8888

tests/language/test_printer.py

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,25 @@ def correctly_prints_mutation_operation_without_name():
4040

4141
def correctly_prints_query_operation_with_artifacts():
4242
query_ast_with_artifacts = parse(
43-
'query ($foo: TestType) @testDirective { id, name }',
44-
experimental_variable_definition_directives=True)
43+
'query ($foo: TestType) @testDirective { id, name }')
4544
assert print_ast(query_ast_with_artifacts) == dedent("""
4645
query ($foo: TestType) @testDirective {
4746
id
4847
name
4948
}
5049
""")
5150

52-
def correcty_prints_query_operation_with_variable_directive():
51+
def correctly_prints_mutation_operation_with_artifacts():
52+
mutation_ast_with_artifacts = parse(
53+
'mutation ($foo: TestType) @testDirective { id, name }')
54+
assert print_ast(mutation_ast_with_artifacts) == dedent("""
55+
mutation ($foo: TestType) @testDirective {
56+
id
57+
name
58+
}
59+
""")
60+
61+
def experimental_prints_query_with_variable_directives():
5362
query_ast_with_variable_directive = parse(
5463
'query ($foo: TestType = {a: 123}'
5564
' @testDirective(if: true) @test) { id }',
@@ -60,13 +69,15 @@ def correcty_prints_query_operation_with_variable_directive():
6069
}
6170
""")
6271

63-
def correctly_prints_mutation_operation_with_artifacts():
64-
mutation_ast_with_artifacts = parse(
65-
'mutation ($foo: TestType) @testDirective { id, name }')
66-
assert print_ast(mutation_ast_with_artifacts) == dedent("""
67-
mutation ($foo: TestType) @testDirective {
72+
def experimental_prints_fragment_with_variable_directives():
73+
query_ast_with_variable_directive = parse(
74+
'fragment Foo($foo: TestType @test) on TestType'
75+
' @testDirective { id }',
76+
experimental_fragment_variables=True,
77+
experimental_variable_definition_directives=True)
78+
assert print_ast(query_ast_with_variable_directive) == dedent("""
79+
fragment Foo($foo: TestType @test) on TestType @testDirective {
6880
id
69-
name
7081
}
7182
""")
7283

tests/validation/harness.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -203,24 +203,24 @@ def raise_type_error(message):
203203
types=[Cat, Dog, Human, Alien])
204204

205205

206-
def expect_valid(schema, rule, query_string):
207-
errors = validate(schema, parse(query_string), [rule])
206+
def expect_valid(schema, rule, query_string, **options):
207+
errors = validate(schema, parse(query_string, **options), [rule])
208208
assert errors == [], 'Should validate'
209209

210210

211-
def expect_invalid(schema, rule, query_string, expected_errors):
212-
errors = validate(schema, parse(query_string), [rule])
211+
def expect_invalid(schema, rule, query_string, expected_errors, **options):
212+
errors = validate(schema, parse(query_string, **options), [rule])
213213
assert errors, 'Should not validate'
214214
assert errors == expected_errors
215215
return errors
216216

217217

218-
def expect_passes_rule(rule, query_string):
219-
expect_valid(test_schema, rule, query_string)
218+
def expect_passes_rule(rule, query_string, **options):
219+
expect_valid(test_schema, rule, query_string, **options)
220220

221221

222-
def expect_fails_rule(rule, query_string, errors):
223-
return expect_invalid(test_schema, rule, query_string, errors)
222+
def expect_fails_rule(rule, query_string, errors, **options):
223+
return expect_invalid(test_schema, rule, query_string, errors, **options)
224224

225225

226226
def expect_passes_rule_with_schema(schema, rule, query_string):

tests/validation/test_known_directives.py

Lines changed: 10 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
from functools import partial
22

3-
from graphql.language import parse
43
from graphql.utilities import build_schema
5-
from graphql.validation import validate, KnownDirectivesRule
4+
from graphql.validation import KnownDirectivesRule
65
from graphql.validation.rules.known_directives import (
76
unknown_directive_message, misplaced_directive_message)
87

98
from .harness import (
10-
expect_fails_rule, expect_passes_rule, expect_sdl_errors_from_rule,
11-
test_schema)
12-
9+
expect_fails_rule, expect_passes_rule, expect_sdl_errors_from_rule)
1310

1411
expect_sdl_errors = partial(
1512
expect_sdl_errors_from_rule, KnownDirectivesRule)
@@ -112,17 +109,12 @@ def with_well_placed_directives():
112109
}
113110
""")
114111

115-
def with_well_placed_variable_definition_directives():
116-
# Need to parse with experimental flag
117-
query_string = """
112+
def experimental_with_well_placed_variable_definition_directive():
113+
expect_passes_rule(KnownDirectivesRule, """
118114
query Foo($var: Boolean @onVariableDefinition) {
119115
name
120116
}
121-
"""
122-
errors = validate(test_schema, parse(
123-
query_string, experimental_variable_definition_directives=True),
124-
[KnownDirectivesRule])
125-
assert errors == [], 'Should validate'
117+
""", experimental_variable_definition_directives=True)
126118

127119
def with_misplaced_directives():
128120
expect_fails_rule(KnownDirectivesRule, """
@@ -141,20 +133,14 @@ def with_misplaced_directives():
141133
misplaced_directive('onQuery', 'mutation', 7, 26),
142134
])
143135

144-
def with_misplaced_variable_definition_directives():
145-
# Need to parse with experimental flag
146-
query_string = """
136+
def experimental_with_misplaced_variable_definition_directive():
137+
expect_fails_rule(KnownDirectivesRule, """
147138
query Foo($var: Boolean @onField) {
148139
name
149140
}
150-
"""
151-
errors = validate(test_schema, parse(
152-
query_string, experimental_variable_definition_directives=True),
153-
[KnownDirectivesRule])
154-
expected_errors = [
155-
misplaced_directive('onField', 'variable definition', 2, 37)]
156-
assert len(errors) >= 1, 'Should not validate'
157-
assert errors == expected_errors
141+
""", [
142+
misplaced_directive('onField', 'variable definition', 2, 37)],
143+
experimental_variable_definition_directives=True)
158144

159145
def describe_within_sdl():
160146

tests/validation/test_unique_directives_per_location.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
from .harness import (
88
expect_fails_rule, expect_passes_rule, expect_sdl_errors_from_rule)
99

10-
1110
expect_sdl_errors = partial(
1211
expect_sdl_errors_from_rule, UniqueDirectivesPerLocationRule)
1312

0 commit comments

Comments
 (0)