add tests for msgpack and yaml
This commit is contained in:
@@ -18,3 +18,65 @@ impl<T: Validate> HasValidate for MsgPackRaw<T> {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use crate::tests::{ValidTest, ValidTestParameter};
|
||||
use axum::http::StatusCode;
|
||||
use axum_msgpack::{MsgPack, MsgPackRaw};
|
||||
use reqwest::RequestBuilder;
|
||||
|
||||
impl<T: ValidTestParameter> ValidTest for MsgPack<T> {
|
||||
const ERROR_STATUS_CODE: StatusCode = StatusCode::BAD_REQUEST;
|
||||
|
||||
fn set_valid_request(builder: RequestBuilder) -> RequestBuilder {
|
||||
builder
|
||||
.header(reqwest::header::CONTENT_TYPE, "application/msgpack")
|
||||
.body(
|
||||
rmp_serde::to_vec_named(T::valid())
|
||||
.expect("Failed to serialize parameters to msgpack"),
|
||||
)
|
||||
}
|
||||
|
||||
fn set_error_request(builder: RequestBuilder) -> RequestBuilder {
|
||||
// `Content-Type` not set, `MsgPack` should return `415 Unsupported Media Type`
|
||||
builder
|
||||
}
|
||||
|
||||
fn set_invalid_request(builder: RequestBuilder) -> RequestBuilder {
|
||||
builder
|
||||
.header(reqwest::header::CONTENT_TYPE, "application/msgpack")
|
||||
.body(
|
||||
rmp_serde::to_vec_named(T::invalid())
|
||||
.expect("Failed to serialize parameters to msgpack"),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: ValidTestParameter> ValidTest for MsgPackRaw<T> {
|
||||
const ERROR_STATUS_CODE: StatusCode = StatusCode::BAD_REQUEST;
|
||||
|
||||
fn set_valid_request(builder: RequestBuilder) -> RequestBuilder {
|
||||
builder
|
||||
.header(reqwest::header::CONTENT_TYPE, "application/msgpack")
|
||||
.body(
|
||||
rmp_serde::to_vec(T::valid())
|
||||
.expect("Failed to serialize parameters to msgpack"),
|
||||
)
|
||||
}
|
||||
|
||||
fn set_error_request(builder: RequestBuilder) -> RequestBuilder {
|
||||
// `Content-Type` not set, `MsgPack` should return `415 Unsupported Media Type`
|
||||
builder
|
||||
}
|
||||
|
||||
fn set_invalid_request(builder: RequestBuilder) -> RequestBuilder {
|
||||
builder
|
||||
.header(reqwest::header::CONTENT_TYPE, "application/msgpack")
|
||||
.body(
|
||||
rmp_serde::to_vec(T::invalid())
|
||||
.expect("Failed to serialize parameters to msgpack"),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user