From 033794d209143b95b72e5e9061666cc7d2cecc02 Mon Sep 17 00:00:00 2001 From: Irevoire Date: Wed, 26 Oct 2022 11:23:51 +0200 Subject: [PATCH] add tests for the task deletion and task cancelation --- meilisearch-http/tests/common/server.rs | 4 ++ meilisearch-http/tests/tasks/mod.rs | 51 ++++++++++++++++++------- 2 files changed, 42 insertions(+), 13 deletions(-) diff --git a/meilisearch-http/tests/common/server.rs b/meilisearch-http/tests/common/server.rs index 8d2f68c5e..61923c448 100644 --- a/meilisearch-http/tests/common/server.rs +++ b/meilisearch-http/tests/common/server.rs @@ -156,6 +156,10 @@ impl Server { .await } + pub async fn delete_task(&self, value: Value) -> (Value, StatusCode) { + self.service.delete(format!("/tasks?{}", yaup::to_string(&value).unwrap())).await + } + pub async fn wait_task(&self, update_id: u64) -> Value { // try several times to get status, or panic to not wait forever let url = format!("/tasks/{}", update_id); diff --git a/meilisearch-http/tests/tasks/mod.rs b/meilisearch-http/tests/tasks/mod.rs index bb0720164..612e07f9e 100644 --- a/meilisearch-http/tests/tasks/mod.rs +++ b/meilisearch-http/tests/tasks/mod.rs @@ -750,40 +750,65 @@ async fn test_summarized_index_swap() { } #[actix_web::test] -#[ignore] async fn test_summarized_task_cancelation() { let server = Server::new().await; let index = server.index("doggos"); - // to avoid being flaky we're only going to test to cancel an already finished task :( + // to avoid being flaky we're only going to cancel an already finished task :( index.create(None).await; index.wait_task(0).await; - let (ret, code) = server.cancel_task(json!({ "uid": [0] })).await; - dbg!(ret, code); + server.cancel_task(json!({ "uid": [0] })).await; index.wait_task(1).await; let (task, _) = index.get_task(1).await; assert_json_snapshot!(task, { ".duration" => "[duration]", ".enqueuedAt" => "[date]", ".startedAt" => "[date]", ".finishedAt" => "[date]" }, @r###" { - "uid": 0, - "indexUid": "test", + "uid": 1, + "indexUid": null, "status": "succeeded", - "type": "indexCreation", + "type": "taskCancelation", "details": { - "primaryKey": null + "matchedTasks": 1, + "canceledTasks": 0, + "originalQuery": "uid=0" }, - "duration": "PT0.002782S", - "enqueuedAt": "2022-10-25T15:23:26.898722Z", - "startedAt": "2022-10-25T15:23:26.90063Z", - "finishedAt": "2022-10-25T15:23:26.903412Z" + "duration": "[duration]", + "enqueuedAt": "[date]", + "startedAt": "[date]", + "finishedAt": "[date]" } "###); } #[actix_web::test] -#[ignore] async fn test_summarized_task_deletion() { let server = Server::new().await; + let index = server.index("doggos"); + // to avoid being flaky we're only going to delete an already finished task :( + index.create(None).await; + index.wait_task(0).await; + server.delete_task(json!({ "uid": [0] })).await; + index.wait_task(1).await; + let (task, _) = index.get_task(1).await; + assert_json_snapshot!(task, + { ".duration" => "[duration]", ".enqueuedAt" => "[date]", ".startedAt" => "[date]", ".finishedAt" => "[date]" }, + @r###" + { + "uid": 1, + "indexUid": null, + "status": "succeeded", + "type": "taskDeletion", + "details": { + "matchedTasks": 1, + "deletedTasks": 1, + "originalQuery": "uid=0" + }, + "duration": "[duration]", + "enqueuedAt": "[date]", + "startedAt": "[date]", + "finishedAt": "[date]" + } + "###); }