cai
2026-08-22 fe5c23af3c46d6a6168d9b77bd703065aa65cbc5
src/main.rs
@@ -5040,6 +5040,7 @@
                "clientFixtureSequence".to_string(),
                "fixture-01".to_string(),
            ),
            ("language".to_string(), "ja-JP".to_string()),
        ]);
        let mut starts = Vec::new();
        for (session_index, sequence) in [(1, "fixture-01"), (2, "fixture-02")] {
@@ -5065,6 +5066,7 @@
            let is_in_speech = vad.in_speech;
            assert!(!was_in_speech && is_in_speech);
            attributes.insert("clientFixtureSequence".to_string(), sequence.to_string());
            attributes.insert("language".to_string(), "ja-JP".to_string());
            let metadata = AudioIngressMetadata::from_participant(&attributes)
                .expect("valid participant attributes")
                .expect("controlled fixture metadata");
@@ -5079,6 +5081,7 @@
            let session_json: serde_json::Value =
                serde_json::from_slice(&session_line).expect("session start json");
            assert_eq!(sequence, session_json["clientFixtureSequence"]);
            assert_eq!("ja-JP", session_json["language"]);
            starts.push(metadata.client_fixture_sequence);
            vad.reset_current_turn();
        }
@@ -5171,6 +5174,7 @@
                "clientFixtureSequence".to_string(),
                "fixture-01".to_string(),
            ),
            ("language".to_string(), "ja-JP".to_string()),
        ]);
        let mut upload = None;
        let mut last_fixture_sequence = None;
@@ -5207,6 +5211,7 @@
            "clientFixtureSequence".to_string(),
            "fixture-02".to_string(),
        );
        attrs.insert("language".to_string(), "zh-CN".to_string());
        let (was, is, turn) = observe_bound_participant_frame(
            "participant-user",
            Some("participant-user"),
@@ -5237,6 +5242,8 @@
            .expect("second session request");
        assert!(first_request.contains("\"clientFixtureSequence\":\"fixture-01\""));
        assert!(second_request.contains("\"clientFixtureSequence\":\"fixture-02\""));
        assert!(first_request.contains("\"language\":\"ja-JP\""));
        assert!(second_request.contains("\"language\":\"zh-CN\""));
        assert!(
            first_request.contains("\"audioIngressOriginStatus\":\"controlled_fixture_bound\"")
        );