29 lines
754 B
Rust
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));
|
|
}
|