Harden discovery rendezvous service

This commit is contained in:
Alexander Sellite 2026-08-11 10:37:03 -04:00
parent 804e19c51a
commit ef30369865
8 changed files with 57 additions and 7 deletions

View file

@ -63,6 +63,22 @@ class RoomRegistryTests(unittest.TestCase):
)
self.assertEqual(room.current_players, 0)
def test_reverification_refreshes_changed_public_endpoint(self) -> None:
room, _token, verification_token = self.registry.create(
"203.0.113.10", VALID_ROOM
)
first = self.registry.verify_endpoint(
room.room_id, verification_token, "203.0.113.10", 41000
)
self.clock.now += 20.0
refreshed = self.registry.verify_endpoint(
room.room_id, verification_token, "198.51.100.25", 51000
)
self.assertEqual(refreshed.address, "198.51.100.25")
self.assertEqual(refreshed.port, 51000)
self.assertEqual(refreshed.created_at, first.created_at)
self.assertEqual(refreshed.expires_at, self.clock.now + 30.0)
def test_expired_room_is_removed(self) -> None:
room, token, _verification_token = self.registry.create(
"203.0.113.10", VALID_ROOM