add test for frame size exceed

This commit is contained in:
Mohammed Sazid Al Rashid 2021-01-29 13:13:46 +06:00
parent 8d8063d302
commit f11e2893cc
1 changed files with 28 additions and 0 deletions

View File

@ -87,6 +87,34 @@ async fn test_builder_with_frame_size() {
common_test_code(srv, MAX_FRAME_SIZE).await; common_test_code(srv, MAX_FRAME_SIZE).await;
} }
#[actix_rt::test]
#[should_panic]
async fn test_builder_with_frame_size_exceeded() {
let mut srv = test::start(|| {
App::new().service(web::resource("/").to(
|req: HttpRequest, stream: web::Payload| async move {
ws::WsResponseBuilder::new(Ws, &req, stream)
.frame_size(MAX_FRAME_SIZE)
.start()
},
))
});
// client service
let mut framed = srv.ws().await.unwrap();
// Create a request with a frame size larger than expected. This should
// panic with '`Err` value: Overflow'.
let bytes = Bytes::from(vec![0; MAX_FRAME_SIZE + 1]);
framed
.send(ws::Message::Binary(bytes.clone()))
.await
.unwrap();
// try unwrapping to panic.
framed.next().await.unwrap().unwrap();
}
#[actix_rt::test] #[actix_rt::test]
async fn test_builder_with_codec() { async fn test_builder_with_codec() {
let srv = test::start(|| { let srv = test::start(|| {