1- import asyncio
2- import pytest
1+ from getstream .video .rtc .pb .stream .video .sfu .models .models_pb2 import TrackType
32
43from vision_agents .core .events .manager import EventManager
54from vision_agents .core .edge .events import TrackAddedEvent , TrackRemovedEvent
@@ -16,7 +15,6 @@ class TestTrackRepublishing:
1615 when the track_key already exists in _track_map.
1716 """
1817
19- @pytest .mark .asyncio
2018 async def test_track_events_flow_correctly (self ):
2119 """Verify that track events (add -> remove -> add) flow through the event system."""
2220 event_manager = EventManager ()
@@ -32,15 +30,15 @@ async def collect_track_events(event: TrackAddedEvent | TrackRemovedEvent):
3230
3331 # Simulate track lifecycle: start -> stop -> start again
3432 track_id = "screenshare-track-1"
35- track_type = 3 # TRACK_TYPE_SCREEN_SHARE
33+ track_type = TrackType . TRACK_TYPE_SCREEN_SHARE
3634
3735 # 1. Start screenshare
3836 event_manager .send (TrackAddedEvent (
3937 plugin_name = "getstream" ,
4038 track_id = track_id ,
4139 track_type = track_type ,
4240 ))
43- await asyncio . sleep ( 0.01 )
41+ await event_manager . wait ( )
4442
4543 assert len (events ) == 1
4644 assert isinstance (events [0 ], TrackAddedEvent )
@@ -52,7 +50,7 @@ async def collect_track_events(event: TrackAddedEvent | TrackRemovedEvent):
5250 track_id = track_id ,
5351 track_type = track_type ,
5452 ))
55- await asyncio . sleep ( 0.01 )
53+ await event_manager . wait ( )
5654
5755 assert len (events ) == 2
5856 assert isinstance (events [1 ], TrackRemovedEvent )
@@ -63,7 +61,7 @@ async def collect_track_events(event: TrackAddedEvent | TrackRemovedEvent):
6361 track_id = track_id ,
6462 track_type = track_type ,
6563 ))
66- await asyncio . sleep ( 0.01 )
64+ await event_manager . wait ( )
6765
6866 # Before the fix: The agent would never receive this third event
6967 assert len (events ) == 3 , "Republishing track should emit TrackAddedEvent"
0 commit comments