48 lines
1.7 KiB
Rust
48 lines
1.7 KiB
Rust
// End-to-end probe contract for operator-assisted upstream media validation.
|
|
//
|
|
// Scope: protect the manual E2E harnesses that send client-origin synthetic
|
|
// media through server output and then capture the RCT result.
|
|
// Targets: `scripts/manual/run_client_to_rct_transport_probe.sh` and
|
|
// `scripts/manual/run_google_meet_observer_probe.sh`.
|
|
// Why: raw RCT capture and Google Meet observation answer different E2E
|
|
// questions, so both scripts must keep artifact-backed, analyzable outputs.
|
|
|
|
const CLIENT_RCT_PROBE: &str = include_str!(concat!(
|
|
env!("CARGO_MANIFEST_DIR"),
|
|
"/scripts/manual/run_client_to_rct_transport_probe.sh"
|
|
));
|
|
const GOOGLE_MEET_PROBE: &str = include_str!(concat!(
|
|
env!("CARGO_MANIFEST_DIR"),
|
|
"/scripts/manual/run_google_meet_observer_probe.sh"
|
|
));
|
|
|
|
#[test]
|
|
fn e2e_harnesses_keep_black_box_capture_and_observer_paths() {
|
|
for marker in [
|
|
"client-to-RCT bundled transport probe",
|
|
"starting RCT UVC/UAC capture on ${TETHYS_HOST}",
|
|
"running client-origin bundled transport probe",
|
|
"analyzing RCT capture",
|
|
"max_client_to_rct_age_ms",
|
|
"client-transport-timeline.json",
|
|
] {
|
|
assert!(
|
|
CLIENT_RCT_PROBE.contains(marker),
|
|
"client-to-RCT E2E probe should preserve marker {marker}"
|
|
);
|
|
}
|
|
|
|
for marker in [
|
|
"Google Meet observer probe",
|
|
"no Google credentials, sudo, or browser automation are used",
|
|
"operator-checklist.txt",
|
|
"running synthetic bundled media through Google Meet path",
|
|
"LESAVKA_MEET_OBSERVER_CAPTURE",
|
|
] {
|
|
assert!(
|
|
GOOGLE_MEET_PROBE.contains(marker),
|
|
"Meet observer E2E probe should preserve marker {marker}"
|
|
);
|
|
}
|
|
}
|