diff --git a/crates/meilisearch/tests/network/mod.rs b/crates/meilisearch/tests/network/mod.rs index 60f73ed40..e25656eb0 100644 --- a/crates/meilisearch/tests/network/mod.rs +++ b/crates/meilisearch/tests/network/mod.rs @@ -46,7 +46,7 @@ async fn errors_on_param() { meili_snap::snapshot!(code, @"400 Bad Request"); meili_snap::snapshot!(meili_snap::json_string!(response), @r###" { - "message": "Unknown field `selfie`: expected one of `remotes`, `self`", + "message": "Unknown field `selfie`: expected one of `remotes`, `self`, `sharding`", "code": "bad_request", "type": "invalid_request", "link": "https://docs.meilisearch.com/errors#bad_request" @@ -149,7 +149,7 @@ async fn errors_on_param() { meili_snap::snapshot!(code, @"400 Bad Request"); meili_snap::snapshot!(meili_snap::json_string!(response), @r###" { - "message": "Unknown field `doggo` inside `.remotes.new`: expected one of `url`, `searchApiKey`", + "message": "Unknown field `doggo` inside `.remotes.new`: expected one of `url`, `searchApiKey`, `writeApiKey`", "code": "invalid_network_remotes", "type": "invalid_request", "link": "https://docs.meilisearch.com/errors#invalid_network_remotes" @@ -192,9 +192,11 @@ async fn errors_on_param() { "remotes": { "kefir": { "url": "http://localhost:7700", - "searchApiKey": null + "searchApiKey": null, + "writeApiKey": null } - } + }, + "sharding": false } "###); let (response, code) = server @@ -266,7 +268,8 @@ async fn auth() { meili_snap::snapshot!(meili_snap::json_string!(response), @r###" { "self": "master", - "remotes": {} + "remotes": {}, + "sharding": false } "###); @@ -274,11 +277,12 @@ async fn auth() { meili_snap::snapshot!(code, @"200 OK"); meili_snap::snapshot!(meili_snap::json_string!(response), @r###" -{ - "self": "master", - "remotes": {} -} -"###); + { + "self": "master", + "remotes": {}, + "sharding": false + } + "###); // try get with get permission server.use_api_key(get_network_key.as_str().unwrap()); @@ -286,11 +290,12 @@ async fn auth() { meili_snap::snapshot!(code, @"200 OK"); meili_snap::snapshot!(meili_snap::json_string!(response), @r###" -{ - "self": "master", - "remotes": {} -} -"###); + { + "self": "master", + "remotes": {}, + "sharding": false + } + "###); // try update with update permission server.use_api_key(update_network_key.as_str().unwrap()); @@ -303,11 +308,12 @@ async fn auth() { meili_snap::snapshot!(code, @"200 OK"); meili_snap::snapshot!(meili_snap::json_string!(response), @r###" -{ - "self": "api_key", - "remotes": {} -} -"###); + { + "self": "api_key", + "remotes": {}, + "sharding": false + } + "###); // try with the other's permission let (response, code) = server.get_network().await; @@ -383,7 +389,8 @@ async fn get_and_set_network() { meili_snap::snapshot!(meili_snap::json_string!(response), @r###" { "self": null, - "remotes": {} + "remotes": {}, + "sharding": false } "###); @@ -393,7 +400,8 @@ async fn get_and_set_network() { meili_snap::snapshot!(meili_snap::json_string!(response), @r###" { "self": "myself", - "remotes": {} + "remotes": {}, + "sharding": false } "###); @@ -417,13 +425,16 @@ async fn get_and_set_network() { "remotes": { "myself": { "url": "http://localhost:7700", - "searchApiKey": null + "searchApiKey": null, + "writeApiKey": null }, "thy": { "url": "http://localhost:7701", - "searchApiKey": "foo" + "searchApiKey": "foo", + "writeApiKey": null } - } + }, + "sharding": false } "###); @@ -443,13 +454,16 @@ async fn get_and_set_network() { "remotes": { "myself": { "url": "http://localhost:7700", - "searchApiKey": null + "searchApiKey": null, + "writeApiKey": null }, "thy": { "url": "http://localhost:7701", - "searchApiKey": "bar" + "searchApiKey": "bar", + "writeApiKey": null } - } + }, + "sharding": false } "###); @@ -470,17 +484,21 @@ async fn get_and_set_network() { "remotes": { "myself": { "url": "http://localhost:7700", - "searchApiKey": null + "searchApiKey": null, + "writeApiKey": null }, "them": { "url": "http://localhost:7702", - "searchApiKey": "baz" + "searchApiKey": "baz", + "writeApiKey": null }, "thy": { "url": "http://localhost:7701", - "searchApiKey": "bar" + "searchApiKey": "bar", + "writeApiKey": null } - } + }, + "sharding": false } "###); @@ -498,13 +516,16 @@ async fn get_and_set_network() { "remotes": { "them": { "url": "http://localhost:7702", - "searchApiKey": "baz" + "searchApiKey": "baz", + "writeApiKey": null }, "thy": { "url": "http://localhost:7701", - "searchApiKey": "bar" + "searchApiKey": "bar", + "writeApiKey": null } - } + }, + "sharding": false } "###); @@ -518,13 +539,16 @@ async fn get_and_set_network() { "remotes": { "them": { "url": "http://localhost:7702", - "searchApiKey": "baz" + "searchApiKey": "baz", + "writeApiKey": null }, "thy": { "url": "http://localhost:7701", - "searchApiKey": "bar" + "searchApiKey": "bar", + "writeApiKey": null } - } + }, + "sharding": false } "###); @@ -538,13 +562,16 @@ async fn get_and_set_network() { "remotes": { "them": { "url": "http://localhost:7702", - "searchApiKey": "baz" + "searchApiKey": "baz", + "writeApiKey": null }, "thy": { "url": "http://localhost:7701", - "searchApiKey": "bar" + "searchApiKey": "bar", + "writeApiKey": null } - } + }, + "sharding": false } "###); @@ -553,60 +580,69 @@ async fn get_and_set_network() { meili_snap::snapshot!(code, @"200 OK"); meili_snap::snapshot!(meili_snap::json_string!(response), @r###" - { - "self": "thy", - "remotes": { - "them": { - "url": "http://localhost:7702", - "searchApiKey": "baz" - }, - "thy": { - "url": "http://localhost:7701", - "searchApiKey": "bar" - } - } + { + "self": "thy", + "remotes": { + "them": { + "url": "http://localhost:7702", + "searchApiKey": "baz", + "writeApiKey": null + }, + "thy": { + "url": "http://localhost:7701", + "searchApiKey": "bar", + "writeApiKey": null } - "###); + }, + "sharding": false + } + "###); // still doing nothing let (response, code) = server.set_network(json!({"remotes": {}})).await; meili_snap::snapshot!(code, @"200 OK"); meili_snap::snapshot!(meili_snap::json_string!(response), @r###" - { - "self": "thy", - "remotes": { - "them": { - "url": "http://localhost:7702", - "searchApiKey": "baz" - }, - "thy": { - "url": "http://localhost:7701", - "searchApiKey": "bar" - } - } + { + "self": "thy", + "remotes": { + "them": { + "url": "http://localhost:7702", + "searchApiKey": "baz", + "writeApiKey": null + }, + "thy": { + "url": "http://localhost:7701", + "searchApiKey": "bar", + "writeApiKey": null } - "###); + }, + "sharding": false + } + "###); // good time to check GET let (response, code) = server.get_network().await; meili_snap::snapshot!(code, @"200 OK"); meili_snap::snapshot!(meili_snap::json_string!(response), @r###" - { - "self": "thy", - "remotes": { - "them": { - "url": "http://localhost:7702", - "searchApiKey": "baz" - }, - "thy": { - "url": "http://localhost:7701", - "searchApiKey": "bar" - } - } + { + "self": "thy", + "remotes": { + "them": { + "url": "http://localhost:7702", + "searchApiKey": "baz", + "writeApiKey": null + }, + "thy": { + "url": "http://localhost:7701", + "searchApiKey": "bar", + "writeApiKey": null } - "###); + }, + "sharding": false + } + "###); // deleting everything let (response, code) = server @@ -619,7 +655,8 @@ async fn get_and_set_network() { meili_snap::snapshot!(meili_snap::json_string!(response), @r###" { "self": "thy", - "remotes": {} + "remotes": {}, + "sharding": false } "###); } diff --git a/crates/meilisearch/tests/search/multi/proxy.rs b/crates/meilisearch/tests/search/multi/proxy.rs index c1d40ef3b..6b09c4fdf 100644 --- a/crates/meilisearch/tests/search/multi/proxy.rs +++ b/crates/meilisearch/tests/search/multi/proxy.rs @@ -131,7 +131,8 @@ async fn remote_sharding() { snapshot!(json_string!(response), @r###" { "self": "ms0", - "remotes": {} + "remotes": {}, + "sharding": false } "###); let (response, code) = ms1.set_network(json!({"self": "ms1"})).await; @@ -139,7 +140,8 @@ async fn remote_sharding() { snapshot!(json_string!(response), @r###" { "self": "ms1", - "remotes": {} + "remotes": {}, + "sharding": false } "###); let (response, code) = ms2.set_network(json!({"self": "ms2"})).await; @@ -147,7 +149,8 @@ async fn remote_sharding() { snapshot!(json_string!(response), @r###" { "self": "ms2", - "remotes": {} + "remotes": {}, + "sharding": false } "###); @@ -436,7 +439,8 @@ async fn error_unregistered_remote() { snapshot!(json_string!(response), @r###" { "self": "ms0", - "remotes": {} + "remotes": {}, + "sharding": false } "###); let (response, code) = ms1.set_network(json!({"self": "ms1"})).await; @@ -444,7 +448,8 @@ async fn error_unregistered_remote() { snapshot!(json_string!(response), @r###" { "self": "ms1", - "remotes": {} + "remotes": {}, + "sharding": false } "###); @@ -554,7 +559,8 @@ async fn error_no_weighted_score() { snapshot!(json_string!(response), @r###" { "self": "ms0", - "remotes": {} + "remotes": {}, + "sharding": false } "###); let (response, code) = ms1.set_network(json!({"self": "ms1"})).await; @@ -562,7 +568,8 @@ async fn error_no_weighted_score() { snapshot!(json_string!(response), @r###" { "self": "ms1", - "remotes": {} + "remotes": {}, + "sharding": false } "###); @@ -687,7 +694,8 @@ async fn error_bad_response() { snapshot!(json_string!(response), @r###" { "self": "ms0", - "remotes": {} + "remotes": {}, + "sharding": false } "###); let (response, code) = ms1.set_network(json!({"self": "ms1"})).await; @@ -695,7 +703,8 @@ async fn error_bad_response() { snapshot!(json_string!(response), @r###" { "self": "ms1", - "remotes": {} + "remotes": {}, + "sharding": false } "###); @@ -824,7 +833,8 @@ async fn error_bad_request() { snapshot!(json_string!(response), @r###" { "self": "ms0", - "remotes": {} + "remotes": {}, + "sharding": false } "###); let (response, code) = ms1.set_network(json!({"self": "ms1"})).await; @@ -832,7 +842,8 @@ async fn error_bad_request() { snapshot!(json_string!(response), @r###" { "self": "ms1", - "remotes": {} + "remotes": {}, + "sharding": false } "###); @@ -954,7 +965,8 @@ async fn error_bad_request_facets_by_index() { snapshot!(json_string!(response), @r###" { "self": "ms0", - "remotes": {} + "remotes": {}, + "sharding": false } "###); let (response, code) = ms1.set_network(json!({"self": "ms1"})).await; @@ -962,7 +974,8 @@ async fn error_bad_request_facets_by_index() { snapshot!(json_string!(response), @r###" { "self": "ms1", - "remotes": {} + "remotes": {}, + "sharding": false } "###); @@ -1095,7 +1108,8 @@ async fn error_bad_request_facets_by_index_facet() { snapshot!(json_string!(response), @r###" { "self": "ms0", - "remotes": {} + "remotes": {}, + "sharding": false } "###); let (response, code) = ms1.set_network(json!({"self": "ms1"})).await; @@ -1103,7 +1117,8 @@ async fn error_bad_request_facets_by_index_facet() { snapshot!(json_string!(response), @r###" { "self": "ms1", - "remotes": {} + "remotes": {}, + "sharding": false } "###); @@ -1244,7 +1259,8 @@ async fn error_remote_does_not_answer() { snapshot!(json_string!(response), @r###" { "self": "ms0", - "remotes": {} + "remotes": {}, + "sharding": false } "###); let (response, code) = ms1.set_network(json!({"self": "ms1"})).await; @@ -1252,7 +1268,8 @@ async fn error_remote_does_not_answer() { snapshot!(json_string!(response), @r###" { "self": "ms1", - "remotes": {} + "remotes": {}, + "sharding": false } "###); @@ -1445,7 +1462,8 @@ async fn error_remote_404() { snapshot!(json_string!(response), @r###" { "self": "ms0", - "remotes": {} + "remotes": {}, + "sharding": false } "###); let (response, code) = ms1.set_network(json!({"self": "ms1"})).await; @@ -1453,7 +1471,8 @@ async fn error_remote_404() { snapshot!(json_string!(response), @r###" { "self": "ms1", - "remotes": {} + "remotes": {}, + "sharding": false } "###); @@ -1640,7 +1659,8 @@ async fn error_remote_sharding_auth() { snapshot!(json_string!(response), @r###" { "self": "ms0", - "remotes": {} + "remotes": {}, + "sharding": false } "###); let (response, code) = ms1.set_network(json!({"self": "ms1"})).await; @@ -1648,7 +1668,8 @@ async fn error_remote_sharding_auth() { snapshot!(json_string!(response), @r###" { "self": "ms1", - "remotes": {} + "remotes": {}, + "sharding": false } "###); @@ -1800,7 +1821,8 @@ async fn remote_sharding_auth() { snapshot!(json_string!(response), @r###" { "self": "ms0", - "remotes": {} + "remotes": {}, + "sharding": false } "###); let (response, code) = ms1.set_network(json!({"self": "ms1"})).await; @@ -1808,7 +1830,8 @@ async fn remote_sharding_auth() { snapshot!(json_string!(response), @r###" { "self": "ms1", - "remotes": {} + "remotes": {}, + "sharding": false } "###); @@ -1955,7 +1978,8 @@ async fn error_remote_500() { snapshot!(json_string!(response), @r###" { "self": "ms0", - "remotes": {} + "remotes": {}, + "sharding": false } "###); let (response, code) = ms1.set_network(json!({"self": "ms1"})).await; @@ -1963,7 +1987,8 @@ async fn error_remote_500() { snapshot!(json_string!(response), @r###" { "self": "ms1", - "remotes": {} + "remotes": {}, + "sharding": false } "###); @@ -2134,7 +2159,8 @@ async fn error_remote_500_once() { snapshot!(json_string!(response), @r###" { "self": "ms0", - "remotes": {} + "remotes": {}, + "sharding": false } "###); let (response, code) = ms1.set_network(json!({"self": "ms1"})).await; @@ -2142,7 +2168,8 @@ async fn error_remote_500_once() { snapshot!(json_string!(response), @r###" { "self": "ms1", - "remotes": {} + "remotes": {}, + "sharding": false } "###);