#4840 - Partial fix - Remove hard coded task ids to prevent flaky tests.

# Conflicts:
#	crates/meilisearch/tests/documents/add_documents.rs
#	crates/meilisearch/tests/search/facet_search.rs
#	crates/meilisearch/tests/settings/get_settings.rs
#	crates/meilisearch/tests/snapshot/mod.rs
This commit is contained in:
Mahmoud Rawas 2024-12-21 21:46:51 +11:00
parent fc23a0ee52
commit 91c7ef8723
24 changed files with 555 additions and 547 deletions

View file

@ -151,8 +151,8 @@ async fn distinct_search_with_offset_no_ranking() {
let documents = DOCUMENTS.clone();
index.add_documents(documents, Some(DOCUMENT_PRIMARY_KEY)).await;
index.update_distinct_attribute(json!(DOCUMENT_DISTINCT_KEY)).await;
index.wait_task(1).await;
let (task,_status_code) = index.update_distinct_attribute(json!(DOCUMENT_DISTINCT_KEY)).await;
index.wait_task(task.uid()).await;
fn get_hits(response: &Value) -> Vec<&str> {
let hits_array = response["hits"].as_array().unwrap();
@ -210,8 +210,8 @@ async fn distinct_search_with_pagination_no_ranking() {
let documents = DOCUMENTS.clone();
index.add_documents(documents, Some(DOCUMENT_PRIMARY_KEY)).await;
index.update_distinct_attribute(json!(DOCUMENT_DISTINCT_KEY)).await;
index.wait_task(1).await;
let (task,_status_code) = index.update_distinct_attribute(json!(DOCUMENT_DISTINCT_KEY)).await;
index.wait_task(task.uid()).await;
fn get_hits(response: &Value) -> Vec<&str> {
let hits_array = response["hits"].as_array().unwrap();

View file

@ -41,8 +41,8 @@ async fn simple_facet_search() {
let documents = DOCUMENTS.clone();
index.update_settings_filterable_attributes(json!(["genres"])).await;
let (response, _code) = index.add_documents(documents, None).await;
index.wait_task(response.uid()).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) =
index.facet_search(json!({"facetName": "genres", "facetQuery": "a"})).await;
@ -175,8 +175,8 @@ async fn advanced_facet_search() {
let documents = DOCUMENTS.clone();
index.update_settings_filterable_attributes(json!(["genres"])).await;
index.update_settings_typo_tolerance(json!({ "enabled": false })).await;
let (response, _code) = index.add_documents(documents, None).await;
index.wait_task(response.uid()).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) =
index.facet_search(json!({"facetName": "genres", "facetQuery": "adventre"})).await;
@ -199,8 +199,8 @@ async fn more_advanced_facet_search() {
let documents = DOCUMENTS.clone();
index.update_settings_filterable_attributes(json!(["genres"])).await;
index.update_settings_typo_tolerance(json!({ "disableOnWords": ["adventre"] })).await;
let (response, _code) = index.add_documents(documents, None).await;
index.wait_task(response.uid()).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) =
index.facet_search(json!({"facetName": "genres", "facetQuery": "adventre"})).await;
@ -223,8 +223,8 @@ async fn simple_facet_search_with_max_values() {
let documents = DOCUMENTS.clone();
index.update_settings_faceting(json!({ "maxValuesPerFacet": 1 })).await;
index.update_settings_filterable_attributes(json!(["genres"])).await;
let (response, _code) = index.add_documents(documents, None).await;
index.wait_task(response.uid()).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) =
index.facet_search(json!({"facetName": "genres", "facetQuery": "a"})).await;
@ -245,8 +245,8 @@ async fn simple_facet_search_by_count_with_max_values() {
)
.await;
index.update_settings_filterable_attributes(json!(["genres"])).await;
let (response, _code) = index.add_documents(documents, None).await;
index.wait_task(response.uid()).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) =
index.facet_search(json!({"facetName": "genres", "facetQuery": "a"})).await;
@ -261,8 +261,8 @@ async fn non_filterable_facet_search_error() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
let (response, _code) = index.add_documents(documents, None).await;
index.wait_task(response.uid()).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) =
index.facet_search(json!({"facetName": "genres", "facetQuery": "a"})).await;
@ -280,8 +280,8 @@ async fn facet_search_dont_support_words() {
let documents = DOCUMENTS.clone();
index.update_settings_filterable_attributes(json!(["genres"])).await;
let (response, _code) = index.add_documents(documents, None).await;
index.wait_task(response.uid()).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) =
index.facet_search(json!({"facetName": "genres", "facetQuery": "words"})).await;
@ -298,8 +298,8 @@ async fn simple_facet_search_with_sort_by_count() {
let documents = DOCUMENTS.clone();
index.update_settings_faceting(json!({ "sortFacetValuesBy": { "*": "count" } })).await;
index.update_settings_filterable_attributes(json!(["genres"])).await;
let (response, _code) = index.add_documents(documents, None).await;
index.wait_task(response.uid()).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) =
index.facet_search(json!({"facetName": "genres", "facetQuery": "a"})).await;

View file

@ -46,8 +46,8 @@ async fn geo_sort_with_geo_strings() {
let documents = DOCUMENTS.clone();
index.update_settings_filterable_attributes(json!(["_geo"])).await;
index.update_settings_sortable_attributes(json!(["_geo"])).await;
index.add_documents(documents, None).await;
index.wait_task(2).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
index
.search(

View file

@ -98,8 +98,8 @@ async fn simple_search() {
json!({"searchableAttributes": ["name_en", "name_ja", "name_zh", "author_en", "author_ja", "author_zh", "description_en", "description_ja", "description_zh"]}),
)
.await;
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
// english
index
@ -220,8 +220,8 @@ async fn force_locales() {
"enqueuedAt": "[date]"
}
"###);
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
// chinese detection
index
@ -298,8 +298,8 @@ async fn force_locales_with_pattern() {
"enqueuedAt": "[date]"
}
"###);
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
// chinese detection
index
@ -374,8 +374,8 @@ async fn force_locales_with_pattern_nested() {
"enqueuedAt": "[date]"
}
"###);
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
// chinese
index
@ -449,8 +449,8 @@ async fn force_different_locales_with_pattern() {
"enqueuedAt": "[date]"
}
"###);
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
// force chinese
index
@ -527,8 +527,8 @@ async fn auto_infer_locales_at_search_with_attributes_to_search_on() {
"enqueuedAt": "[date]"
}
"###);
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
// auto infer any language
index
@ -601,8 +601,8 @@ async fn auto_infer_locales_at_search() {
"enqueuedAt": "[date]"
}
"###);
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
index
.search(
@ -700,8 +700,8 @@ async fn force_different_locales_with_pattern_nested() {
"enqueuedAt": "[date]"
}
"###);
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
// chinese
index
@ -778,8 +778,8 @@ async fn settings_change() {
let index = server.index("test");
let documents = NESTED_DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, _) = index
.update_settings(json!({
"searchableAttributes": ["document_en", "document_ja", "document_zh"],
@ -798,7 +798,7 @@ async fn settings_change() {
"enqueuedAt": "[date]"
}
"###);
index.wait_task(1).await;
index.wait_task(response.uid()).await;
// chinese
index
@ -861,7 +861,7 @@ async fn settings_change() {
"enqueuedAt": "[date]"
}
"###);
index.wait_task(2).await;
index.wait_task(response.uid()).await;
// chinese
index
@ -915,8 +915,8 @@ async fn invalid_locales() {
json!({"searchableAttributes": ["name_en", "name_ja", "name_zh", "author_en", "author_ja", "author_zh", "description_en", "description_ja", "description_zh"]}),
)
.await;
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = index.search_post(json!({"q": "Atta", "locales": ["invalid"]})).await;
snapshot!(code, @"400 Bad Request");
@ -1033,8 +1033,8 @@ async fn simple_facet_search() {
"enqueuedAt": "[date]"
}
"###);
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, _) = index
.facet_search(json!({"facetName": "name_zh", "facetQuery": "進撃", "locales": ["cmn"]}))
@ -1095,8 +1095,8 @@ async fn facet_search_with_localized_attributes() {
"enqueuedAt": "[date]"
}
"###);
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, _) = index
.facet_search(json!({"facetName": "name_zh", "facetQuery": "进击", "locales": ["cmn"]}))
@ -1165,7 +1165,7 @@ async fn swedish_search() {
]
}))
.await;
index.wait_task(1).await;
index.wait_task(_response.uid()).await;
// infer swedish
index
@ -1286,7 +1286,7 @@ async fn german_search() {
]
}))
.await;
index.wait_task(1).await;
index.wait_task(_response.uid()).await;
// infer swedish
index

