Skip to content

Commit e8dafc5

Browse files
committed
Fixed all tests
1 parent b48b374 commit e8dafc5

File tree

2 files changed

+107
-107
lines changed

2 files changed

+107
-107
lines changed

graphql/execution/querybuilder/resolver.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def on_complete_resolver(on_error, __func, exe_context, info, __resolver, *args,
3030
return __func(result)
3131

3232

33-
def complete_list_value(inner_resolver, exe_context, info, result):
33+
def complete_list_value(inner_resolver, exe_context, info, on_error, result):
3434
if result is None:
3535
return None
3636

@@ -40,21 +40,21 @@ def complete_list_value(inner_resolver, exe_context, info, result):
4040

4141
completed_results = []
4242
contains_promise = False
43-
for item in result:
44-
completed_item = inner_resolver(item)
45-
if not contains_promise and is_promise(completed_item):
46-
contains_promise = True
47-
48-
completed_results.append(completed_item)
43+
try:
44+
for item in result:
45+
completed_item = inner_resolver(item)
46+
if not contains_promise and is_promise(completed_item):
47+
contains_promise = True
4948

50-
return Promise.all(completed_results) if contains_promise else completed_results
49+
completed_results.append(completed_item)
5150

51+
return Promise.all(completed_results).catch(on_error) if contains_promise else completed_results
52+
except Exception, e:
53+
on_error(e)
5254

5355

5456
def complete_nonnull_value(exe_context, info, result):
55-
print 'complete_nonnull_value', result, result is None
5657
if result is None:
57-
print 'b'
5858
raise GraphQLError(
5959
'Cannot return null for non-nullable field {}.{}.'.format(info.parent_type, info.field_name),
6060
info.field_asts
@@ -151,6 +151,6 @@ def type_resolver_leaf(return_type, resolver, exe_context, info, catch_error):
151151
def type_resolver_list(return_type, resolver, fragment, exe_context, info, catch_error):
152152
item_type = return_type.of_type
153153
inner_resolver = type_resolver(item_type, lambda item: item, fragment, exe_context, info, catch_error=True)
154-
list_complete = partial(complete_list_value, inner_resolver, exe_context, info)
155154
on_resolve_error = partial(on_error, exe_context, info, catch_error)
155+
list_complete = partial(complete_list_value, inner_resolver, exe_context, info, on_resolve_error)
156156
return partial(on_complete_resolver, on_resolve_error, list_complete, exe_context, info, resolver)

graphql/execution/querybuilder/tests/test_lists.py

Lines changed: 96 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -113,99 +113,99 @@ class Test_NotNullListOfT_Array_Promise_T: # [T]! Promise<Array<T>>>
113113
})
114114

115115

