Skip to content

Commit 544a7d5

Browse files
committed
Adding test for saving headers in AIOHTTPTransport
1 parent 24d9444 commit 544a7d5

File tree

1 file changed

+59
-49
lines changed

1 file changed

+59
-49
lines changed

tests/test_aiohttp.py

Lines changed: 59 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import io
22
import json
3+
from typing import Mapping
34

45
import pytest
56

@@ -45,17 +46,21 @@ async def test_aiohttp_query(event_loop, aiohttp_server):
4546
from gql.transport.aiohttp import AIOHTTPTransport
4647

4748
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+
)
4954

5055
app = web.Application()
5156
app.router.add_route("POST", "/", handler)
5257
server = await aiohttp_server(app)
5358

5459
url = server.make_url("/")
5560

56-
sample_transport = AIOHTTPTransport(url=url, timeout=10)
61+
transport = AIOHTTPTransport(url=url, timeout=10)
5762

58-
async with Client(transport=sample_transport,) as session:
63+
async with Client(transport=transport) as session:
5964

6065
query = gql(query1_str)
6166

@@ -68,6 +73,11 @@ async def handler(request):
6873

6974
assert africa["code"] == "AF"
7075

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+
7181

7282
@pytest.mark.asyncio
7383
async def test_aiohttp_ignore_backend_content_type(event_loop, aiohttp_server):
@@ -83,9 +93,9 @@ async def handler(request):
8393

8494
url = server.make_url("/")
8595

86-
sample_transport = AIOHTTPTransport(url=url, timeout=10)
96+
transport = AIOHTTPTransport(url=url, timeout=10)
8797

88-
async with Client(transport=sample_transport,) as session:
98+
async with Client(transport=transport) as session:
8999

90100
query = gql(query1_str)
91101

@@ -115,9 +125,9 @@ async def handler(request):
115125

116126
url = server.make_url("/")
117127

118-
sample_transport = AIOHTTPTransport(url=url, cookies={"cookie1": "val1"})
128+
transport = AIOHTTPTransport(url=url, cookies={"cookie1": "val1"})
119129

120-
async with Client(transport=sample_transport,) as session:
130+
async with Client(transport=transport) as session:
121131

122132
query = gql(query1_str)
123133

@@ -150,9 +160,9 @@ async def handler(request):
150160

151161
url = server.make_url("/")
152162

153-
sample_transport = AIOHTTPTransport(url=url)
163+
transport = AIOHTTPTransport(url=url)
154164

155-
async with Client(transport=sample_transport,) as session:
165+
async with Client(transport=transport) as session:
156166

157167
query = gql(query1_str)
158168

@@ -177,9 +187,9 @@ async def handler(request):
177187

178188
url = server.make_url("/")
179189

180-
sample_transport = AIOHTTPTransport(url=url)
190+
transport = AIOHTTPTransport(url=url)
181191

182-
async with Client(transport=sample_transport,) as session:
192+
async with Client(transport=transport) as session:
183193

184194
query = gql(query1_str)
185195

@@ -208,9 +218,9 @@ async def handler(request):
208218

209219
url = server.make_url("/")
210220

211-
sample_transport = AIOHTTPTransport(url=url)
221+
transport = AIOHTTPTransport(url=url)
212222

213-
async with Client(transport=sample_transport,) as session:
223+
async with Client(transport=transport) as session:
214224

215225
query = gql(query1_str)
216226

@@ -259,9 +269,9 @@ async def handler(request):
259269

260270
url = server.make_url("/")
261271

262-
sample_transport = AIOHTTPTransport(url=url)
272+
transport = AIOHTTPTransport(url=url)
263273

264-
async with Client(transport=sample_transport,) as session:
274+
async with Client(transport=transport) as session:
265275

266276
query = gql(query1_str)
267277

@@ -285,9 +295,9 @@ async def handler(request):
285295

286296
url = server.make_url("/")
287297

288-
sample_transport = AIOHTTPTransport(url=url)
298+
transport = AIOHTTPTransport(url=url)
289299