View file

@ -8,8 +8,8 @@ use crate::json;
async fn index_with_documents<'a>(server: &'a Server, documents: &Value) -> Index<'a> {
let index = server.index("test");
index.add_documents(documents.clone(), None).await;
index.wait_task(0).await;
let(task,_status_code) =index.add_documents(documents.clone(), None).await;
index.wait_task(task.uid()).await;
index
}

View file

@ -138,8 +138,8 @@ async fn phrase_search_with_stop_word() {
meili_snap::snapshot!(code, @"202 Accepted");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
index
.search(json!({"q": "how \"to\" train \"the" }), |response, code| {
@ -218,11 +218,11 @@ async fn negative_special_cases_search() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
index.update_settings(json!({"synonyms": { "escape": ["gläss"] }})).await;
index.wait_task(1).await;
let (task,_status_code) = index.update_settings(json!({"synonyms": { "escape": ["gläss"] }})).await;
index.wait_task(task.uid()).await;
// There is a synonym for escape -> glass but we don't want "escape", only the derivates: glass
index
@ -247,8 +247,8 @@ async fn test_kanji_language_detection() {
{ "id": 1, "title": "東京のお寿司。" },
{ "id": 2, "title": "הַשּׁוּעָל הַמָּהִיר (״הַחוּם״) לֹא יָכוֹל לִקְפֹּץ 9.94 מֶטְרִים, נָכוֹן? ברר, 1.5°C- בַּחוּץ!" }
]);
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
index
.search(json!({"q": "東京"}), |response, code| {
@ -270,11 +270,11 @@ async fn test_thai_language() {
{ "id": 1, "title": "สบู่สมุนไพรชาเขียว 100 กรัม จำนวน 6 ก้อน" },
{ "id": 2, "title": "สบู่สมุนไพรฝางแดงผสมว่านหางจรเข้ 100 กรัม จำนวน 6 ก้อน" }
]);
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
index.update_settings(json!({"rankingRules": ["exactness"]})).await;
index.wait_task(1).await;
let (task,_status_code) = index.update_settings(json!({"rankingRules": ["exactness"]})).await;
index.wait_task(task.uid()).await;
index
.search(json!({"q": "สบู"}), |response, code| {
@ -329,9 +329,9 @@ async fn search_with_filter_string_notation() {
meili_snap::snapshot!(code, @"202 Accepted");
let documents = DOCUMENTS.clone();
let (_, code) = index.add_documents(documents, None).await;
let (task, code) = index.add_documents(documents, None).await;
meili_snap::snapshot!(code, @"202 Accepted");
let res = index.wait_task(1).await;
let res = index.wait_task(task.uid()).await;
meili_snap::snapshot!(res["status"], @r###""succeeded""###);
index
@ -353,9 +353,9 @@ async fn search_with_filter_string_notation() {
meili_snap::snapshot!(code, @"202 Accepted");
let documents = NESTED_DOCUMENTS.clone();
let (_, code) = index.add_documents(documents, None).await;
let (task, code) = index.add_documents(documents, None).await;
meili_snap::snapshot!(code, @"202 Accepted");
let res = index.wait_task(3).await;
let res = index.wait_task(task.uid()).await;
meili_snap::snapshot!(res["status"], @r###""succeeded""###);
index
@ -607,8 +607,8 @@ async fn displayed_attributes() {
index.update_settings(json!({ "displayedAttributes": ["title"] })).await;
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) =
index.search_post(json!({ "attributesToRetrieve": ["title", "id"] })).await;
@ -622,8 +622,8 @@ async fn placeholder_search_is_hard_limited() {
let index = server.index("test");
let documents: Vec<_> = (0..1200).map(|i| json!({ "id": i, "text": "I am unique!" })).collect();
index.add_documents(documents.into(), None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents.into(), None).await;
index.wait_task(task.uid()).await;
index
.search(
@ -650,8 +650,8 @@ async fn placeholder_search_is_hard_limited() {
)
.await;
index.update_settings(json!({ "pagination": { "maxTotalHits": 10_000 } })).await;
index.wait_task(1).await;
let (task,_status_code) = index.update_settings(json!({ "pagination": { "maxTotalHits": 10_000 } })).await;
index.wait_task(task.uid()).await;
index
.search(
@ -685,8 +685,8 @@ async fn search_is_hard_limited() {
let index = server.index("test");
let documents: Vec<_> = (0..1200).map(|i| json!({ "id": i, "text": "I am unique!" })).collect();
index.add_documents(documents.into(), None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents.into(), None).await;
index.wait_task(task.uid()).await;
index
.search(
@ -715,8 +715,8 @@ async fn search_is_hard_limited() {
)
.await;
index.update_settings(json!({ "pagination": { "maxTotalHits": 10_000 } })).await;
index.wait_task(1).await;
let (task,_status_code) = index.update_settings(json!({ "pagination": { "maxTotalHits": 10_000 } })).await;
index.wait_task(task.uid()).await;
index
.search(
@ -754,8 +754,8 @@ async fn faceting_max_values_per_facet() {
index.update_settings(json!({ "filterableAttributes": ["number"] })).await;
let documents: Vec<_> = (0..10_000).map(|id| json!({ "id": id, "number": id * 10 })).collect();
index.add_documents(json!(documents), None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(json!(documents), None).await;
index.wait_task(task.uid()).await;
index
.search(
@ -770,8 +770,8 @@ async fn faceting_max_values_per_facet() {
)
.await;
index.update_settings(json!({ "faceting": { "maxValuesPerFacet": 10_000 } })).await;
index.wait_task(2).await;
let (task,_status_code) = index.update_settings(json!({ "faceting": { "maxValuesPerFacet": 10_000 } })).await;
index.wait_task(task.uid()).await;
index
.search(
@ -1162,8 +1162,8 @@ async fn experimental_feature_vector_store() {
let documents = DOCUMENTS.clone();
index.add_documents(json!(documents), None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(json!(documents), None).await;
index.wait_task(task.uid()).await;
let (response, code) = index
.search_post(json!({
@ -1369,8 +1369,8 @@ async fn camelcased_words() {
{ "id": 3, "title": "TestAb" },
{ "id": 4, "title": "testab" },
]);
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
index
.search(json!({"q": "deLonghi"}), |response, code| {
@ -1587,13 +1587,13 @@ async fn simple_search_with_strange_synonyms() {
let server = Server::new().await;
let index = server.index("test");
index.update_settings(json!({ "synonyms": {"&": ["to"], "to": ["&"]} })).await;
let r = index.wait_task(0).await;
let (task,_status_code) = index.update_settings(json!({ "synonyms": {"&": ["to"], "to": ["&"]} })).await;
let r = index.wait_task(task.uid()).await;
meili_snap::snapshot!(r["status"], @r###""succeeded""###);
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
index
.search(json!({"q": "How to train"}), |response, code| {
@ -1679,11 +1679,12 @@ async fn change_attributes_settings() {
index.update_settings(json!({ "searchableAttributes": ["father", "mother"] })).await;
let documents = NESTED_DOCUMENTS.clone();
index.add_documents(json!(documents), None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(json!(documents), None).await;
index.wait_task(task.uid()).await;
index.update_settings(json!({ "searchableAttributes": ["father", "mother", "doggos"], "filterableAttributes": ["doggos"] })).await;
index.wait_task(2).await;
let (task,_status_code) =
index.update_settings(json!({ "searchableAttributes": ["father", "mother", "doggos"], "filterableAttributes": ["doggos"] })).await;
index.wait_task(task.uid()).await;
// search
index

View file

@ -89,8 +89,8 @@ async fn simple_search_single_index() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"queries": [
@ -161,8 +161,8 @@ async fn federation_single_search_single_index() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"federation": {}, "queries": [
@ -208,8 +208,8 @@ async fn federation_multiple_search_single_index() {
let index = server.index("test");
let documents = SCORE_DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"federation": {}, "queries": [
@ -283,8 +283,8 @@ async fn federation_two_search_single_index() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"federation": {}, "queries": [
@ -351,8 +351,8 @@ async fn simple_search_missing_index_uid() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"queries": [
@ -376,8 +376,8 @@ async fn federation_simple_search_missing_index_uid() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"federation": {}, "queries": [
@ -401,8 +401,8 @@ async fn simple_search_illegal_index_uid() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"queries": [
@ -426,8 +426,8 @@ async fn federation_search_illegal_index_uid() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"federation": {}, "queries": [
@ -451,13 +451,13 @@ async fn simple_search_two_indexes() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let index = server.index("nested");
let documents = NESTED_DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (add_task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(add_task.uid()).await;
let (response, code) = server
.multi_search(json!({"queries": [
@ -558,13 +558,13 @@ async fn federation_two_search_two_indexes() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let index = server.index("nested");
let documents = NESTED_DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"federation": {}, "queries": [
@ -666,18 +666,18 @@ async fn federation_multiple_search_multiple_indexes() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let index = server.index("nested");
let documents = NESTED_DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let index = server.index("score");
let documents = SCORE_DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(2).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"federation": {}, "queries": [
@ -924,8 +924,8 @@ async fn search_one_index_doesnt_exist() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"queries": [
@ -950,8 +950,8 @@ async fn federation_one_index_doesnt_exist() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"federation": {}, "queries": [
@ -1021,13 +1021,13 @@ async fn search_one_query_error() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let index = server.index("nested");
let documents = NESTED_DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"queries": [
@ -1053,13 +1053,13 @@ async fn federation_one_query_error() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let index = server.index("nested");
let documents = NESTED_DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"federation": {}, "queries": [
@ -1085,13 +1085,13 @@ async fn federation_one_query_sort_error() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let index = server.index("nested");
let documents = NESTED_DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"federation": {}, "queries": [
@ -1117,13 +1117,13 @@ async fn search_multiple_query_errors() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let index = server.index("nested");
let documents = NESTED_DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"queries": [
@ -1149,13 +1149,13 @@ async fn federation_multiple_query_errors() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let index = server.index("nested");
let documents = NESTED_DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"queries": [
@ -1181,13 +1181,13 @@ async fn federation_multiple_query_sort_errors() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let index = server.index("nested");
let documents = NESTED_DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"queries": [
@ -1213,13 +1213,13 @@ async fn federation_multiple_query_errors_interleaved() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let index = server.index("nested");
let documents = NESTED_DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"queries": [
@ -1246,13 +1246,13 @@ async fn federation_multiple_query_sort_errors_interleaved() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let index = server.index("nested");
let documents = NESTED_DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let (response, code) = server
.multi_search(json!({"queries": [
@ -3020,18 +3020,18 @@ async fn federation_limit_offset() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let index = server.index("nested");
let documents = NESTED_DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let index = server.index("score");
let documents = SCORE_DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(2).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
{
let (response, code) = server
.multi_search(json!({"federation": {}, "queries": [
@ -3338,18 +3338,18 @@ async fn federation_formatting() {
let index = server.index("test");
let documents = DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(0).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let index = server.index("nested");
let documents = NESTED_DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(1).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
let index = server.index("score");
let documents = SCORE_DOCUMENTS.clone();
index.add_documents(documents, None).await;
index.wait_task(2).await;
let (task,_status_code) = index.add_documents(documents, None).await;
index.wait_task(task.uid()).await;
{
let (response, code) = server
.multi_search(json!({"federation": {}, "queries": [

View file

@ -1,3 +1,4 @@
use actix_web::web::resource;
use meili_snap::{json_string, snapshot};
use once_cell::sync::Lazy;
@ -64,8 +65,8 @@ async fn search_no_searchable_attribute_set() {
)
.await;
index.update_settings_searchable_attributes(json!(["*"])).await;
index.wait_task(1).await;
let (task,_status_code) = index.update_settings_searchable_attributes(json!(["*"])).await;
index.wait_task(task.uid()).await;
index
.search(
@ -77,8 +78,8 @@ async fn search_no_searchable_attribute_set() {
)
.await;
index.update_settings_searchable_attributes(json!(["*"])).await;
index.wait_task(2).await;
let (task,_status_code) = index.update_settings_searchable_attributes(json!(["*"])).await;
index.wait_task(task.uid()).await;
index
.search(
@ -108,8 +109,8 @@ async fn search_on_all_attributes() {
async fn search_on_all_attributes_restricted_set() {
let server = Server::new().await;
let index = index_with_documents(&server, &SIMPLE_SEARCH_DOCUMENTS).await;
index.update_settings_searchable_attributes(json!(["title"])).await;
index.wait_task(1).await;
let (task,_status_code) = index.update_settings_searchable_attributes(json!(["title"])).await;
index.wait_task(task.uid()).await;
index
.search(json!({"q": "Captain Marvel", "attributesToSearchOn": ["*"]}), |response, code| {
@ -191,8 +192,8 @@ async fn word_ranking_rule_order() {
async fn word_ranking_rule_order_exact_words() {
let server = Server::new().await;
let index = index_with_documents(&server, &SIMPLE_SEARCH_DOCUMENTS).await;
index.update_settings_typo_tolerance(json!({"disableOnWords": ["Captain", "Marvel"]})).await;
index.wait_task(1).await;
let (task,_status_code) = index.update_settings_typo_tolerance(json!({"disableOnWords": ["Captain", "Marvel"]})).await;
index.wait_task(task.uid()).await;
// simple search should return 2 documents (ids: 2 and 3).
index
@ -358,7 +359,7 @@ async fn search_on_exact_field() {
let (response, code) =
index.update_settings_typo_tolerance(json!({ "disableOnAttributes": ["exact"] })).await;
assert_eq!(202, code, "{:?}", response);
index.wait_task(1).await;
index.wait_task(response.uid()).await;
// Searching on an exact attribute should only return the document matching without typo.
index
.search(json!({"q": "Marvel", "attributesToSearchOn": ["exact"]}), |response, code| {