116-
# class TestListOfNotNullT_Array_T: # [T!] Array<T>
117-
# type = GraphQLList(GraphQLNonNull(GraphQLInt))
118-
119-
# test_contains_values = check([1, 2], {'data': {'nest': {'test': [1, 2]}}})
120-
# test_contains_null = check([1, None, 2], {
121-
# 'data': {'nest': {'test': None}},
122-
# 'errors': [{'locations': [{'column': 10, 'line': 1}],
123-
# 'message': 'Cannot return null for non-nullable field DataType.test.'}]
124-
# })
125-
# test_returns_null = check(None, {'data': {'nest': {'test': None}}})
126-
127-
128-
# class TestListOfNotNullT_Promise_Array_T: # [T!] Promise<Array<T>>
129-
# type = GraphQLList(GraphQLNonNull(GraphQLInt))
130-
131-
# test_contains_value = check(resolved([1, 2]), {'data': {'nest': {'test': [1, 2]}}})
132-
# test_contains_null = check(resolved([1, None, 2]), {
133-
# 'data': {'nest': {'test': None}},
134-
# 'errors': [{'locations': [{'column': 10, 'line': 1}],
135-
# 'message': 'Cannot return null for non-nullable field DataType.test.'}]
136-
# })
137-
138-
# test_returns_null = check(resolved(None), {'data': {'nest': {'test': None}}})
139-
140-
# test_rejected = check(lambda: rejected(Exception('bad')), {
141-
# 'data': {'nest': {'test': None}},
142-
# 'errors': [{'locations': [{'column': 10, 'line': 1}], 'message': 'bad'}]
143-
# })
144-
145-
146-
# class TestListOfNotNullT_Array_Promise_T: # [T!] Array<Promise<T>>
147-
# type = GraphQLList(GraphQLNonNull(GraphQLInt))
148-
149-
# test_contains_values = check([resolved(1), resolved(2)], {'data': {'nest': {'test': [1, 2]}}})
150-
# test_contains_null = check([resolved(1), resolved(None), resolved(2)], {
151-
# 'data': {'nest': {'test': None}},
152-
# 'errors': [{'locations': [{'column': 10, 'line': 1}],
153-
# 'message': 'Cannot return null for non-nullable field DataType.test.'}]
154-
# })
155-
# test_contains_reject = check(lambda: [resolved(1), rejected(Exception('bad')), resolved(2)], {
156-
# 'data': {'nest': {'test': None}},
157-
# 'errors': [{'locations': [{'column': 10, 'line': 1}], 'message': 'bad'}]
158-
# })
159-
160-
161-
# class TestNotNullListOfNotNullT_Array_T: # [T!]! Array<T>
162-
# type = GraphQLNonNull(GraphQLList(GraphQLNonNull(GraphQLInt)))
163-
164-
# test_contains_values = check([1, 2], {'data': {'nest': {'test': [1, 2]}}})
165-
# test_contains_null = check([1, None, 2], {
166-
# 'data': {'nest': None},
167-
# 'errors': [{'locations': [{'column': 10, 'line': 1}],
168-
# 'message': 'Cannot return null for non-nullable field DataType.test.'}]
169-
# })
170-
# test_returns_null = check(None, {
171-
# 'data': {'nest': None},
172-
# 'errors': [{'locations': [{'column': 10, 'line': 1}],
173-
# 'message': 'Cannot return null for non-nullable field DataType.test.'}]
174-
# })
175-
176-
177-
# class TestNotNullListOfNotNullT_Promise_Array_T: # [T!]! Promise<Array<T>>
178-
# type = GraphQLNonNull(GraphQLList(GraphQLNonNull(GraphQLInt)))
179-
180-
# test_contains_value = check(resolved([1, 2]), {'data': {'nest': {'test': [1, 2]}}})
181-
# test_contains_null = check(resolved([1, None, 2]), {
182-
# 'data': {'nest': None},
183-
# 'errors': [{'locations': [{'column': 10, 'line': 1}],
184-
# 'message': 'Cannot return null for non-nullable field DataType.test.'}]
185-
# })
186-
187-
# test_returns_null = check(resolved(None), {
188-
# 'data': {'nest': None},
189-
# 'errors': [{'locations': [{'column': 10, 'line': 1}],
190-
# 'message': 'Cannot return null for non-nullable field DataType.test.'}]
191-
# })
192-
193-
# test_rejected = check(lambda: rejected(Exception('bad')), {
194-
# 'data': {'nest': None},
195-
# 'errors': [{'locations': [{'column': 10, 'line': 1}], 'message': 'bad'}]
196-
# })
197-
198-
199-
# class TestNotNullListOfNotNullT_Array_Promise_T: # [T!]! Array<Promise<T>>
200-
# type = GraphQLNonNull(GraphQLList(GraphQLNonNull(GraphQLInt)))
201-
202-
# test_contains_values = check([resolved(1), resolved(2)], {'data': {'nest': {'test': [1, 2]}}})
203-
# test_contains_null = check([resolved(1), resolved(None), resolved(2)], {
204-
# 'data': {'nest': None},
205-
# 'errors': [{'locations': [{'column': 10, 'line': 1}],
206-
# 'message': 'Cannot return null for non-nullable field DataType.test.'}]
207-
# })
208-
# test_contains_reject = check(lambda: [resolved(1), rejected(Exception('bad')), resolved(2)], {
209-
# 'data': {'nest': None},
210-
# 'errors': [{'locations': [{'column': 10, 'line': 1}], 'message': 'bad'}]
211-
# })
116+
class TestListOfNotNullT_Array_T: # [T!] Array<T>
117+
type = GraphQLList(GraphQLNonNull(GraphQLInt))
118+
119+
test_contains_values = check([1, 2], {'data': {'nest': {'test': [1, 2]}}})
120+
test_contains_null = check([1, None, 2], {
121+
'data': {'nest': {'test': None}},
122+
'errors': [{'locations': [{'column': 10, 'line': 1}],
123+
'message': 'Cannot return null for non-nullable field DataType.test.'}]
124+
})
125+
test_returns_null = check(None, {'data': {'nest': {'test': None}}})
126+
127+
128+
class TestListOfNotNullT_Promise_Array_T: # [T!] Promise<Array<T>>
129+
type = GraphQLList(GraphQLNonNull(GraphQLInt))
130+
131+
test_contains_value = check(resolved([1, 2]), {'data': {'nest': {'test': [1, 2]}}})
132+
test_contains_null = check(resolved([1, None, 2]), {
133+
'data': {'nest': {'test': None}},
134+
'errors': [{'locations': [{'column': 10, 'line': 1}],
135+
'message': 'Cannot return null for non-nullable field DataType.test.'}]
136+
})
137+
138+
test_returns_null = check(resolved(None), {'data': {'nest': {'test': None}}})
139+
140+
test_rejected = check(lambda: rejected(Exception('bad')), {
141+
'data': {'nest': {'test': None}},
142+
'errors': [{'locations': [{'column': 10, 'line': 1}], 'message': 'bad'}]
143+
})
144+
145+
146+
class TestListOfNotNullT_Array_Promise_T: # [T!] Array<Promise<T>>
147+
type = GraphQLList(GraphQLNonNull(GraphQLInt))
148+
149+
test_contains_values = check([resolved(1), resolved(2)], {'data': {'nest': {'test': [1, 2]}}})
150+
test_contains_null = check([resolved(1), resolved(None), resolved(2)], {
151+
'data': {'nest': {'test': None}},
152+
'errors': [{'locations': [{'column': 10, 'line': 1}],
153+
'message': 'Cannot return null for non-nullable field DataType.test.'}]
154+
})
155+
test_contains_reject = check(lambda: [resolved(1), rejected(Exception('bad')), resolved(2)], {
156+
'data': {'nest': {'test': None}},
157+
'errors': [{'locations': [{'column': 10, 'line': 1}], 'message': 'bad'}]
158+
})
159+
160+
161+
class TestNotNullListOfNotNullT_Array_T: # [T!]! Array<T>
162+
type = GraphQLNonNull(GraphQLList(GraphQLNonNull(GraphQLInt)))
163+
164+
test_contains_values = check([1, 2], {'data': {'nest': {'test': [1, 2]}}})
165+
test_contains_null = check([1, None, 2], {
166+
'data': {'nest': None},
167+
'errors': [{'locations': [{'column': 10, 'line': 1}],
168+
'message': 'Cannot return null for non-nullable field DataType.test.'}]
169+
})
170+
test_returns_null = check(None, {
171+
'data': {'nest': None},
172+
'errors': [{'locations': [{'column': 10, 'line': 1}],
173+
'message': 'Cannot return null for non-nullable field DataType.test.'}]
174+
})
175+
176+
177+
class TestNotNullListOfNotNullT_Promise_Array_T: # [T!]! Promise<Array<T>>
178+
type = GraphQLNonNull(GraphQLList(GraphQLNonNull(GraphQLInt)))
179+
180+
test_contains_value = check(resolved([1, 2]), {'data': {'nest': {'test': [1, 2]}}})
181+
test_contains_null = check(resolved([1, None, 2]), {
182+
'data': {'nest': None},
183+
'errors': [{'locations': [{'column': 10, 'line': 1}],
184+
'message': 'Cannot return null for non-nullable field DataType.test.'}]
185+
})
186+
187+
test_returns_null = check(resolved(None), {
188+
'data': {'nest': None},
189+
'errors': [{'locations': [{'column': 10, 'line': 1}],
190+
'message': 'Cannot return null for non-nullable field DataType.test.'}]
191+
})
192+
193+
test_rejected = check(lambda: rejected(Exception('bad')), {
194+
'data': {'nest': None},
195+
'errors': [{'locations': [{'column': 10, 'line': 1}], 'message': 'bad'}]
196+
})
197+
198+
199+
class TestNotNullListOfNotNullT_Array_Promise_T: # [T!]! Array<Promise<T>>
200+
type = GraphQLNonNull(GraphQLList(GraphQLNonNull(GraphQLInt)))
201+
202+
test_contains_values = check([resolved(1), resolved(2)], {'data': {'nest': {'test': [1, 2]}}})
203+
test_contains_null = check([resolved(1), resolved(None), resolved(2)], {
204+
'data': {'nest': None},
205+
'errors': [{'locations': [{'column': 10, 'line': 1}],
206+
'message': 'Cannot return null for non-nullable field DataType.test.'}]
207+
})
208+
test_contains_reject = check(lambda: [resolved(1), rejected(Exception('bad')), resolved(2)], {
209+
'data': {'nest': None},
210+
'errors': [{'locations': [{'column': 10, 'line': 1}], 'message': 'bad'}]
211+
})

0 commit comments

Comments
 (0)