//! Error-path unit scaffolding leveraging mock frame streams. #[path = "../support/mod.rs"] mod support; mod helpers; use helpers::*; use niom_turn::stun::{parse_message, ParseError}; use support::mocks; #[tokio::test(flavor = "current_thread")] async fn frame_stream_mock_yields_sequence() { let mut stream = mocks::MockFrameStream::new(); stream .expect_next_frame() .times(1) .returning(|| Box::pin(async { Some(malformed_stun_frame()) })); let first = stream.next_frame().await; assert_eq!(first.as_ref().map(|f| f.len()), Some(3)); } #[test] fn parse_message_rejects_short_frame() { let err = parse_message(&malformed_stun_frame()).unwrap_err(); assert!(matches!(err, ParseError::TooShort)); }