From 51472142c6d6d4d7f217fab9c4785320599eb28d Mon Sep 17 00:00:00 2001 From: Pedro Paulo de Amorim Date: Tue, 31 Mar 2020 12:00:13 +0100 Subject: [PATCH 1/7] Add test to check if nested null will be ignored --- meilisearch-http/tests/documents_add.rs | 30 +++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/meilisearch-http/tests/documents_add.rs b/meilisearch-http/tests/documents_add.rs index ca87a8027..aeea3c0ba 100644 --- a/meilisearch-http/tests/documents_add.rs +++ b/meilisearch-http/tests/documents_add.rs @@ -76,3 +76,33 @@ fn check_add_documents_with_nested_boolean() { assert_eq!(status_code, 200); assert_eq!(response["status"], "processed"); } + +// Test issue https://github.com/meilisearch/MeiliSearch/issues/571 +#[test] +fn check_add_documents_with_nested_sequence() { + let mut server = common::Server::with_uid("tasks"); + + // 1 - Create the index with no primary_key + + let body = json!({ "uid": "tasks" }); + let (response, status_code) = server.create_index(body); + assert_eq!(status_code, 201); + assert_eq!(response["primaryKey"], json!(null)); + + // 2 - Add a document that contains a null in a nested object + + let body = serde_json::from_str("[{\"id\":0,\"foo\":{\"bar\":null}}]").unwrap(); + + let url = "/indexes/tasks/documents"; + let (response, status_code) = server.post_request(&url, body); + eprintln!("{:#?}", response); + assert_eq!(status_code, 202); + let update_id = response["updateId"].as_u64().unwrap(); + server.wait_update_id(update_id); + + // 3 - Check update sucess + + let (response, status_code) = server.get_update_status(update_id); + assert_eq!(status_code, 200); + assert_eq!(response["status"], "processed"); +} \ No newline at end of file From fbf7117d6a78049c38cccc19965b9adc2fe378cb Mon Sep 17 00:00:00 2001 From: Pedro Paulo de Amorim Date: Tue, 31 Mar 2020 13:13:09 +0100 Subject: [PATCH 2/7] Rename function, add trailing line, replace JSON string with macro --- meilisearch-http/tests/documents_add.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/meilisearch-http/tests/documents_add.rs b/meilisearch-http/tests/documents_add.rs index aeea3c0ba..847179c7d 100644 --- a/meilisearch-http/tests/documents_add.rs +++ b/meilisearch-http/tests/documents_add.rs @@ -79,7 +79,7 @@ fn check_add_documents_with_nested_boolean() { // Test issue https://github.com/meilisearch/MeiliSearch/issues/571 #[test] -fn check_add_documents_with_nested_sequence() { +fn check_add_documents_with_nested_null() { let mut server = common::Server::with_uid("tasks"); // 1 - Create the index with no primary_key @@ -91,7 +91,12 @@ fn check_add_documents_with_nested_sequence() { // 2 - Add a document that contains a null in a nested object - let body = serde_json::from_str("[{\"id\":0,\"foo\":{\"bar\":null}}]").unwrap(); + let body = json!([{ + "id": 0, + "foo": { + "bar": null + } + }]); let url = "/indexes/tasks/documents"; let (response, status_code) = server.post_request(&url, body); @@ -105,4 +110,4 @@ fn check_add_documents_with_nested_sequence() { let (response, status_code) = server.get_update_status(update_id); assert_eq!(status_code, 200); assert_eq!(response["status"], "processed"); -} \ No newline at end of file +} From bc6d86c8ced2406b1df5c10acb0277bb52cfdfe9 Mon Sep 17 00:00:00 2001 From: Pedro Paulo de Amorim Date: Tue, 31 Mar 2020 13:51:12 +0100 Subject: [PATCH 3/7] serialize_unit returns a empty string --- meilisearch-core/src/serde/convert_to_string.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meilisearch-core/src/serde/convert_to_string.rs b/meilisearch-core/src/serde/convert_to_string.rs index bac0de99e..4f89c6166 100644 --- a/meilisearch-core/src/serde/convert_to_string.rs +++ b/meilisearch-core/src/serde/convert_to_string.rs @@ -88,7 +88,7 @@ impl ser::Serializer for ConvertToString { } fn serialize_unit(self) -> Result { - Err(SerializerError::UnserializableType { type_name: "()" }) + Ok("".to_string()) } fn serialize_unit_struct(self, _name: &'static str) -> Result { From 690b8e0dd0234e7cdac704ceac2580c988bef133 Mon Sep 17 00:00:00 2001 From: Pedro Paulo de Amorim Date: Tue, 31 Mar 2020 14:01:44 +0100 Subject: [PATCH 4/7] Replace .toString to String::new() --- meilisearch-core/src/serde/convert_to_string.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meilisearch-core/src/serde/convert_to_string.rs b/meilisearch-core/src/serde/convert_to_string.rs index 4f89c6166..ca5c59a78 100644 --- a/meilisearch-core/src/serde/convert_to_string.rs +++ b/meilisearch-core/src/serde/convert_to_string.rs @@ -88,7 +88,7 @@ impl ser::Serializer for ConvertToString { } fn serialize_unit(self) -> Result { - Ok("".to_string()) + Ok(String::new()) } fn serialize_unit_struct(self, _name: &'static str) -> Result { From 52a4f7cd23481865ed13d5bcc4c4a74f74c16d22 Mon Sep 17 00:00:00 2001 From: Pedro Paulo de Amorim Date: Tue, 31 Mar 2020 14:41:22 +0100 Subject: [PATCH 5/7] Update readme --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index dbee7cfb9..156c36e1a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,3 +3,4 @@ - Add the number of hits in search result (#541) - Add support for aligned crop in search result (#543) - Sanitize the content displayed in the web interface (#539) + - Add support of nested null values From 8b662be42b27e0a35c06710db2eda661d8bb8904 Mon Sep 17 00:00:00 2001 From: Pedro Paulo Amorim Date: Tue, 31 Mar 2020 15:03:35 +0100 Subject: [PATCH 6/7] Update CHANGELOG.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Clément Renault --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 156c36e1a..7fd511a12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,4 +3,4 @@ - Add the number of hits in search result (#541) - Add support for aligned crop in search result (#543) - Sanitize the content displayed in the web interface (#539) - - Add support of nested null values + - Add support of nested null and boolean values From e698fa0b634ae48f4971b40980b978e666ba58ac Mon Sep 17 00:00:00 2001 From: Pedro Paulo de Amorim Date: Tue, 31 Mar 2020 15:06:04 +0100 Subject: [PATCH 7/7] Add issue index in the CHANGELOG --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fd511a12..6bcaac83f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,4 +3,4 @@ - Add the number of hits in search result (#541) - Add support for aligned crop in search result (#543) - Sanitize the content displayed in the web interface (#539) - - Add support of nested null and boolean values + - Add support of nested null and boolean values (#571 and #568)