@@ -216,3 +216,47 @@ def test_code():
216
216
sample_transport .execute (query )
217
217
218
218
await run_sync_test (event_loop , server , test_code )
219
+
220
+
221
+ query1_server_answer_with_extensions = (
222
+ '{"data":{"continents":['
223
+ '{"code":"AF","name":"Africa"},{"code":"AN","name":"Antarctica"},'
224
+ '{"code":"AS","name":"Asia"},{"code":"EU","name":"Europe"},'
225
+ '{"code":"NA","name":"North America"},{"code":"OC","name":"Oceania"},'
226
+ '{"code":"SA","name":"South America"}]},'
227
+ '"extensions": {"key1": "val1"}'
228
+ "}"
229
+ )
230
+
231
+
232
+ @pytest .mark .aiohttp
233
+ @pytest .mark .asyncio
234
+ async def test_requests_query_with_extensions (
235
+ event_loop , aiohttp_server , run_sync_test
236
+ ):
237
+ from aiohttp import web
238
+ from gql .transport .requests import RequestsHTTPTransport
239
+
240
+ async def handler (request ):
241
+ return web .Response (
242
+ text = query1_server_answer_with_extensions , content_type = "application/json"
243
+ )
244
+
245
+ app = web .Application ()
246
+ app .router .add_route ("POST" , "/" , handler )
247
+ server = await aiohttp_server (app )
248
+
249
+ url = server .make_url ("/" )
250
+
251
+ def test_code ():
252
+ sample_transport = RequestsHTTPTransport (url = url )
253
+
254
+ with Client (transport = sample_transport ,) as session :
255
+
256
+ query = gql (query1_str )
257
+
258
+ execution_result = session ._execute (query )
259
+
260
+ assert execution_result .extensions ["key1" ] == "val1"
261
+
262
+ await run_sync_test (event_loop , server , test_code )
0 commit comments