Publish and subscribe over wss://livekit.uni-wh.de:7800 and refuse cleartext ws://. Conference room is uwh-telhai. Includes the uncommitted encoded H.264 publish path, Rally hairpin, and KMS wall overlay.
37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
import pytest
|
|
from pathlib import Path
|
|
|
|
from discovery import Camera
|
|
from rally import dante_capture_card, discover_rally, rally_video_node
|
|
from run import fleet_cameras
|
|
from usb_ids import RALLY_IDENTITY
|
|
|
|
_HAVE_RALLY = rally_video_node() is not None
|
|
|
|
|
|
@pytest.mark.skipif(not _HAVE_RALLY, reason="Rally V-R0010 not on USB")
|
|
def test_rally_node_is_pinned_or_uvc():
|
|
node = rally_video_node()
|
|
assert node is not None
|
|
assert Path(node).exists()
|
|
|
|
|
|
@pytest.mark.skipif(not _HAVE_RALLY, reason="Rally V-R0010 not on USB")
|
|
def test_discover_rally_not_a_cam_slot():
|
|
cam = discover_rally()
|
|
assert cam is not None
|
|
assert cam.identity == RALLY_IDENTITY
|
|
assert cam.width == 1920
|
|
assert cam.height == 1080
|
|
assert cam.identity != "cam-01"
|
|
card = dante_capture_card()
|
|
assert cam.audio_card == card
|
|
|
|
|
|
def test_fleet_cameras_drops_rally():
|
|
cams = [
|
|
Camera(index=0, identity="cam-01", video_device="/dev/cam01", audio_card=1),
|
|
Camera(index=20, identity="rally", video_device="/dev/rally", audio_card=0),
|
|
]
|
|
assert [c.identity for c in fleet_cameras(cams)] == ["cam-01"]
|