Skip to content

Commit 18cd345

Browse files
authored
Update test_schema.py
1 parent 946c2a3 commit 18cd345

File tree

1 file changed

+1
-118
lines changed

1 file changed

+1
-118
lines changed

graphene/types/tests/test_schema.py

Lines changed: 1 addition & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from ..field import Field
88
from ..objecttype import ObjectType
99
from ..scalars import String
10-
from ..schema import Schema, UnforgivingExecutionContext
10+
from ..schema import Schema
1111

1212

1313
class MyOtherType(ObjectType):
@@ -69,120 +69,3 @@ def test_schema_requires_query_type():
6969
assert len(result.errors) == 1
7070
error = result.errors[0]
7171
assert error.message == "Query root type must be provided."
72-
73-
74-
class TestUnforgivingExecutionContext:
75-
@fixture
76-
def schema(self):
77-
class ErrorFieldsMixin:
78-
sanity_field = String()
79-
expected_error_field = String()
80-
unexpected_value_error_field = String()
81-
unexpected_type_error_field = String()
82-
unexpected_attribute_error_field = String()
83-
unexpected_key_error_field = String()
84-
85-
@staticmethod
86-
def resolve_sanity_field(obj, info):
87-
return "not an error"
88-
89-
@staticmethod
90-
def resolve_expected_error_field(obj, info):
91-
raise GraphQLError("expected error")
92-
93-
@staticmethod
94-
def resolve_unexpected_value_error_field(obj, info):
95-
raise ValueError("unexpected error")
96-
97-
@staticmethod
98-
def resolve_unexpected_type_error_field(obj, info):
99-
raise TypeError("unexpected error")
100-
101-
@staticmethod
102-
def resolve_unexpected_attribute_error_field(obj, info):
103-
raise AttributeError("unexpected error")
104-
105-
@staticmethod
106-
def resolve_unexpected_key_error_field(obj, info):
107-
return {}["fails"]
108-
109-
class NestedObject(ErrorFieldsMixin, ObjectType):
110-
pass
111-
112-
class MyQuery(ErrorFieldsMixin, ObjectType):
113-
nested_object = Field(NestedObject)
114-
nested_object_error = Field(NestedObject)
115-
116-
@staticmethod
117-
def resolve_nested_object(obj, info):
118-
return object()
119-
120-
@staticmethod
121-
def resolve_nested_object_error(obj, info):
122-
raise TypeError()
123-
124-
schema = Schema(query=MyQuery)
125-
return schema
126-
127-
def test_sanity_check(self, schema):
128-
# this should pass with no errors (sanity check)
129-
result = schema.execute(
130-
"query { sanityField }",
131-
execution_context_class=UnforgivingExecutionContext,
132-
)
133-
assert not result.errors
134-
assert result.data == {"sanityField": "not an error"}
135-
136-
def test_nested_sanity_check(self, schema):
137-
# this should pass with no errors (sanity check)
138-
result = schema.execute(
139-
r"query { nestedObject { sanityField } }",
140-
execution_context_class=UnforgivingExecutionContext,
141-
)
142-
assert not result.errors
143-
assert result.data == {"nestedObject": {"sanityField": "not an error"}}
144-
145-
def test_graphql_error(self, schema):
146-
result = schema.execute(
147-
"query { expectedErrorField }",
148-
execution_context_class=UnforgivingExecutionContext,
149-
)
150-
assert len(result.errors) == 1
151-
assert result.errors[0].message == "expected error"
152-
assert result.data == {"expectedErrorField": None}
153-
154-
def test_nested_graphql_error(self, schema):
155-
result = schema.execute(
156-
r"query { nestedObject { expectedErrorField } }",
157-
execution_context_class=UnforgivingExecutionContext,
158-
)
159-
assert len(result.errors) == 1
160-
assert result.errors[0].message == "expected error"
161-
assert result.data == {"nestedObject": {"expectedErrorField": None}}
162-
163-
@mark.parametrize(
164-
"field,exception",
165-
[
166-
("unexpectedValueErrorField", ValueError),
167-
("unexpectedTypeErrorField", TypeError),
168-
("unexpectedAttributeErrorField", AttributeError),
169-
("unexpectedKeyErrorField", KeyError),
170-
("nestedObject { unexpectedValueErrorField }", ValueError),
171-
("nestedObject { unexpectedTypeErrorField }", TypeError),
172-
("nestedObject { unexpectedAttributeErrorField }", AttributeError),
173-
("nestedObject { unexpectedKeyErrorField }", KeyError),
174-
("nestedObjectError { __typename }", TypeError),
175-
],
176-
)
177-
def test_unexpected_error(self, field, exception, schema):
178-
# FIXME: tests are failing currently because no exception
179-
# is being raised below. Instead, the errors are being propagated
180-
# to the `errors` array of the response. If this is intended
181-
# behaviour, we need to check if the error exists in the `errors`
182-
# array rather than checking if an exception is raised.
183-
with raises(exception):
184-
# no result, but the exception should be propagated
185-
schema.execute(
186-
f"query {{ {field} }}",
187-
execution_context_class=UnforgivingExecutionContext,
188-
)

0 commit comments

Comments
 (0)