Skip to content

Commit c94ff95

Browse files
committed
test fix: gather sessions deterministically to check order
1 parent f393998 commit c94ff95

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

tests/core/utilities/test_http_session_manager.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ async def test_session_manager_async_json_make_get_request(
342342
response = await http_session_manager.async_json_make_get_request(TEST_URI)
343343
assert response == json.dumps({"data": "content"})
344344
assert len(http_session_manager.session_cache) == 1
345-
cache_key = generate_cache_key(f"{threading.get_ident()}:{TEST_URI}")
345+
cache_key = generate_cache_key(f"{id(asyncio.get_event_loop())}:{TEST_URI}")
346346
session = http_session_manager.session_cache.get_cache_entry(cache_key)
347347
assert isinstance(session, ClientSession)
348348
session.get.assert_called_once_with(
@@ -367,7 +367,7 @@ async def test_session_manager_async_json_make_post_request(
367367
)
368368
assert response == json.dumps({"data": "content"})
369369
assert len(http_session_manager.session_cache) == 1
370-
cache_key = generate_cache_key(f"{threading.get_ident()}:{TEST_URI}")
370+
cache_key = generate_cache_key(f"{id(asyncio.get_event_loop())}:{TEST_URI}")
371371
session = http_session_manager.session_cache.get_cache_entry(cache_key)
372372
assert isinstance(session, ClientSession)
373373
session.post.assert_called_once_with(
@@ -391,7 +391,7 @@ async def test_session_manager_async_make_post_request(mocker, http_session_mana
391391
)
392392
assert response == "content"
393393
assert len(http_session_manager.session_cache) == 1
394-
cache_key = generate_cache_key(f"{threading.get_ident()}:{TEST_URI}")
394+
cache_key = generate_cache_key(f"{id(asyncio.get_event_loop())}:{TEST_URI}")
395395
session = http_session_manager.session_cache.get_cache_entry(cache_key)
396396
assert isinstance(session, ClientSession)
397397
session.post.assert_called_once_with(
@@ -431,7 +431,7 @@ async def test_session_manager_async_precached_session(http_session_manager):
431431

432432

433433
@pytest.mark.asyncio
434-
async def test_session_manager_async_cache_does_not_close_session_before_a_call_when_multithreading( # noqa: E501
434+
async def test_async_session_manager_cache_does_not_close_session_before_call(
435435
http_session_manager,
436436
):
437437
# set cache size to 1 + set future session close thread time to 0.01s
@@ -442,16 +442,13 @@ async def cache_uri_and_return_session(uri):
442442
_session = await http_session_manager.async_cache_and_return_session(
443443
uri, request_timeout=ClientTimeout(_timeout_for_testing)
444444
)
445-
446445
# simulate a call taking 0.01s to return a response
447446
await asyncio.sleep(_timeout_for_testing)
448447

449448
assert not _session.closed
450449
return _session
451450

452-
tasks = [cache_uri_and_return_session(uri) for uri in UNIQUE_URIS]
453-
454-
all_sessions = await asyncio.gather(*tasks)
451+
all_sessions = [await cache_uri_and_return_session(uri) for uri in UNIQUE_URIS]
455452
assert len(all_sessions) == len(UNIQUE_URIS)
456453
assert all(isinstance(s, ClientSession) for s in all_sessions)
457454

@@ -530,7 +527,7 @@ async def test_session_manager_async_use_new_session_if_loop_closed_for_cached_s
530527
)
531528

532529
# assert session1 was cached
533-
cache_key = generate_cache_key(f"{threading.get_ident()}:{TEST_URI}")
530+
cache_key = generate_cache_key(f"{id(asyncio.get_event_loop())}:{TEST_URI}")
534531

535532
assert len(http_session_manager.session_cache) == 1
536533
cached_session = http_session_manager.session_cache.get_cache_entry(cache_key)
@@ -570,7 +567,7 @@ async def test_session_manager_async_use_new_session_if_session_closed_for_cache
570567
)
571568

572569
# assert session1 was cached
573-
cache_key = generate_cache_key(f"{threading.get_ident()}:{TEST_URI}")
570+
cache_key = generate_cache_key(f"{id(asyncio.get_event_loop())}:{TEST_URI}")
574571

575572
assert len(http_session_manager.session_cache) == 1
576573
cached_session = http_session_manager.session_cache.get_cache_entry(cache_key)

0 commit comments

Comments
 (0)