Files
StarPilot/system/webrtc/tests/test_helpers.py
T
firestar5683 7a83f8f430 fixes
2026-09-06 10:35:47 -05:00

47 lines
1.5 KiB
Python

from dataclasses import asdict
import pytest
from openpilot.system.webrtc.helpers import StreamRequestBody
def test_stream_request_body_defaults_legacy_clients_to_road():
body = StreamRequestBody(sdp="offer")
assert body.init_camera == "road"
assert body.enabled is True
assert body.cameras == ["road"]
assert body.bridge_services_in == []
assert body.bridge_services_out == []
def test_stream_request_body_maps_legacy_camera_to_new_camera_list():
body = StreamRequestBody(sdp="offer", init_camera="driver", enabled=False)
assert body.init_camera == "driver"
assert body.cameras == ["driver"]
assert body.enabled is False
def test_stream_request_body_preserves_explicit_multi_camera_request():
body = StreamRequestBody(
sdp="offer", cameras=["road", "driver"],
bridge_services_in=["testJoystick"], bridge_services_out=["carState"],
)
assert body.init_camera == "road"
assert body.cameras == ["road", "driver"]
assert asdict(body)["cameras"] == ["road", "driver"]
assert body.bridge_services_in == ["testJoystick"]
assert body.bridge_services_out == ["carState"]
assert StreamRequestBody(**asdict(body)) == body
@pytest.mark.parametrize("incoming", [[], ["testJoystick"]])
def test_stream_request_body_preserves_legacy_positional_services(incoming):
body = StreamRequestBody("offer", "wideRoad", True, incoming, ["carState", "deviceState"])
assert body.cameras == ["wideRoad"]
assert body.bridge_services_in == incoming
assert body.bridge_services_out == ["carState", "deviceState"]