From 54c675e19586d16a98d5bbce74a8f1991b326be8 Mon Sep 17 00:00:00 2001 From: qdequele Date: Wed, 4 Mar 2020 15:06:16 +0100 Subject: [PATCH] fix delete-batch route; #493 --- meilisearch-http/src/routes/mod.rs | 2 +- meilisearch-http/tests/common.rs | 11 ++++---- meilisearch-http/tests/documents_delete.rs | 30 ++++++++++++++++++++++ 3 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 meilisearch-http/tests/documents_delete.rs diff --git a/meilisearch-http/src/routes/mod.rs b/meilisearch-http/src/routes/mod.rs index 0dde83595..6fa5ec1e6 100644 --- a/meilisearch-http/src/routes/mod.rs +++ b/meilisearch-http/src/routes/mod.rs @@ -65,7 +65,7 @@ pub fn load_routes(app: &mut tide::Server) { .get(|ctx| into_response(document::get_document(ctx))) .delete(|ctx| into_response(document::delete_document(ctx))); - app.at("/indexes/:index/documents/:identifier/delete-batch") + app.at("/indexes/:index/documents/delete-batch") .post(|ctx| into_response(document::delete_multiple_documents(ctx))); app.at("/indexes/:index/settings") diff --git a/meilisearch-http/tests/common.rs b/meilisearch-http/tests/common.rs index 190101479..3836d4d74 100644 --- a/meilisearch-http/tests/common.rs +++ b/meilisearch-http/tests/common.rs @@ -58,6 +58,7 @@ impl Server { let response: Value = serde_json::from_slice(&buf).unwrap(); if response["status"] == "processed" { + eprintln!("{:?}", response); return; } block_on(sleep(Duration::from_secs(1))); @@ -219,14 +220,14 @@ impl Server { self.delete_request_async(&url); } - pub fn get_document(&mut self, document_id: u64) -> (Value, StatusCode) { - let url = format!("/indexes/{}/documents/{}", self.uid, document_id); + pub fn get_document(&mut self, document_id: impl ToString) -> (Value, StatusCode) { + let url = format!("/indexes/{}/documents/{}", self.uid, document_id.to_string()); self.get_request(&url) } - pub fn delete_document(&mut self, document_id: u64) -> (Value, StatusCode) { - let url = format!("/indexes/{}/documents/{}", self.uid, document_id); - self.delete_request(&url) + pub fn delete_document(&mut self, document_id: impl ToString) -> (Value, StatusCode) { + let url = format!("/indexes/{}/documents/{}", self.uid, document_id.to_string()); + self.delete_request_async(&url) } pub fn delete_multiple_documents(&mut self, body: Value) { diff --git a/meilisearch-http/tests/documents_delete.rs b/meilisearch-http/tests/documents_delete.rs new file mode 100644 index 000000000..02017aaf1 --- /dev/null +++ b/meilisearch-http/tests/documents_delete.rs @@ -0,0 +1,30 @@ +mod common; + +#[test] +fn delete() { + let mut server = common::Server::with_uid("movies"); + server.populate_movies(); + + let (_response, status_code) = server.get_document(419704); + assert_eq!(status_code, 200); + + server.delete_document(419704); + + let (_response, status_code) = server.get_document(419704); + assert_eq!(status_code, 404); +} + +#[test] +fn delete_batch() { + let mut server = common::Server::with_uid("movies"); + server.populate_movies(); + + let (_response, status_code) = server.get_document(419704); + assert_eq!(status_code, 200); + + let body = serde_json::json!([419704,512200,181812]); + server.delete_multiple_documents(body); + + let (_response, status_code) = server.get_document(419704); + assert_eq!(status_code, 404); +}