29 lines
754 B
Rust

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