mirror of
https://github.com/meilisearch/meilisearch.git
synced 2024-11-30 00:55:00 +08:00
fix test and add truncate test.
This commit is contained in:
parent
ce85981a4e
commit
3c72f4dc51
@ -1,5 +1,6 @@
|
|||||||
use crate::common::{GetAllDocumentsOptions, Server};
|
use crate::common::{GetAllDocumentsOptions, Server};
|
||||||
use actix_web::test;
|
use actix_web::test;
|
||||||
|
use itertools::Itertools;
|
||||||
use meilisearch_http::{analytics, create_app};
|
use meilisearch_http::{analytics, create_app};
|
||||||
use serde_json::{json, Value};
|
use serde_json::{json, Value};
|
||||||
use time::{format_description::well_known::Rfc3339, OffsetDateTime};
|
use time::{format_description::well_known::Rfc3339, OffsetDateTime};
|
||||||
@ -274,7 +275,7 @@ async fn error_add_malformed_json_documents() {
|
|||||||
assert_eq!(
|
assert_eq!(
|
||||||
response["message"],
|
response["message"],
|
||||||
json!(
|
json!(
|
||||||
r#"The `json` payload provided is malformed. `Couldn't serialize document value at line 1 column 14`"#
|
r#"The `json` payload provided is malformed. `Couldn't serialize document value: key must be a string at line 1 column 14`."#
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
assert_eq!(response["code"], json!("malformed_payload"));
|
assert_eq!(response["code"], json!("malformed_payload"));
|
||||||
@ -298,7 +299,73 @@ async fn error_add_malformed_json_documents() {
|
|||||||
assert_eq!(
|
assert_eq!(
|
||||||
response["message"],
|
response["message"],
|
||||||
json!(
|
json!(
|
||||||
r#"The `json` payload provided is malformed. `Couldn't serialize document value at line 1 column 14`"#
|
r#"The `json` payload provided is malformed. `Couldn't serialize document value: key must be a string at line 1 column 14`."#
|
||||||
|
)
|
||||||
|
);
|
||||||
|
assert_eq!(response["code"], json!("malformed_payload"));
|
||||||
|
assert_eq!(response["type"], json!("invalid_request"));
|
||||||
|
assert_eq!(
|
||||||
|
response["link"],
|
||||||
|
json!("https://docs.meilisearch.com/errors#malformed_payload")
|
||||||
|
);
|
||||||
|
|
||||||
|
// truncate
|
||||||
|
|
||||||
|
// length = 100
|
||||||
|
let long = String::from_utf8(
|
||||||
|
"0123456789"
|
||||||
|
.as_bytes()
|
||||||
|
.iter()
|
||||||
|
.cycle()
|
||||||
|
.cloned()
|
||||||
|
.take(100)
|
||||||
|
.collect_vec(),
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
let document = format!("\"{}\"", long);
|
||||||
|
let req = test::TestRequest::put()
|
||||||
|
.uri("/indexes/dog/documents")
|
||||||
|
.set_payload(document)
|
||||||
|
.insert_header(("content-type", "application/json"))
|
||||||
|
.to_request();
|
||||||
|
let res = test::call_service(&app, req).await;
|
||||||
|
let body = test::read_body(res).await;
|
||||||
|
dbg!(&body);
|
||||||
|
let response: Value = serde_json::from_slice(&body).unwrap_or_default();
|
||||||
|
dbg!(&response);
|
||||||
|
assert_eq!(status_code, 400);
|
||||||
|
assert_eq!(
|
||||||
|
response["message"],
|
||||||
|
json!(
|
||||||
|
r#"The `json` payload provided is malformed. `Couldn't serialize document value: invalid type: string "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789", expected a documents, or a sequence of documents. at line 1 column 102`."#
|
||||||
|
)
|
||||||
|
);
|
||||||
|
assert_eq!(response["code"], json!("malformed_payload"));
|
||||||
|
assert_eq!(response["type"], json!("invalid_request"));
|
||||||
|
assert_eq!(
|
||||||
|
response["link"],
|
||||||
|
json!("https://docs.meilisearch.com/errors#malformed_payload")
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
let document = format!("\"{}m\"", long);
|
||||||
|
let req = test::TestRequest::put()
|
||||||
|
.uri("/indexes/dog/documents")
|
||||||
|
.set_payload(document)
|
||||||
|
.insert_header(("content-type", "application/json"))
|
||||||
|
.to_request();
|
||||||
|
let res = test::call_service(&app, req).await;
|
||||||
|
let body = test::read_body(res).await;
|
||||||
|
dbg!(&body);
|
||||||
|
let response: Value = serde_json::from_slice(&body).unwrap_or_default();
|
||||||
|
dbg!(&response);
|
||||||
|
assert_eq!(status_code, 400);
|
||||||
|
assert_eq!(
|
||||||
|
response["message"],
|
||||||
|
json!(
|
||||||
|
r#"The `json` payload provided is malformed. `Couldn't serialize document value: invalid type: string "01234567890123456789012345678901234567890123456789 ... 1234567890123456789012345678901234567890123456789m", expected a documents, or a sequence of documents. at line 1 column 103`."#
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
assert_eq!(response["code"], json!("malformed_payload"));
|
assert_eq!(response["code"], json!("malformed_payload"));
|
||||||
@ -336,7 +403,7 @@ async fn error_add_malformed_ndjson_documents() {
|
|||||||
assert_eq!(
|
assert_eq!(
|
||||||
response["message"],
|
response["message"],
|
||||||
json!(
|
json!(
|
||||||
r#"The `ndjson` payload provided is malformed. `Couldn't serialize document value at line 1 column 2`"#
|
r#"The `ndjson` payload provided is malformed. `Couldn't serialize document value: key must be a string at line 1 column 2`."#
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
assert_eq!(response["code"], json!("malformed_payload"));
|
assert_eq!(response["code"], json!("malformed_payload"));
|
||||||
@ -360,7 +427,7 @@ async fn error_add_malformed_ndjson_documents() {
|
|||||||
assert_eq!(
|
assert_eq!(
|
||||||
response["message"],
|
response["message"],
|
||||||
json!(
|
json!(
|
||||||
r#"The `ndjson` payload provided is malformed. `Couldn't serialize document value at line 1 column 2`"#
|
r#"The `ndjson` payload provided is malformed. `Couldn't serialize document value: key must be a string at line 1 column 2`."#
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
assert_eq!(response["code"], json!("malformed_payload"));
|
assert_eq!(response["code"], json!("malformed_payload"));
|
||||||
|
@ -55,8 +55,8 @@ impl Display for DocumentFormatError {
|
|||||||
|
|
||||||
write!(
|
write!(
|
||||||
f,
|
f,
|
||||||
"The `{}` payload provided is malformed. `Couldn't serialize document value: {}. at line {} column {} `",
|
"The `{}` payload provided is malformed. `Couldn't serialize document value: {}`.",
|
||||||
b, se.line(), se.column(),serde_msg
|
b,serde_msg
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
_ => write!(f, "The `{}` payload provided is malformed: `{}`.", b, me),
|
_ => write!(f, "The `{}` payload provided is malformed: `{}`.", b, me),
|
||||||
|
Loading…
Reference in New Issue
Block a user