mirror of
https://github.com/meilisearch/meilisearch.git
synced 2024-11-29 08:35:15 +08:00
Add a new dump test
This commit is contained in:
parent
1f4fc9c229
commit
03ffabe889
Binary file not shown.
@ -20,6 +20,8 @@ pub enum GetDump {
|
|||||||
RubyGemsWithSettingsV4,
|
RubyGemsWithSettingsV4,
|
||||||
|
|
||||||
TestV5,
|
TestV5,
|
||||||
|
|
||||||
|
TestV6WithExperimental,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl GetDump {
|
impl GetDump {
|
||||||
@ -68,6 +70,10 @@ impl GetDump {
|
|||||||
GetDump::TestV5 => {
|
GetDump::TestV5 => {
|
||||||
exist_relative_path!("tests/assets/v5_v0.28.0_test_dump.dump").into()
|
exist_relative_path!("tests/assets/v5_v0.28.0_test_dump.dump").into()
|
||||||
}
|
}
|
||||||
|
GetDump::TestV6WithExperimental => exist_relative_path!(
|
||||||
|
"tests/assets/v6_v1.6.0_use_deactivated_experimental_setting.dump"
|
||||||
|
)
|
||||||
|
.into(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1810,3 +1810,108 @@ async fn import_dump_v5() {
|
|||||||
json_string!(tasks, { ".results[].details.dumpUid" => "[uid]", ".results[].duration" => "[duration]" , ".results[].startedAt" => "[date]" , ".results[].finishedAt" => "[date]" })
|
json_string!(tasks, { ".results[].details.dumpUid" => "[uid]", ".results[].duration" => "[duration]" , ".results[].startedAt" => "[date]" , ".results[].finishedAt" => "[date]" })
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[actix_rt::test]
|
||||||
|
async fn import_dump_v6_containing_experimental_features() {
|
||||||
|
let temp = tempfile::tempdir().unwrap();
|
||||||
|
|
||||||
|
let options = Opt {
|
||||||
|
import_dump: Some(GetDump::TestV6WithExperimental.path()),
|
||||||
|
..default_settings(temp.path())
|
||||||
|
};
|
||||||
|
let mut server = Server::new_auth_with_options(options, temp).await;
|
||||||
|
server.use_api_key("MASTER_KEY");
|
||||||
|
|
||||||
|
let (indexes, code) = server.list_indexes(None, None).await;
|
||||||
|
assert_eq!(code, 200, "{indexes}");
|
||||||
|
|
||||||
|
assert_eq!(indexes["results"].as_array().unwrap().len(), 1);
|
||||||
|
assert_eq!(indexes["results"][0]["uid"], json!("movies"));
|
||||||
|
assert_eq!(indexes["results"][0]["primaryKey"], json!("id"));
|
||||||
|
|
||||||
|
let (response, code) = server.get_features().await;
|
||||||
|
meili_snap::snapshot!(code, @"200 OK");
|
||||||
|
meili_snap::snapshot!(meili_snap::json_string!(response), @r###"
|
||||||
|
{
|
||||||
|
"scoreDetails": false,
|
||||||
|
"vectorStore": false,
|
||||||
|
"metrics": false,
|
||||||
|
"exportPuffinReports": false,
|
||||||
|
"proximityPrecision": false
|
||||||
|
}
|
||||||
|
"###);
|
||||||
|
|
||||||
|
let index = server.index("movies");
|
||||||
|
|
||||||
|
let (response, code) = index.settings().await;
|
||||||
|
meili_snap::snapshot!(code, @"200 OK");
|
||||||
|
meili_snap::snapshot!(meili_snap::json_string!(response), @r###"
|
||||||
|
{
|
||||||
|
"displayedAttributes": [
|
||||||
|
"*"
|
||||||
|
],
|
||||||
|
"searchableAttributes": [
|
||||||
|
"*"
|
||||||
|
],
|
||||||
|
"filterableAttributes": [],
|
||||||
|
"sortableAttributes": [],
|
||||||
|
"rankingRules": [
|
||||||
|
"words",
|
||||||
|
"typo",
|
||||||
|
"proximity"
|
||||||
|
],
|
||||||
|
"stopWords": [],
|
||||||
|
"nonSeparatorTokens": [],
|
||||||
|
"separatorTokens": [],
|
||||||
|
"dictionary": [],
|
||||||
|
"synonyms": {},
|
||||||
|
"distinctAttribute": null,
|
||||||
|
"proximityPrecision": "attributeScale",
|
||||||
|
"typoTolerance": {
|
||||||
|
"enabled": true,
|
||||||
|
"minWordSizeForTypos": {
|
||||||
|
"oneTypo": 5,
|
||||||
|
"twoTypos": 9
|
||||||
|
},
|
||||||
|
"disableOnWords": [],
|
||||||
|
"disableOnAttributes": []
|
||||||
|
},
|
||||||
|
"faceting": {
|
||||||
|
"maxValuesPerFacet": 100,
|
||||||
|
"sortFacetValuesBy": {
|
||||||
|
"*": "alpha"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pagination": {
|
||||||
|
"maxTotalHits": 1000
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"###);
|
||||||
|
|
||||||
|
// the expected order is [1, 3, 2] instead of [3, 1, 2]
|
||||||
|
// because the attribute scale doesn't make the difference between 1 and 3.
|
||||||
|
index
|
||||||
|
.search(json!({"q": "the soup of day"}), |response, code| {
|
||||||
|
snapshot!(code, @"200 OK");
|
||||||
|
snapshot!(json_string!(response["hits"]), @r###"
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"a": "Soup of the day",
|
||||||
|
"b": "many the fish"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 3,
|
||||||
|
"a": "the Soup of day",
|
||||||
|
"b": "many the fish"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 2,
|
||||||
|
"a": "Soup of day",
|
||||||
|
"b": "many the lazy fish"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
"###);
|
||||||
|
})
|
||||||
|
.await;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user