mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-09-03 06:33:50 +08:00
4db69dae3b
Fix StreamRequestBody initialization for legacy and multi-camera clients, ignore unknown request fields, and use the supported nonblocking Params API for keyframe requests. Add regression coverage for request normalization. Based on PR #101 by inauner: https://github.com/firestar5683/StarPilot/pull/101
30 lines
913 B
Python
30 lines
913 B
Python
from dataclasses import asdict
|
|
|
|
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"])
|
|
|
|
assert body.init_camera == "road"
|
|
assert body.cameras == ["road", "driver"]
|
|
assert asdict(body)["cameras"] == ["road", "driver"]
|