@@ -1270,6 +1270,7 @@ async def test_tcp_connector_dns_cache_not_expired(loop, dns_response) -> None:
12701270 with mock .patch ("aiohttp.connector.DefaultResolver" ) as m_resolver :
12711271 conn = aiohttp .TCPConnector (loop = loop , use_dns_cache = True , ttl_dns_cache = 10 )
12721272 m_resolver ().resolve .return_value = dns_response ()
1273+ m_resolver ().close = mock .AsyncMock ()
12731274 await conn ._resolve_host ("localhost" , 8080 )
12741275 await conn ._resolve_host ("localhost" , 8080 )
12751276 m_resolver ().resolve .assert_called_once_with ("localhost" , 8080 , family = 0 )
@@ -1281,6 +1282,7 @@ async def test_tcp_connector_dns_cache_forever(loop, dns_response) -> None:
12811282 with mock .patch ("aiohttp.connector.DefaultResolver" ) as m_resolver :
12821283 conn = aiohttp .TCPConnector (loop = loop , use_dns_cache = True , ttl_dns_cache = 10 )
12831284 m_resolver ().resolve .return_value = dns_response ()
1285+ m_resolver ().close = mock .AsyncMock ()
12841286 await conn ._resolve_host ("localhost" , 8080 )
12851287 await conn ._resolve_host ("localhost" , 8080 )
12861288 m_resolver ().resolve .assert_called_once_with ("localhost" , 8080 , family = 0 )
@@ -1292,6 +1294,7 @@ async def test_tcp_connector_use_dns_cache_disabled(loop, dns_response) -> None:
12921294 with mock .patch ("aiohttp.connector.DefaultResolver" ) as m_resolver :
12931295 conn = aiohttp .TCPConnector (loop = loop , use_dns_cache = False )
12941296 m_resolver ().resolve .side_effect = [dns_response (), dns_response ()]
1297+ m_resolver ().close = mock .AsyncMock ()
12951298 await conn ._resolve_host ("localhost" , 8080 )
12961299 await conn ._resolve_host ("localhost" , 8080 )
12971300 m_resolver ().resolve .assert_has_calls (
@@ -1308,6 +1311,7 @@ async def test_tcp_connector_dns_throttle_requests(loop, dns_response) -> None:
13081311 with mock .patch ("aiohttp.connector.DefaultResolver" ) as m_resolver :
13091312 conn = aiohttp .TCPConnector (loop = loop , use_dns_cache = True , ttl_dns_cache = 10 )
13101313 m_resolver ().resolve .return_value = dns_response ()
1314+ m_resolver ().close = mock .AsyncMock ()
13111315 loop .create_task (conn ._resolve_host ("localhost" , 8080 ))
13121316 loop .create_task (conn ._resolve_host ("localhost" , 8080 ))
13131317 await asyncio .sleep (0 )
@@ -1322,6 +1326,7 @@ async def test_tcp_connector_dns_throttle_requests_exception_spread(loop) -> Non
13221326 conn = aiohttp .TCPConnector (loop = loop , use_dns_cache = True , ttl_dns_cache = 10 )
13231327 e = Exception ()
13241328 m_resolver ().resolve .side_effect = e
1329+ m_resolver ().close = mock .AsyncMock ()
13251330 r1 = loop .create_task (conn ._resolve_host ("localhost" , 8080 ))
13261331 r2 = loop .create_task (conn ._resolve_host ("localhost" , 8080 ))
13271332 await asyncio .sleep (0 )
@@ -1341,6 +1346,7 @@ async def test_tcp_connector_dns_throttle_requests_cancelled_when_close(
13411346 with mock .patch ("aiohttp.connector.DefaultResolver" ) as m_resolver :
13421347 conn = aiohttp .TCPConnector (loop = loop , use_dns_cache = True , ttl_dns_cache = 10 )
13431348 m_resolver ().resolve .return_value = dns_response ()
1349+ m_resolver ().close = mock .AsyncMock ()
13441350 loop .create_task (conn ._resolve_host ("localhost" , 8080 ))
13451351 f = loop .create_task (conn ._resolve_host ("localhost" , 8080 ))
13461352
@@ -1384,6 +1390,7 @@ def exception_handler(loop, context):
13841390 use_dns_cache = False ,
13851391 )
13861392 m_resolver ().resolve .return_value = dns_response_error ()
1393+ m_resolver ().close = mock .AsyncMock ()
13871394 f = loop .create_task (conn ._create_direct_connection (req , [], ClientTimeout (0 )))
13881395
13891396 await asyncio .sleep (0 )
@@ -1419,6 +1426,7 @@ async def test_tcp_connector_dns_tracing(loop, dns_response) -> None:
14191426 conn = aiohttp .TCPConnector (loop = loop , use_dns_cache = True , ttl_dns_cache = 10 )
14201427
14211428 m_resolver ().resolve .return_value = dns_response ()
1429+ m_resolver ().close = mock .AsyncMock ()
14221430
14231431 await conn ._resolve_host ("localhost" , 8080 , traces = traces )
14241432 on_dns_resolvehost_start .assert_called_once_with (
@@ -1460,6 +1468,7 @@ async def test_tcp_connector_dns_tracing_cache_disabled(loop, dns_response) -> N
14601468 conn = aiohttp .TCPConnector (loop = loop , use_dns_cache = False )
14611469
14621470 m_resolver ().resolve .side_effect = [dns_response (), dns_response ()]
1471+ m_resolver ().close = mock .AsyncMock ()
14631472
14641473 await conn ._resolve_host ("localhost" , 8080 , traces = traces )
14651474
@@ -1514,6 +1523,7 @@ async def test_tcp_connector_dns_tracing_throttle_requests(loop, dns_response) -
15141523 with mock .patch ("aiohttp.connector.DefaultResolver" ) as m_resolver :
15151524 conn = aiohttp .TCPConnector (loop = loop , use_dns_cache = True , ttl_dns_cache = 10 )
15161525 m_resolver ().resolve .return_value = dns_response ()
1526+ m_resolver ().close = mock .AsyncMock ()
15171527 loop .create_task (conn ._resolve_host ("localhost" , 8080 , traces = traces ))
15181528 loop .create_task (conn ._resolve_host ("localhost" , 8080 , traces = traces ))
15191529 await asyncio .sleep (0 )
@@ -1528,6 +1538,14 @@ async def test_tcp_connector_dns_tracing_throttle_requests(loop, dns_response) -
15281538 await conn .close ()
15291539
15301540
1541+ async def test_tcp_connector_close_resolver () -> None :
1542+ m_resolver = mock .AsyncMock ()
1543+ with mock .patch ("aiohttp.connector.DefaultResolver" , return_value = m_resolver ):
1544+ conn = aiohttp .TCPConnector (use_dns_cache = True , ttl_dns_cache = 10 )
1545+ await conn .close ()
1546+ m_resolver .close .assert_awaited_once ()
1547+
1548+
15311549async def test_dns_error (loop ) -> None :
15321550 connector = aiohttp .TCPConnector (loop = loop )
15331551 connector ._resolve_host = mock .AsyncMock (
@@ -3691,6 +3709,7 @@ async def resolve_response() -> List[ResolveResult]:
36913709
36923710 with mock .patch ("aiohttp.connector.DefaultResolver" ) as m_resolver :
36933711 m_resolver ().resolve .return_value = resolve_response ()
3712+ m_resolver ().close = mock .AsyncMock ()
36943713
36953714 connector = TCPConnector ()
36963715 traces = [DummyTracer ()]
0 commit comments