1
1
import io
2
2
import json
3
+ from typing import Mapping
3
4
4
5
import pytest
5
6
@@ -45,17 +46,21 @@ async def test_aiohttp_query(event_loop, aiohttp_server):
45
46
from gql .transport .aiohttp import AIOHTTPTransport
46
47
47
48
async def handler (request ):
48
- return web .Response (text = query1_server_answer , content_type = "application/json" )
49
+ return web .Response (
50
+ text = query1_server_answer ,
51
+ content_type = "application/json" ,
52
+ headers = {"dummy" : "test1234" },
53
+ )
49
54
50
55
app = web .Application ()
51
56
app .router .add_route ("POST" , "/" , handler )
52
57
server = await aiohttp_server (app )
53
58
54
59
url = server .make_url ("/" )
55
60
56
- sample_transport = AIOHTTPTransport (url = url , timeout = 10 )
61
+ transport = AIOHTTPTransport (url = url , timeout = 10 )
57
62
58
- async with Client (transport = sample_transport , ) as session :
63
+ async with Client (transport = transport ) as session :
59
64
60
65
query = gql (query1_str )
61
66
@@ -68,6 +73,11 @@ async def handler(request):
68
73
69
74
assert africa ["code" ] == "AF"
70
75
76
+ # Checking response headers are saved in the transport
77
+ assert hasattr (transport , "response_headers" )
78
+ assert isinstance (transport .response_headers , Mapping )
79
+ assert transport .response_headers ["dummy" ] == "test1234"
80
+
71
81
72
82
@pytest .mark .asyncio
73
83
async def test_aiohttp_ignore_backend_content_type (event_loop , aiohttp_server ):
@@ -83,9 +93,9 @@ async def handler(request):
83
93
84
94
url = server .make_url ("/" )
85
95
86
- sample_transport = AIOHTTPTransport (url = url , timeout = 10 )
96
+ transport = AIOHTTPTransport (url = url , timeout = 10 )
87
97
88
- async with Client (transport = sample_transport , ) as session :
98
+ async with Client (transport = transport ) as session :
89
99
90
100
query = gql (query1_str )
91
101
@@ -115,9 +125,9 @@ async def handler(request):
115
125
116
126
url = server .make_url ("/" )
117
127
118
- sample_transport = AIOHTTPTransport (url = url , cookies = {"cookie1" : "val1" })
128
+ transport = AIOHTTPTransport (url = url , cookies = {"cookie1" : "val1" })
119
129
120
- async with Client (transport = sample_transport , ) as session :
130
+ async with Client (transport = transport ) as session :
121
131
122
132
query = gql (query1_str )
123
133
@@ -150,9 +160,9 @@ async def handler(request):
150
160
151
161
url = server .make_url ("/" )
152
162
153
- sample_transport = AIOHTTPTransport (url = url )
163
+ transport = AIOHTTPTransport (url = url )
154
164
155
- async with Client (transport = sample_transport , ) as session :
165
+ async with Client (transport = transport ) as session :
156
166
157
167
query = gql (query1_str )
158
168
@@ -177,9 +187,9 @@ async def handler(request):
177
187
178
188
url = server .make_url ("/" )
179
189
180
- sample_transport = AIOHTTPTransport (url = url )
190
+ transport = AIOHTTPTransport (url = url )
181
191
182
- async with Client (transport = sample_transport , ) as session :
192
+ async with Client (transport = transport ) as session :
183
193
184
194
query = gql (query1_str )
185
195
@@ -208,9 +218,9 @@ async def handler(request):
208
218
209
219
url = server .make_url ("/" )
210
220
211
- sample_transport = AIOHTTPTransport (url = url )
221
+ transport = AIOHTTPTransport (url = url )
212
222
213
- async with Client (transport = sample_transport , ) as session :
223
+ async with Client (transport = transport ) as session :
214
224
215
225
query = gql (query1_str )
216
226
@@ -259,9 +269,9 @@ async def handler(request):
259
269
260
270
url = server .make_url ("/" )
261
271
262
- sample_transport = AIOHTTPTransport (url = url )
272
+ transport = AIOHTTPTransport (url = url )
263
273
264
- async with Client (transport = sample_transport , ) as session :
274
+ async with Client (transport = transport ) as session :
265
275
266
276
query = gql (query1_str )
267
277
@@ -285,9 +295,9 @@ async def handler(request):
285
295
286
296
url = server .make_url ("/" )
287
297
288
- sample_transport = AIOHTTPTransport (url = url )
298
+ transport = AIOHTTPTransport (url = url )
289
299
290
- async with Client (transport = sample_transport , ) as session :
300
+ async with Client (transport = transport ) as session :
291
301
292
302
query = gql (query1_str )
293
303
@@ -310,9 +320,9 @@ async def handler(request):
310
320
311
321
url = server .make_url ("/" )
312
322
313
- sample_transport = AIOHTTPTransport (url = url , timeout = 10 )
323
+ transport = AIOHTTPTransport (url = url , timeout = 10 )
314
324
315
- async with Client (transport = sample_transport , ) as session :
325
+ async with Client (transport = transport ) as session :
316
326
317
327
with pytest .raises (TransportAlreadyConnected ):
318
328
await session .transport .connect ()
@@ -332,12 +342,12 @@ async def handler(request):
332
342
333
343
url = server .make_url ("/" )
334
344
335
- sample_transport = AIOHTTPTransport (url = url , timeout = 10 )
345
+ transport = AIOHTTPTransport (url = url , timeout = 10 )
336
346
337
347
query = gql (query1_str )
338
348
339
349
with pytest .raises (TransportClosed ):
340
- await sample_transport .execute (query )
350
+ await transport .execute (query )
341
351
342
352
343
353
@pytest .mark .asyncio
@@ -358,11 +368,11 @@ async def handler(request):
358
368
from aiohttp import DummyCookieJar
359
369
360
370
jar = DummyCookieJar ()
361
- sample_transport = AIOHTTPTransport (
371
+ transport = AIOHTTPTransport (
362
372
url = url , timeout = 10 , client_session_args = {"version" : "1.1" , "cookie_jar" : jar }
363
373
)
364
374
365
- async with Client (transport = sample_transport , ) as session :
375
+ async with Client (transport = transport ) as session :
366
376
367
377
query = gql (query1_str )
368
378
@@ -401,9 +411,9 @@ async def handler(request):
401
411
402
412
url = server .make_url ("/" )
403
413
404
- sample_transport = AIOHTTPTransport (url = url , timeout = 10 )
414
+ transport = AIOHTTPTransport (url = url , timeout = 10 )
405
415
406
- async with Client (transport = sample_transport , ) as session :
416
+ async with Client (transport = transport ) as session :
407
417
408
418
params = {"code" : "EU" }
409
419
@@ -437,9 +447,9 @@ async def handler(request):
437
447
438
448
url = server .make_url ("/" )
439
449
440
- sample_transport = AIOHTTPTransport (url = url , timeout = 10 )
450
+ transport = AIOHTTPTransport (url = url , timeout = 10 )
441
451
442
- async with Client (transport = sample_transport , ) as session :
452
+ async with Client (transport = transport ) as session :
443
453
444
454
params = {"code" : "EU" }
445
455
@@ -470,9 +480,9 @@ async def handler(request):
470
480
url = server .make_url ("/" )
471
481
472
482
def test_code ():
473
- sample_transport = AIOHTTPTransport (url = url )
483
+ transport = AIOHTTPTransport (url = url )
474
484
475
- client = Client (transport = sample_transport )
485
+ client = Client (transport = transport )
476
486
477
487
query = gql (query1_str )
478
488
@@ -498,9 +508,9 @@ async def handler(request):
498
508
url = server .make_url ("/" )
499
509
500
510
def test_code ():
501
- sample_transport = AIOHTTPTransport (url = url )
511
+ transport = AIOHTTPTransport (url = url )
502
512
503
- client = Client (transport = sample_transport )
513
+ client = Client (transport = transport )
504
514
505
515
query = gql (query1_str )
506
516
@@ -580,11 +590,11 @@ async def test_aiohttp_file_upload(event_loop, aiohttp_server):
580
590
581
591
url = server .make_url ("/" )
582
592
583
- sample_transport = AIOHTTPTransport (url = url , timeout = 10 )
593
+ transport = AIOHTTPTransport (url = url , timeout = 10 )
584
594
585
595
with TemporaryFile (file_1_content ) as test_file :
586
596
587
- async with Client (transport = sample_transport , ) as session :
597
+ async with Client (transport = transport ) as session :
588
598
589
599
query = gql (file_upload_mutation_1 )
590
600
@@ -618,11 +628,11 @@ async def test_aiohttp_file_upload_without_session(
618
628
url = server .make_url ("/" )
619
629
620
630
def test_code ():
621
- sample_transport = AIOHTTPTransport (url = url , timeout = 10 )
631
+ transport = AIOHTTPTransport (url = url , timeout = 10 )
622
632
623
633
with TemporaryFile (file_1_content ) as test_file :
624
634
625
- client = Client (transport = sample_transport , )
635
+ client = Client (transport = transport )
626
636
627
637
query = gql (file_upload_mutation_1 )
628
638
@@ -685,11 +695,11 @@ async def test_aiohttp_binary_file_upload(event_loop, aiohttp_server):
685
695
686
696
url = server .make_url ("/" )
687
697
688
- sample_transport = AIOHTTPTransport (url = url , timeout = 10 )
698
+ transport = AIOHTTPTransport (url = url , timeout = 10 )
689
699
690
700
with TemporaryFile (binary_file_content ) as test_file :
691
701
692
- async with Client (transport = sample_transport , ) as session :
702
+ async with Client (transport = transport ) as session :
693
703
694
704
query = gql (file_upload_mutation_1 )
695
705
@@ -728,9 +738,9 @@ async def binary_data_handler(request):
728
738
url = server .make_url ("/" )
729
739
binary_data_url = server .make_url ("/binary_data" )
730
740
731
- sample_transport = AIOHTTPTransport (url = url , timeout = 10 )
741
+ transport = AIOHTTPTransport (url = url , timeout = 10 )
732
742
733
- async with Client (transport = sample_transport ) as session :
743
+ async with Client (transport = transport ) as session :
734
744
query = gql (file_upload_mutation_1 )
735
745
async with ClientSession () as client :
736
746
async with client .get (binary_data_url ) as resp :
@@ -758,11 +768,11 @@ async def test_aiohttp_async_generator_upload(event_loop, aiohttp_server):
758
768
759
769
url = server .make_url ("/" )
760
770
761
- sample_transport = AIOHTTPTransport (url = url , timeout = 10 )
771
+ transport = AIOHTTPTransport (url = url , timeout = 10 )
762
772
763
773
with TemporaryFile (binary_file_content ) as test_file :
764
774
765
- async with Client (transport = sample_transport , ) as session :
775
+ async with Client (transport = transport ) as session :
766
776
767
777
query = gql (file_upload_mutation_1 )
768
778
@@ -851,12 +861,12 @@ async def handler(request):
851
861
852
862
url = server .make_url ("/" )
853
863
854
- sample_transport = AIOHTTPTransport (url = url , timeout = 10 )
864
+ transport = AIOHTTPTransport (url = url , timeout = 10 )
855
865
856
866
with TemporaryFile (file_1_content ) as test_file_1 :
857
867
with TemporaryFile (file_2_content ) as test_file_2 :
858
868
859
- async with Client (transport = sample_transport , ) as session :
869
+ async with Client (transport = transport ) as session :
860
870
861
871
query = gql (file_upload_mutation_2 )
862
872
@@ -941,12 +951,12 @@ async def handler(request):
941
951
942
952
url = server .make_url ("/" )
943
953
944
- sample_transport = AIOHTTPTransport (url = url , timeout = 10 )
954
+ transport = AIOHTTPTransport (url = url , timeout = 10 )
945
955
946
956
with TemporaryFile (file_1_content ) as test_file_1 :
947
957
with TemporaryFile (file_2_content ) as test_file_2 :
948
958
949
- async with Client (transport = sample_transport , ) as session :
959
+ async with Client (transport = transport ) as session :
950
960
951
961
query = gql (file_upload_mutation_3 )
952
962
@@ -1098,9 +1108,9 @@ async def handler(request):
1098
1108
1099
1109
url = server .make_url ("/" )
1100
1110
1101
- sample_transport = AIOHTTPTransport (url = url , timeout = 10 )
1111
+ transport = AIOHTTPTransport (url = url , timeout = 10 )
1102
1112
1103
- async with Client (transport = sample_transport , ) as session :
1113
+ async with Client (transport = transport ) as session :
1104
1114
1105
1115
query = gql (query1_str )
1106
1116
@@ -1126,11 +1136,11 @@ async def handler(request):
1126
1136
1127
1137
assert str (url ).startswith ("https://" )
1128
1138
1129
- sample_transport = AIOHTTPTransport (
1139
+ transport = AIOHTTPTransport (
1130
1140
url = url , timeout = 10 , ssl_close_timeout = ssl_close_timeout
1131
1141
)
1132
1142
1133
- async with Client (transport = sample_transport , ) as session :
1143
+ async with Client (transport = transport ) as session :
1134
1144
1135
1145
query = gql (query1_str )
1136
1146
0 commit comments