mirror of
https://github.com/meilisearch/meilisearch.git
synced 2024-11-23 02:27:40 +08:00
Merge #4730
4730: fix a possibly flaky test r=irevoire a=irevoire On slow CI, it was possible for a document addition to _not_ to be processed and then get autobatched with an index deletion, which changed their task summary details in the end. Now, I wait for the task to finish, and the result will always be the same Co-authored-by: Tamo <tamo@meilisearch.com>
This commit is contained in:
commit
2c09c324f7
@ -2,6 +2,7 @@ mod errors;
|
|||||||
mod webhook;
|
mod webhook;
|
||||||
|
|
||||||
use meili_snap::insta::assert_json_snapshot;
|
use meili_snap::insta::assert_json_snapshot;
|
||||||
|
use meili_snap::snapshot;
|
||||||
use time::format_description::well_known::Rfc3339;
|
use time::format_description::well_known::Rfc3339;
|
||||||
use time::OffsetDateTime;
|
use time::OffsetDateTime;
|
||||||
|
|
||||||
@ -738,11 +739,9 @@ async fn test_summarized_index_creation() {
|
|||||||
async fn test_summarized_index_deletion() {
|
async fn test_summarized_index_deletion() {
|
||||||
let server = Server::new().await;
|
let server = Server::new().await;
|
||||||
let index = server.index("test");
|
let index = server.index("test");
|
||||||
index.delete().await;
|
let (ret, _code) = index.delete().await;
|
||||||
index.wait_task(0).await;
|
let task = index.wait_task(ret.uid()).await;
|
||||||
let (task, _) = index.get_task(0).await;
|
snapshot!(task,
|
||||||
assert_json_snapshot!(task,
|
|
||||||
{ ".duration" => "[duration]", ".enqueuedAt" => "[date]", ".startedAt" => "[date]", ".finishedAt" => "[date]" },
|
|
||||||
@r###"
|
@r###"
|
||||||
{
|
{
|
||||||
"uid": 0,
|
"uid": 0,
|
||||||
@ -767,12 +766,34 @@ async fn test_summarized_index_deletion() {
|
|||||||
"###);
|
"###);
|
||||||
|
|
||||||
// is the details correctly set when documents are actually deleted.
|
// is the details correctly set when documents are actually deleted.
|
||||||
|
// /!\ We need to wait for the document addition to be processed otherwise, if the test runs too slow,
|
||||||
|
// both tasks may get autobatched and the deleted documents count will be wrong.
|
||||||
|
let (ret, _code) =
|
||||||
index.add_documents(json!({ "id": 42, "content": "doggos & fluff" }), Some("id")).await;
|
index.add_documents(json!({ "id": 42, "content": "doggos & fluff" }), Some("id")).await;
|
||||||
index.delete().await;
|
let task = index.wait_task(ret.uid()).await;
|
||||||
index.wait_task(2).await;
|
snapshot!(task,
|
||||||
let (task, _) = index.get_task(2).await;
|
@r###"
|
||||||
assert_json_snapshot!(task,
|
{
|
||||||
{ ".duration" => "[duration]", ".enqueuedAt" => "[date]", ".startedAt" => "[date]", ".finishedAt" => "[date]" },
|
"uid": 1,
|
||||||
|
"indexUid": "test",
|
||||||
|
"status": "succeeded",
|
||||||
|
"type": "documentAdditionOrUpdate",
|
||||||
|
"canceledBy": null,
|
||||||
|
"details": {
|
||||||
|
"receivedDocuments": 1,
|
||||||
|
"indexedDocuments": 1
|
||||||
|
},
|
||||||
|
"error": null,
|
||||||
|
"duration": "[duration]",
|
||||||
|
"enqueuedAt": "[date]",
|
||||||
|
"startedAt": "[date]",
|
||||||
|
"finishedAt": "[date]"
|
||||||
|
}
|
||||||
|
"###);
|
||||||
|
|
||||||
|
let (ret, _code) = index.delete().await;
|
||||||
|
let task = index.wait_task(ret.uid()).await;
|
||||||
|
snapshot!(task,
|
||||||
@r###"
|
@r###"
|
||||||
{
|
{
|
||||||
"uid": 2,
|
"uid": 2,
|
||||||
@ -792,22 +813,25 @@ async fn test_summarized_index_deletion() {
|
|||||||
"###);
|
"###);
|
||||||
|
|
||||||
// What happens when you delete an index that doesn't exists.
|
// What happens when you delete an index that doesn't exists.
|
||||||
index.delete().await;
|
let (ret, _code) = index.delete().await;
|
||||||
index.wait_task(2).await;
|
let task = index.wait_task(ret.uid()).await;
|
||||||
let (task, _) = index.get_task(2).await;
|
snapshot!(task,
|
||||||
assert_json_snapshot!(task,
|
|
||||||
{ ".duration" => "[duration]", ".enqueuedAt" => "[date]", ".startedAt" => "[date]", ".finishedAt" => "[date]" },
|
|
||||||
@r###"
|
@r###"
|
||||||
{
|
{
|
||||||
"uid": 2,
|
"uid": 3,
|
||||||
"indexUid": "test",
|
"indexUid": "test",
|
||||||
"status": "succeeded",
|
"status": "failed",
|
||||||
"type": "indexDeletion",
|
"type": "indexDeletion",
|
||||||
"canceledBy": null,
|
"canceledBy": null,
|
||||||
"details": {
|
"details": {
|
||||||
"deletedDocuments": 1
|
"deletedDocuments": 0
|
||||||
|
},
|
||||||
|
"error": {
|
||||||
|
"message": "Index `test` not found.",
|
||||||
|
"code": "index_not_found",
|
||||||
|
"type": "invalid_request",
|
||||||
|
"link": "https://docs.meilisearch.com/errors#index_not_found"
|
||||||
},
|
},
|
||||||
"error": null,
|
|
||||||
"duration": "[duration]",
|
"duration": "[duration]",
|
||||||
"enqueuedAt": "[date]",
|
"enqueuedAt": "[date]",
|
||||||
"startedAt": "[date]",
|
"startedAt": "[date]",
|
||||||
|
Loading…
Reference in New Issue
Block a user