// 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}"
        );
    }
}
