Skip to content

Commit 83ca6f8

Browse files
committed
Improve resolver tests
1 parent 1bfc02a commit 83ca6f8

File tree

3 files changed

+40
-60
lines changed

3 files changed

+40
-60
lines changed

aiohttp/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = '0.22.4'
1+
__version__ = '1.0.0a0'
22

33
# Deprecated, keep it here for a while for backward compatibility.
44
import multidict # noqa

requirements-dev.txt

+1
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ pyenchant
66
sphinxcontrib-spelling
77
sphinxcontrib-asyncio
88
isort
9+
aiodns

tests/test_resolver.py

+38-59
Original file line numberDiff line numberDiff line change
@@ -37,80 +37,59 @@ def fake(*args, **kwargs):
3737

3838

3939
@pytest.mark.skipif(aiodns is None, reason="aiodns required")
40+
@pytest.mark.run_loop
4041
def test_async_resolver_positive_lookup(loop):
41-
@asyncio.coroutine
42-
def go():
43-
with patch('aiodns.DNSResolver.query') as mock_query:
44-
mock_query.return_value = fake_result(['127.0.0.1'])
45-
resolver = AsyncResolver(loop=loop)
46-
real = yield from resolver.resolve('www.python.org')
47-
ipaddress.ip_address(real[0]['host'])
48-
loop.run_until_complete(go())
42+
with patch('aiodns.DNSResolver.query') as mock_query:
43+
mock_query.return_value = fake_result(['127.0.0.1'])
44+
resolver = AsyncResolver(loop=loop)
45+
real = yield from resolver.resolve('www.python.org')
46+
ipaddress.ip_address(real[0]['host'])
4947

5048

5149
@pytest.mark.skipif(aiodns is None, reason="aiodns required")
50+
@pytest.mark.run_loop
5251
def test_async_resolver_multiple_replies(loop):
53-
@asyncio.coroutine
54-
def go():
55-
with patch('aiodns.DNSResolver.query') as mock_query:
56-
ips = ['127.0.0.1', '127.0.0.2', '127.0.0.3', '127.0.0.4']
57-
mock_query.return_value = fake_result(ips)
58-
resolver = AsyncResolver(loop=loop)
59-
real = yield from resolver.resolve('www.google.com')
60-
ips = [ipaddress.ip_address(x['host']) for x in real]
61-
assert len(ips) > 3, "Expecting multiple addresses"
62-
loop.run_until_complete(go())
52+
with patch('aiodns.DNSResolver.query') as mock_query:
53+
ips = ['127.0.0.1', '127.0.0.2', '127.0.0.3', '127.0.0.4']
54+
mock_query.return_value = fake_result(ips)
55+
resolver = AsyncResolver(loop=loop)
56+
real = yield from resolver.resolve('www.google.com')
57+
ips = [ipaddress.ip_address(x['host']) for x in real]
58+
assert len(ips) > 3, "Expecting multiple addresses"
6359

6460

6561
@pytest.mark.skipif(aiodns is None, reason="aiodns required")
62+
@pytest.mark.run_loop
6663
def test_async_negative_lookup(loop):
67-
@asyncio.coroutine
68-
def go():
69-
with patch('aiodns.DNSResolver.query') as mock_query:
70-
mock_query.side_effect = aiodns.error.DNSError()
71-
resolver = AsyncResolver(loop=loop)
72-
try:
73-
yield from resolver.resolve('doesnotexist.bla')
74-
assert False, "Expecting aiodns.error.DNSError"
75-
except aiodns.error.DNSError:
76-
pass
77-
78-
loop.run_until_complete(go())
64+
with patch('aiodns.DNSResolver.query') as mock_query:
65+
mock_query.side_effect = aiodns.error.DNSError()
66+
resolver = AsyncResolver(loop=loop)
67+
with pytest.raises(aiodns.error.DNSError):
68+
yield from resolver.resolve('doesnotexist.bla')
7969

8070

71+
@pytest.mark.run_loop
8172
def test_default_resolver_positive_lookup(loop):
82-
@asyncio.coroutine
83-
def go():
84-
loop.getaddrinfo = fake_addrinfo(["127.0.0.1"])
85-
resolver = DefaultResolver(loop=loop)
86-
real = yield from resolver.resolve('www.python.org')
87-
ipaddress.ip_address(real[0]['host'])
88-
89-
loop.run_until_complete(go())
73+
loop.getaddrinfo = fake_addrinfo(["127.0.0.1"])
74+
resolver = DefaultResolver(loop=loop)
75+
real = yield from resolver.resolve('www.python.org')
76+
ipaddress.ip_address(real[0]['host'])
9077

9178

79+
@pytest.mark.run_loop
9280
def test_default_resolver_multiple_replies(loop):
93-
@asyncio.coroutine
94-
def go():
95-
ips = ['127.0.0.1', '127.0.0.2', '127.0.0.3', '127.0.0.4']
96-
loop.getaddrinfo = fake_addrinfo(ips)
97-
resolver = DefaultResolver(loop=loop)
98-
real = yield from resolver.resolve('www.google.com')
99-
ips = [ipaddress.ip_address(x['host']) for x in real]
100-
assert len(ips) > 3, "Expecting multiple addresses"
101-
loop.run_until_complete(go())
81+
ips = ['127.0.0.1', '127.0.0.2', '127.0.0.3', '127.0.0.4']
82+
loop.getaddrinfo = fake_addrinfo(ips)
83+
resolver = DefaultResolver(loop=loop)
84+
real = yield from resolver.resolve('www.google.com')
85+
ips = [ipaddress.ip_address(x['host']) for x in real]
86+
assert len(ips) > 3, "Expecting multiple addresses"
10287

10388

89+
@pytest.mark.run_loop
10490
def test_default_negative_lookup(loop):
105-
@asyncio.coroutine
106-
def go():
107-
ips = []
108-
loop.getaddrinfo = fake_addrinfo(ips)
109-
resolver = DefaultResolver(loop=loop)
110-
try:
111-
yield from resolver.resolve('doesnotexist.bla')
112-
assert False, "Expecting socket.gaierror"
113-
except socket.gaierror:
114-
pass
115-
116-
loop.run_until_complete(go())
91+
ips = []
92+
loop.getaddrinfo = fake_addrinfo(ips)
93+
resolver = DefaultResolver(loop=loop)
94+
with pytest.raises(socket.gaierror):
95+
yield from resolver.resolve('doesnotexist.bla')

0 commit comments

Comments
 (0)