diff --git a/crates/meilisearch/tests/search/restrict_searchable.rs b/crates/meilisearch/tests/search/restrict_searchable.rs index 8ef5db26d..e5408a210 100644 --- a/crates/meilisearch/tests/search/restrict_searchable.rs +++ b/crates/meilisearch/tests/search/restrict_searchable.rs @@ -2,11 +2,11 @@ use meili_snap::{json_string, snapshot}; use once_cell::sync::Lazy; use crate::common::index::Index; -use crate::common::{Server, Value}; +use crate::common::{Server, Shared, Value}; use crate::json; -async fn index_with_documents<'a>(server: &'a Server, documents: &Value) -> Index<'a> { - let index = server.index("test"); +async fn index_with_documents<'a>(server: &'a Server, documents: &Value) -> Index<'a> { + let index = server.unique_index(); let (task, _code) = index.add_documents(documents.clone(), None).await; index.wait_task(task.uid()).await.succeeded(); @@ -34,8 +34,8 @@ static SIMPLE_SEARCH_DOCUMENTS: Lazy = Lazy::new(|| { #[actix_rt::test] async fn simple_search_on_title() { - let server = Server::new().await; - let index = index_with_documents(&server, &SIMPLE_SEARCH_DOCUMENTS).await; + let server = Server::new_shared(); + let index = index_with_documents(server, &SIMPLE_SEARCH_DOCUMENTS).await; // simple search should return 2 documents (ids: 2 and 3). index @@ -51,8 +51,8 @@ async fn simple_search_on_title() { #[actix_rt::test] async fn search_no_searchable_attribute_set() { - let server = Server::new().await; - let index = index_with_documents(&server, &SIMPLE_SEARCH_DOCUMENTS).await; + let server = Server::new_shared(); + let index = index_with_documents(server, &SIMPLE_SEARCH_DOCUMENTS).await; index .search( @@ -93,8 +93,8 @@ async fn search_no_searchable_attribute_set() { #[actix_rt::test] async fn search_on_all_attributes() { - let server = Server::new().await; - let index = index_with_documents(&server, &SIMPLE_SEARCH_DOCUMENTS).await; + let server = Server::new_shared(); + let index = index_with_documents(server, &SIMPLE_SEARCH_DOCUMENTS).await; index .search(json!({"q": "Captain Marvel", "attributesToSearchOn": ["*"]}), |response, code| { @@ -106,8 +106,8 @@ async fn search_on_all_attributes() { #[actix_rt::test] async fn search_on_all_attributes_restricted_set() { - let server = Server::new().await; - let index = index_with_documents(&server, &SIMPLE_SEARCH_DOCUMENTS).await; + let server = Server::new_shared(); + let index = index_with_documents(server, &SIMPLE_SEARCH_DOCUMENTS).await; let (task, _status_code) = index.update_settings_searchable_attributes(json!(["title"])).await; index.wait_task(task.uid()).await.succeeded(); @@ -121,8 +121,8 @@ async fn search_on_all_attributes_restricted_set() { #[actix_rt::test] async fn simple_prefix_search_on_title() { - let server = Server::new().await; - let index = index_with_documents(&server, &SIMPLE_SEARCH_DOCUMENTS).await; + let server = Server::new_shared(); + let index = index_with_documents(server, &SIMPLE_SEARCH_DOCUMENTS).await; // simple search should return 2 documents (ids: 2 and 3). index @@ -135,8 +135,8 @@ async fn simple_prefix_search_on_title() { #[actix_rt::test] async fn simple_search_on_title_matching_strategy_all() { - let server = Server::new().await; - let index = index_with_documents(&server, &SIMPLE_SEARCH_DOCUMENTS).await; + let server = Server::new_shared(); + let index = index_with_documents(server, &SIMPLE_SEARCH_DOCUMENTS).await; // simple search matching strategy all should only return 1 document (ids: 2). index .search(json!({"q": "Captain Marvel", "attributesToSearchOn": ["title"], "matchingStrategy": "all"}), |response, code| { @@ -148,8 +148,8 @@ async fn simple_search_on_title_matching_strategy_all() { #[actix_rt::test] async fn simple_search_on_no_field() { - let server = Server::new().await; - let index = index_with_documents(&server, &SIMPLE_SEARCH_DOCUMENTS).await; + let server = Server::new_shared(); + let index = index_with_documents(server, &SIMPLE_SEARCH_DOCUMENTS).await; // simple search on no field shouldn't return any document. index .search(json!({"q": "Captain Marvel", "attributesToSearchOn": []}), |response, code| { @@ -161,8 +161,8 @@ async fn simple_search_on_no_field() { #[actix_rt::test] async fn word_ranking_rule_order() { - let server = Server::new().await; - let index = index_with_documents(&server, &SIMPLE_SEARCH_DOCUMENTS).await; + let server = Server::new_shared(); + let index = index_with_documents(server, &SIMPLE_SEARCH_DOCUMENTS).await; // Document 3 should appear before document 2. index @@ -189,8 +189,8 @@ async fn word_ranking_rule_order() { #[actix_rt::test] async fn word_ranking_rule_order_exact_words() { - let server = Server::new().await; - let index = index_with_documents(&server, &SIMPLE_SEARCH_DOCUMENTS).await; + let server = Server::new_shared(); + let index = index_with_documents(server, &SIMPLE_SEARCH_DOCUMENTS).await; let (task, _status_code) = index .update_settings_typo_tolerance(json!({"disableOnWords": ["Captain", "Marvel"]})) .await; @@ -221,9 +221,9 @@ async fn word_ranking_rule_order_exact_words() { #[actix_rt::test] async fn typo_ranking_rule_order() { - let server = Server::new().await; + let server = Server::new_shared(); let index = index_with_documents( - &server, + server, &json!([ { "title": "Capitain Marivel", @@ -260,9 +260,9 @@ async fn typo_ranking_rule_order() { #[actix_rt::test] async fn attributes_ranking_rule_order() { - let server = Server::new().await; + let server = Server::new_shared(); let index = index_with_documents( - &server, + server, &json!([ { "title": "Captain Marvel", @@ -301,9 +301,9 @@ async fn attributes_ranking_rule_order() { #[actix_rt::test] async fn exactness_ranking_rule_order() { - let server = Server::new().await; + let server = Server::new_shared(); let index = index_with_documents( - &server, + server, &json!([ { "title": "Captain Marvel", @@ -340,9 +340,9 @@ async fn exactness_ranking_rule_order() { #[actix_rt::test] async fn search_on_exact_field() { - let server = Server::new().await; + let server = Server::new_shared(); let index = index_with_documents( - &server, + server, &json!([ { "title": "Captain Marvel", @@ -359,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); + assert_eq!(202, code, "{response:?}"); index.wait_task(response.uid()).await.succeeded(); // Searching on an exact attribute should only return the document matching without typo. index @@ -372,7 +372,7 @@ async fn search_on_exact_field() { #[actix_rt::test] async fn phrase_search_on_title() { - let server = Server::new().await; + let server = Server::new_shared(); let documents = json!([ { "id": 8, "desc": "Document Review", "title": "Document Review Specialist II" }, { "id": 5, "desc": "Document Review", "title": "Document Review Attorney" }, @@ -383,7 +383,7 @@ async fn phrase_search_on_title() { { "id": 7, "desc": "Document Review", "title": "Document Review Specialist II" }, { "id": 6, "desc": "Document Review", "title": "Document Review (Entry Level)" } ]); - let index = index_with_documents(&server, &documents).await; + let index = index_with_documents(server, &documents).await; index .search( @@ -460,8 +460,8 @@ static NESTED_SEARCH_DOCUMENTS: Lazy = Lazy::new(|| { #[actix_rt::test] async fn nested_search_on_title_with_prefix_wildcard() { - let server = Server::new().await; - let index = index_with_documents(&server, &NESTED_SEARCH_DOCUMENTS).await; + let server = Server::new_shared(); + let index = index_with_documents(server, &NESTED_SEARCH_DOCUMENTS).await; // Wildcard should match to 'details.' attribute index @@ -486,8 +486,8 @@ async fn nested_search_on_title_with_prefix_wildcard() { #[actix_rt::test] async fn nested_search_with_suffix_wildcard() { - let server = Server::new().await; - let index = index_with_documents(&server, &NESTED_SEARCH_DOCUMENTS).await; + let server = Server::new_shared(); + let index = index_with_documents(server, &NESTED_SEARCH_DOCUMENTS).await; // Wildcard should match to any attribute inside 'details.' // It's worth noting the difference between 'details.*' and '*.title' @@ -553,8 +553,8 @@ async fn nested_search_with_suffix_wildcard() { #[actix_rt::test] async fn nested_search_on_title_restricted_set_with_suffix_wildcard() { - let server = Server::new().await; - let index = index_with_documents(&server, &NESTED_SEARCH_DOCUMENTS).await; + let server = Server::new_shared(); + let index = index_with_documents(server, &NESTED_SEARCH_DOCUMENTS).await; let (task, _status_code) = index.update_settings_searchable_attributes(json!(["details.title"])).await; index.wait_task(task.uid()).await.succeeded(); @@ -581,8 +581,8 @@ async fn nested_search_on_title_restricted_set_with_suffix_wildcard() { #[actix_rt::test] async fn nested_search_no_searchable_attribute_set_with_any_wildcard() { - let server = Server::new().await; - let index = index_with_documents(&server, &NESTED_SEARCH_DOCUMENTS).await; + let server = Server::new_shared(); + let index = index_with_documents(server, &NESTED_SEARCH_DOCUMENTS).await; index .search( @@ -632,8 +632,8 @@ async fn nested_search_no_searchable_attribute_set_with_any_wildcard() { #[actix_rt::test] async fn nested_prefix_search_on_title_with_prefix_wildcard() { - let server = Server::new().await; - let index = index_with_documents(&server, &NESTED_SEARCH_DOCUMENTS).await; + let server = Server::new_shared(); + let index = index_with_documents(server, &NESTED_SEARCH_DOCUMENTS).await; // Nested prefix search with prefix wildcard should return 2 documents (ids: 2 and 3). index @@ -658,8 +658,8 @@ async fn nested_prefix_search_on_title_with_prefix_wildcard() { #[actix_rt::test] async fn nested_prefix_search_on_details_with_suffix_wildcard() { - let server = Server::new().await; - let index = index_with_documents(&server, &NESTED_SEARCH_DOCUMENTS).await; + let server = Server::new_shared(); + let index = index_with_documents(server, &NESTED_SEARCH_DOCUMENTS).await; index .search( @@ -686,8 +686,8 @@ async fn nested_prefix_search_on_details_with_suffix_wildcard() { #[actix_rt::test] async fn nested_prefix_search_on_weaknesses_with_suffix_wildcard() { - let server = Server::new().await; - let index = index_with_documents(&server, &NESTED_SEARCH_DOCUMENTS).await; + let server = Server::new_shared(); + let index = index_with_documents(server, &NESTED_SEARCH_DOCUMENTS).await; // Wildcard search on nested weaknesses should return 2 documents (ids: 1 and 3) index @@ -712,8 +712,8 @@ async fn nested_prefix_search_on_weaknesses_with_suffix_wildcard() { #[actix_rt::test] async fn nested_search_on_title_matching_strategy_all() { - let server = Server::new().await; - let index = index_with_documents(&server, &NESTED_SEARCH_DOCUMENTS).await; + let server = Server::new_shared(); + let index = index_with_documents(server, &NESTED_SEARCH_DOCUMENTS).await; // Nested search matching strategy all should only return 1 document (ids: 3) index @@ -735,8 +735,8 @@ async fn nested_search_on_title_matching_strategy_all() { #[actix_rt::test] async fn nested_attributes_ranking_rule_order_with_prefix_wildcard() { - let server = Server::new().await; - let index = index_with_documents(&server, &NESTED_SEARCH_DOCUMENTS).await; + let server = Server::new_shared(); + let index = index_with_documents(server, &NESTED_SEARCH_DOCUMENTS).await; // Document 3 should appear before documents 1 and 2 index @@ -766,8 +766,8 @@ async fn nested_attributes_ranking_rule_order_with_prefix_wildcard() { #[actix_rt::test] async fn nested_attributes_ranking_rule_order_with_suffix_wildcard() { - let server = Server::new().await; - let index = index_with_documents(&server, &NESTED_SEARCH_DOCUMENTS).await; + let server = Server::new_shared(); + let index = index_with_documents(server, &NESTED_SEARCH_DOCUMENTS).await; // Document 3 should appear before documents 1 and 2 index