mirror of
https://github.com/meilisearch/MeiliSearch
synced 2024-07-05 10:29:28 +02:00
79 lines
2.9 KiB
Rust
79 lines
2.9 KiB
Rust
use meili_snap::*;
|
|
use serde_json::json;
|
|
|
|
use crate::common::Server;
|
|
|
|
#[actix_rt::test]
|
|
async fn swap_indexes_bad_format() {
|
|
let server = Server::new().await;
|
|
|
|
let (response, code) = server.index_swap(json!("doggo")).await;
|
|
snapshot!(code, @"400 Bad Request");
|
|
snapshot!(json_string!(response), @r###"
|
|
{
|
|
"message": "invalid type: String `\"doggo\"`, expected a Sequence at ``.",
|
|
"code": "bad_request",
|
|
"type": "invalid_request",
|
|
"link": "https://docs.meilisearch.com/errors#bad-request"
|
|
}
|
|
"###);
|
|
let (response, code) = server.index_swap(json!(["doggo"])).await;
|
|
snapshot!(code, @"400 Bad Request");
|
|
snapshot!(json_string!(response), @r###"
|
|
{
|
|
"message": "invalid type: String `\"doggo\"`, expected a Map at `[0]`.",
|
|
"code": "bad_request",
|
|
"type": "invalid_request",
|
|
"link": "https://docs.meilisearch.com/errors#bad-request"
|
|
}
|
|
"###);
|
|
}
|
|
|
|
#[actix_rt::test]
|
|
async fn swap_indexes_bad_indexes() {
|
|
let server = Server::new().await;
|
|
|
|
let (response, code) = server.index_swap(json!([{ "indexes": "doggo"}])).await;
|
|
snapshot!(code, @"400 Bad Request");
|
|
snapshot!(json_string!(response), @r###"
|
|
{
|
|
"message": "invalid type: String `\"doggo\"`, expected a Sequence at `[0].indexes`.",
|
|
"code": "invalid_swap_indexes",
|
|
"type": "invalid_request",
|
|
"link": "https://docs.meilisearch.com/errors#invalid-swap-indexes"
|
|
}
|
|
"###);
|
|
let (response, code) = server.index_swap(json!([{ "indexes": ["doggo"]}])).await;
|
|
snapshot!(code, @"400 Bad Request");
|
|
snapshot!(json_string!(response), @r###"
|
|
{
|
|
"message": "Two indexes must be given for each swap. The list `[\"doggo\"]` contains 1 indexes.",
|
|
"code": "invalid_swap_indexes",
|
|
"type": "invalid_request",
|
|
"link": "https://docs.meilisearch.com/errors#invalid-swap-indexes"
|
|
}
|
|
"###);
|
|
let (response, code) = server.index_swap(json!([{ "indexes": ["doggo", "doggo"]}])).await;
|
|
snapshot!(code, @"400 Bad Request");
|
|
snapshot!(json_string!(response), @r###"
|
|
{
|
|
"message": "Indexes must be declared only once during a swap. `doggo` was specified several times.",
|
|
"code": "invalid_swap_duplicate_index_found",
|
|
"type": "invalid_request",
|
|
"link": "https://docs.meilisearch.com/errors#invalid-swap-duplicate-index-found"
|
|
}
|
|
"###);
|
|
let (response, code) = server
|
|
.index_swap(json!([{ "indexes": ["doggo", "catto"]}, { "indexes": ["girafo", "doggo"]}]))
|
|
.await;
|
|
snapshot!(code, @"400 Bad Request");
|
|
snapshot!(json_string!(response), @r###"
|
|
{
|
|
"message": "Indexes must be declared only once during a swap. `doggo` was specified several times.",
|
|
"code": "invalid_swap_duplicate_index_found",
|
|
"type": "invalid_request",
|
|
"link": "https://docs.meilisearch.com/errors#invalid-swap-duplicate-index-found"
|
|
}
|
|
"###);
|
|
}
|