Skip to content

Commit 9d81913

Browse files
committed
test for aio-libs#5156
1 parent 48de143 commit 9d81913

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

tests/test_resolver.py

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,20 @@ async def fake_query_result(result):
3434
return [FakeQueryResult(host=h) for h in result]
3535

3636

37-
def fake_addrinfo(hosts):
37+
def fake_addrinfo_raw(return_value):
3838
async def fake(*args, **kwargs):
39-
if not hosts:
39+
if not return_value:
4040
raise socket.gaierror
4141

42-
return list([(None, None, None, None, [h, 0]) for h in hosts])
42+
return return_value
4343

4444
return fake
4545

4646

47+
def fake_addrinfo(hosts):
48+
return fake_addrinfo_raw(list([(None, None, None, None, [h, 0]) for h in hosts]))
49+
50+
4751
@pytest.mark.skipif(not gethostbyname, reason="aiodns 1.1 required")
4852
async def test_async_resolver_positive_lookup(loop) -> None:
4953
with patch("aiodns.DNSResolver") as mock:
@@ -160,3 +164,17 @@ def test_default_resolver() -> None:
160164
# else:
161165
# assert DefaultResolver is ThreadedResolver
162166
assert DefaultResolver is ThreadedResolver
167+
168+
169+
async def test_threaded_resolver_5156() -> None:
170+
loop = Mock()
171+
loop.getaddrinfo = fake_addrinfo_raw(
172+
[
173+
(2, 1, 6, "", ("151.101.188.223", 443)),
174+
(10, 1, 6, "", (10, b"\x01\xbb\x00\x00\x00\x00*\x04NB\x00-\x00\x00")),
175+
]
176+
)
177+
resolver = ThreadedResolver()
178+
resolver._loop = loop
179+
180+
await resolver.resolve("foo")

0 commit comments

Comments
 (0)