mirror of
https://github.com/meilisearch/MeiliSearch
synced 2025-06-15 12:31:35 +02:00
tests: Faster search::filters IT tests
Use shared server + unique indices Related-to: https://github.com/meilisearch/meilisearch/issues/4840 Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
This commit is contained in:
parent
1d02efeab9
commit
3ebff65ef3
@ -10,17 +10,17 @@ use crate::{
|
|||||||
|
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
async fn search_with_filter_string_notation() {
|
async fn search_with_filter_string_notation() {
|
||||||
let server = Server::new().await;
|
let server = Server::new_shared();
|
||||||
let index = server.index("test");
|
let index = server.unique_index();
|
||||||
|
|
||||||
let (_, code) = index.update_settings(json!({"filterableAttributes": ["title"]})).await;
|
let (_, code) = index.update_settings(json!({"filterableAttributes": ["title"]})).await;
|
||||||
meili_snap::snapshot!(code, @"202 Accepted");
|
snapshot!(code, @"202 Accepted");
|
||||||
|
|
||||||
let documents = DOCUMENTS.clone();
|
let documents = DOCUMENTS.clone();
|
||||||
let (task, code) = index.add_documents(documents, None).await;
|
let (task, code) = index.add_documents(documents, None).await;
|
||||||
meili_snap::snapshot!(code, @"202 Accepted");
|
snapshot!(code, @"202 Accepted");
|
||||||
let res = index.wait_task(task.uid()).await;
|
let res = index.wait_task(task.uid()).await.succeeded();
|
||||||
meili_snap::snapshot!(res["status"], @r###""succeeded""###);
|
snapshot!(res["status"], @r###""succeeded""###);
|
||||||
|
|
||||||
index
|
index
|
||||||
.search(
|
.search(
|
||||||
@ -28,44 +28,44 @@ async fn search_with_filter_string_notation() {
|
|||||||
"filter": "title = Gläss"
|
"filter": "title = Gläss"
|
||||||
}),
|
}),
|
||||||
|response, code| {
|
|response, code| {
|
||||||
assert_eq!(code, 200, "{}", response);
|
assert_eq!(code, 200, "{response}");
|
||||||
assert_eq!(response["hits"].as_array().unwrap().len(), 1);
|
assert_eq!(response["hits"].as_array().unwrap().len(), 1);
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
let index = server.index("nested");
|
let nested_index = server.unique_index();
|
||||||
|
|
||||||
let (_, code) =
|
let (_, code) =
|
||||||
index.update_settings(json!({"filterableAttributes": ["cattos", "doggos.age"]})).await;
|
nested_index.update_settings(json!({"filterableAttributes": ["cattos", "doggos.age"]})).await;
|
||||||
meili_snap::snapshot!(code, @"202 Accepted");
|
snapshot!(code, @"202 Accepted");
|
||||||
|
|
||||||
let documents = NESTED_DOCUMENTS.clone();
|
let documents = NESTED_DOCUMENTS.clone();
|
||||||
let (task, code) = index.add_documents(documents, None).await;
|
let (task, code) = nested_index.add_documents(documents, None).await;
|
||||||
meili_snap::snapshot!(code, @"202 Accepted");
|
snapshot!(code, @"202 Accepted");
|
||||||
let res = index.wait_task(task.uid()).await;
|
let res = nested_index.wait_task(task.uid()).await.succeeded();
|
||||||
meili_snap::snapshot!(res["status"], @r###""succeeded""###);
|
snapshot!(res["status"], @r###""succeeded""###);
|
||||||
|
|
||||||
index
|
nested_index
|
||||||
.search(
|
.search(
|
||||||
json!({
|
json!({
|
||||||
"filter": "cattos = pésti"
|
"filter": "cattos = pésti"
|
||||||
}),
|
}),
|
||||||
|response, code| {
|
|response, code| {
|
||||||
assert_eq!(code, 200, "{}", response);
|
assert_eq!(code, 200, "{response}");
|
||||||
assert_eq!(response["hits"].as_array().unwrap().len(), 1);
|
assert_eq!(response["hits"].as_array().unwrap().len(), 1);
|
||||||
assert_eq!(response["hits"][0]["id"], json!(852));
|
assert_eq!(response["hits"][0]["id"], json!(852));
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
index
|
nested_index
|
||||||
.search(
|
.search(
|
||||||
json!({
|
json!({
|
||||||
"filter": "doggos.age > 5"
|
"filter": "doggos.age > 5"
|
||||||
}),
|
}),
|
||||||
|response, code| {
|
|response, code| {
|
||||||
assert_eq!(code, 200, "{}", response);
|
assert_eq!(code, 200, "{response}");
|
||||||
assert_eq!(response["hits"].as_array().unwrap().len(), 2);
|
assert_eq!(response["hits"].as_array().unwrap().len(), 2);
|
||||||
assert_eq!(response["hits"][0]["id"], json!(654));
|
assert_eq!(response["hits"][0]["id"], json!(654));
|
||||||
assert_eq!(response["hits"][1]["id"], json!(951));
|
assert_eq!(response["hits"][1]["id"], json!(951));
|
||||||
@ -82,7 +82,7 @@ async fn search_with_filter_array_notation() {
|
|||||||
"filter": ["title = Gläss"]
|
"filter": ["title = Gläss"]
|
||||||
}))
|
}))
|
||||||
.await;
|
.await;
|
||||||
assert_eq!(code, 200, "{}", response);
|
assert_eq!(code, 200, "{response}");
|
||||||
assert_eq!(response["hits"].as_array().unwrap().len(), 1);
|
assert_eq!(response["hits"].as_array().unwrap().len(), 1);
|
||||||
|
|
||||||
let (response, code) = index
|
let (response, code) = index
|
||||||
@ -90,7 +90,7 @@ async fn search_with_filter_array_notation() {
|
|||||||
"filter": [["title = Gläss", "title = \"Shazam!\"", "title = \"Escape Room\""]]
|
"filter": [["title = Gläss", "title = \"Shazam!\"", "title = \"Escape Room\""]]
|
||||||
}))
|
}))
|
||||||
.await;
|
.await;
|
||||||
assert_eq!(code, 200, "{}", response);
|
assert_eq!(code, 200, "{response}");
|
||||||
assert_eq!(response["hits"].as_array().unwrap().len(), 3);
|
assert_eq!(response["hits"].as_array().unwrap().len(), 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -116,7 +116,7 @@ async fn search_with_contains_filter() {
|
|||||||
"filter": "title CONTAINS cap"
|
"filter": "title CONTAINS cap"
|
||||||
}))
|
}))
|
||||||
.await;
|
.await;
|
||||||
assert_eq!(code, 200, "{}", response);
|
assert_eq!(code, 200, "{response}");
|
||||||
assert_eq!(response["hits"].as_array().unwrap().len(), 2);
|
assert_eq!(response["hits"].as_array().unwrap().len(), 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -276,8 +276,8 @@ async fn search_with_pattern_filter_settings_scenario_1() {
|
|||||||
let index = server.index("test");
|
let index = server.index("test");
|
||||||
|
|
||||||
let (task, code) = index.add_documents(NESTED_DOCUMENTS.clone(), None).await;
|
let (task, code) = index.add_documents(NESTED_DOCUMENTS.clone(), None).await;
|
||||||
assert_eq!(code, 202, "{}", task);
|
assert_eq!(code, 202, "{task}");
|
||||||
let response = index.wait_task(task.uid()).await;
|
let response = index.wait_task(task.uid()).await.succeeded();
|
||||||
snapshot!(response["status"], @r###""succeeded""###);
|
snapshot!(response["status"], @r###""succeeded""###);
|
||||||
|
|
||||||
let (task, code) = index
|
let (task, code) = index
|
||||||
@ -289,8 +289,8 @@ async fn search_with_pattern_filter_settings_scenario_1() {
|
|||||||
}
|
}
|
||||||
}]}))
|
}]}))
|
||||||
.await;
|
.await;
|
||||||
assert_eq!(code, 202, "{}", task);
|
assert_eq!(code, 202, "{task}");
|
||||||
let response = index.wait_task(task.uid()).await;
|
let response = index.wait_task(task.uid()).await.succeeded();
|
||||||
snapshot!(response["status"], @r###""succeeded""###);
|
snapshot!(response["status"], @r###""succeeded""###);
|
||||||
|
|
||||||
// Check if the Equality filter works
|
// Check if the Equality filter works
|
||||||
@ -355,8 +355,8 @@ async fn search_with_pattern_filter_settings_scenario_1() {
|
|||||||
}
|
}
|
||||||
}]}))
|
}]}))
|
||||||
.await;
|
.await;
|
||||||
assert_eq!(code, 202, "{}", task);
|
assert_eq!(code, 202, "{task}");
|
||||||
let response = index.wait_task(task.uid()).await;
|
let response = index.wait_task(task.uid()).await.succeeded();
|
||||||
snapshot!(response["status"], @r###""succeeded""###);
|
snapshot!(response["status"], @r###""succeeded""###);
|
||||||
|
|
||||||
// Check if the Equality filter works
|
// Check if the Equality filter works
|
||||||
@ -467,8 +467,8 @@ async fn search_with_pattern_filter_settings_scenario_1() {
|
|||||||
}
|
}
|
||||||
}]}))
|
}]}))
|
||||||
.await;
|
.await;
|
||||||
assert_eq!(code, 202, "{}", task);
|
assert_eq!(code, 202, "{task}");
|
||||||
let response = index.wait_task(task.uid()).await;
|
let response = index.wait_task(task.uid()).await.succeeded();
|
||||||
snapshot!(response["status"], @r###""succeeded""###);
|
snapshot!(response["status"], @r###""succeeded""###);
|
||||||
|
|
||||||
// Check if the Equality filter returns an error
|
// Check if the Equality filter returns an error
|
||||||
@ -567,8 +567,8 @@ async fn search_with_pattern_filter_settings_scenario_1() {
|
|||||||
}
|
}
|
||||||
}]}))
|
}]}))
|
||||||
.await;
|
.await;
|
||||||
assert_eq!(code, 202, "{}", task);
|
assert_eq!(code, 202, "{task}");
|
||||||
let response = index.wait_task(task.uid()).await;
|
let response = index.wait_task(task.uid()).await.succeeded();
|
||||||
snapshot!(response["status"], @r###""succeeded""###);
|
snapshot!(response["status"], @r###""succeeded""###);
|
||||||
|
|
||||||
// Check if the Equality filter works
|
// Check if the Equality filter works
|
||||||
|
Loading…
x
Reference in New Issue
Block a user