Skip to content

Commit

Permalink
Improve tests based on PR reviews
Browse files Browse the repository at this point in the history
  • Loading branch information
klejejs committed Oct 25, 2024
1 parent 0a422e9 commit 25802ba
Showing 1 changed file with 3 additions and 42 deletions.
45 changes: 3 additions & 42 deletions tests/test_ice_servers.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,12 @@ async def test_ice_servers_listener_registration_triggers_periodic_ice_servers_u
"""Test that registering an ICE servers listener triggers a periodic update."""
times_register_called_successfully = 0

ice_servers_api._get_refresh_sleep_time = lambda: -1
ice_servers_api._get_refresh_sleep_time = lambda: 0

async def register_ice_servers(ice_servers: list[RTCIceServer]):
nonlocal times_register_called_successfully

# There asserts will silently fail and variable will not be incremented
# These asserts will silently fail and variable will not be incremented
assert len(ice_servers) == 1
assert ice_servers[0].urls == "turn:example.com:80"
assert ice_servers[0].username == "12345678:test-user"
Expand All @@ -65,53 +65,14 @@ def unregister():
# Let the periodic update run again
await asyncio.sleep(0)

unregister()

assert times_register_called_successfully == 2

assert ice_servers_api._refresh_task is None
assert ice_servers_api._ice_servers == []
assert ice_servers_api._ice_servers_listener is None
assert ice_servers_api._ice_servers_listener_unregister is None


async def test_ice_servers_listener_deregistration_stops_periodic_ice_servers_update(
ice_servers_api: ice_servers.IceServers,
):
"""Test that deregistering an ICE servers listener stops the periodic update."""
times_register_called_successfully = 0

ice_servers_api._get_refresh_sleep_time = lambda: -1

async def register_ice_servers(ice_servers: list[RTCIceServer]):
nonlocal times_register_called_successfully

# There asserts will silently fail and variable will not be incremented
assert len(ice_servers) == 1
assert ice_servers[0].urls == "turn:example.com:80"
assert ice_servers[0].username == "12345678:test-user"
assert ice_servers[0].credential == "secret-value"

times_register_called_successfully += 1

def unregister():
pass

return unregister

unregister = await ice_servers_api.async_register_ice_servers_listener(
register_ice_servers,
)

# Let the periodic update run once
await asyncio.sleep(0)

unregister()

# The periodic update should not run again
await asyncio.sleep(0)

assert times_register_called_successfully == 1
assert times_register_called_successfully == 2

assert ice_servers_api._refresh_task is None
assert ice_servers_api._ice_servers == []
Expand Down

0 comments on commit 25802ba

Please sign in to comment.