290-
async with Client(transport=sample_transport,) as session:
300+
async with Client(transport=transport) as session:
291301

292302
query = gql(query1_str)
293303

@@ -310,9 +320,9 @@ async def handler(request):
310320

311321
url = server.make_url("/")
312322

313-
sample_transport = AIOHTTPTransport(url=url, timeout=10)
323+
transport = AIOHTTPTransport(url=url, timeout=10)
314324

315-
async with Client(transport=sample_transport,) as session:
325+
async with Client(transport=transport) as session:
316326

317327
with pytest.raises(TransportAlreadyConnected):
318328
await session.transport.connect()
@@ -332,12 +342,12 @@ async def handler(request):
332342

333343
url = server.make_url("/")
334344

335-
sample_transport = AIOHTTPTransport(url=url, timeout=10)
345+
transport = AIOHTTPTransport(url=url, timeout=10)
336346

337347
query = gql(query1_str)
338348

339349
with pytest.raises(TransportClosed):
340-
await sample_transport.execute(query)
350+
await transport.execute(query)
341351

342352

343353
@pytest.mark.asyncio
@@ -358,11 +368,11 @@ async def handler(request):
358368
from aiohttp import DummyCookieJar
359369

360370
jar = DummyCookieJar()
361-
sample_transport = AIOHTTPTransport(
371+
transport = AIOHTTPTransport(
362372
url=url, timeout=10, client_session_args={"version": "1.1", "cookie_jar": jar}
363373
)
364374

365-
async with Client(transport=sample_transport,) as session:
375+
async with Client(transport=transport) as session:
366376

367377
query = gql(query1_str)
368378

@@ -401,9 +411,9 @@ async def handler(request):
401411

402412
url = server.make_url("/")
403413

404-
sample_transport = AIOHTTPTransport(url=url, timeout=10)
414+
transport = AIOHTTPTransport(url=url, timeout=10)
405415

406-
async with Client(transport=sample_transport,) as session:
416+
async with Client(transport=transport) as session:
407417

408418
params = {"code": "EU"}
409419

@@ -437,9 +447,9 @@ async def handler(request):
437447

438448
url = server.make_url("/")
439449

440-
sample_transport = AIOHTTPTransport(url=url, timeout=10)
450+
transport = AIOHTTPTransport(url=url, timeout=10)
441451

442-
async with Client(transport=sample_transport,) as session:
452+
async with Client(transport=transport) as session:
443453

444454
params = {"code": "EU"}
445455

@@ -470,9 +480,9 @@ async def handler(request):
470480
url = server.make_url("/")
471481

472482
def test_code():
473-
sample_transport = AIOHTTPTransport(url=url)
483+
transport = AIOHTTPTransport(url=url)
474484

475-
client = Client(transport=sample_transport)
485+
client = Client(transport=transport)
476486

477487
query = gql(query1_str)
478488

@@ -498,9 +508,9 @@ async def handler(request):
498508
url = server.make_url("/")
499509

500510
def test_code():
501-
sample_transport = AIOHTTPTransport(url=url)
511+
transport = AIOHTTPTransport(url=url)
502512

503-
client = Client(transport=sample_transport)
513+
client = Client(transport=transport)
504514

505515
query = gql(query1_str)
506516

@@ -580,11 +590,11 @@ async def test_aiohttp_file_upload(event_loop, aiohttp_server):
580590

581591
url = server.make_url("/")
582592

583-
sample_transport = AIOHTTPTransport(url=url, timeout=10)
593+
transport = AIOHTTPTransport(url=url, timeout=10)
584594

585595
with TemporaryFile(file_1_content) as test_file:
586596

587-
async with Client(transport=sample_transport,) as session:
597+
async with Client(transport=transport) as session:
588598

589599
query = gql(file_upload_mutation_1)
590600

@@ -618,11 +628,11 @@ async def test_aiohttp_file_upload_without_session(
618628
url = server.make_url("/")
619629

620630
def test_code():
621-
sample_transport = AIOHTTPTransport(url=url, timeout=10)
631+
transport = AIOHTTPTransport(url=url, timeout=10)
622632

623633
with TemporaryFile(file_1_content) as test_file:
624634

625-
client = Client(transport=sample_transport,)
635+
client = Client(transport=transport)
626636

627637
query = gql(file_upload_mutation_1)
628638

@@ -685,11 +695,11 @@ async def test_aiohttp_binary_file_upload(event_loop, aiohttp_server):
685695

686696
url = server.make_url("/")
687697

688-
sample_transport = AIOHTTPTransport(url=url, timeout=10)
698+
transport = AIOHTTPTransport(url=url, timeout=10)
689699

690700
with TemporaryFile(binary_file_content) as test_file:
691701

692-
async with Client(transport=sample_transport,) as session:
702+
async with Client(transport=transport) as session:
693703

694704
query = gql(file_upload_mutation_1)
695705

@@ -728,9 +738,9 @@ async def binary_data_handler(request):
728738
url = server.make_url("/")
729739
binary_data_url = server.make_url("/binary_data")
730740

731-
sample_transport = AIOHTTPTransport(url=url, timeout=10)
741+
transport = AIOHTTPTransport(url=url, timeout=10)
732742

733-
async with Client(transport=sample_transport) as session:
743+
async with Client(transport=transport) as session:
734744
query = gql(file_upload_mutation_1)
735745
async with ClientSession() as client:
736746
async with client.get(binary_data_url) as resp:
@@ -758,11 +768,11 @@ async def test_aiohttp_async_generator_upload(event_loop, aiohttp_server):
758768

759769
url = server.make_url("/")
760770

761-
sample_transport = AIOHTTPTransport(url=url, timeout=10)
771+
transport = AIOHTTPTransport(url=url, timeout=10)
762772

763773
with TemporaryFile(binary_file_content) as test_file:
764774

765-
async with Client(transport=sample_transport,) as session:
775+
async with Client(transport=transport) as session:
766776

767777
query = gql(file_upload_mutation_1)
768778

@@ -851,12 +861,12 @@ async def handler(request):
851861

852862
url = server.make_url("/")
853863

854-
sample_transport = AIOHTTPTransport(url=url, timeout=10)
864+
transport = AIOHTTPTransport(url=url, timeout=10)
855865

856866
with TemporaryFile(file_1_content) as test_file_1:
857867
with TemporaryFile(file_2_content) as test_file_2:
858868

859-
async with Client(transport=sample_transport,) as session:
869+
async with Client(transport=transport) as session:
860870

861871
query = gql(file_upload_mutation_2)
862872

@@ -941,12 +951,12 @@ async def handler(request):
941951

942952
url = server.make_url("/")
943953

944-
sample_transport = AIOHTTPTransport(url=url, timeout=10)
954+
transport = AIOHTTPTransport(url=url, timeout=10)
945955

946956
with TemporaryFile(file_1_content) as test_file_1:
947957
with TemporaryFile(file_2_content) as test_file_2:
948958

949-
async with Client(transport=sample_transport,) as session:
959+
async with Client(transport=transport) as session:
950960

951961
query = gql(file_upload_mutation_3)
952962

@@ -1098,9 +1108,9 @@ async def handler(request):
10981108

10991109
url = server.make_url("/")
11001110

1101-
sample_transport = AIOHTTPTransport(url=url, timeout=10)
1111+
transport = AIOHTTPTransport(url=url, timeout=10)
11021112

1103-
async with Client(transport=sample_transport,) as session:
1113+
async with Client(transport=transport) as session:
11041114

11051115
query = gql(query1_str)
11061116

@@ -1126,11 +1136,11 @@ async def handler(request):
11261136

11271137
assert str(url).startswith("https://")
11281138

1129-
sample_transport = AIOHTTPTransport(
1139+
transport = AIOHTTPTransport(
11301140
url=url, timeout=10, ssl_close_timeout=ssl_close_timeout
11311141
)
11321142

1133-
async with Client(transport=sample_transport,) as session:
1143+
async with Client(transport=transport) as session:
11341144

11351145
query = gql(query1_str)
11361146

0 commit comments

Comments
 (0)