2423: Paginate the index resource r=MarinPostma a=irevoire

Fix #2373


Co-authored-by: Irevoire <tamo@meilisearch.com>
This commit is contained in:
bors[bot] 2022-05-31 19:25:25 +00:00 committed by GitHub
commit e81c7aa2e6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 208 additions and 75 deletions

View file

@ -41,13 +41,12 @@ async fn import_dump_v2_movie_raw() {
};
let server = Server::new_with_options(options).await.unwrap();
let (indexes, code) = server.list_indexes().await;
let (indexes, code) = server.list_indexes(None, None).await;
assert_eq!(code, 200);
assert_eq!(indexes.as_array().unwrap().len(), 1);
assert_eq!(indexes[0]["uid"], json!("indexUID"));
assert_eq!(indexes[0]["name"], json!("indexUID"));
assert_eq!(indexes[0]["primaryKey"], json!("id"));
assert_eq!(indexes["results"].as_array().unwrap().len(), 1);
assert_eq!(indexes["results"][0]["uid"], json!("indexUID"));
assert_eq!(indexes["results"][0]["primaryKey"], json!("id"));
let index = server.index("indexUID");
@ -106,13 +105,12 @@ async fn import_dump_v2_movie_with_settings() {
};
let server = Server::new_with_options(options).await.unwrap();
let (indexes, code) = server.list_indexes().await;
let (indexes, code) = server.list_indexes(None, None).await;
assert_eq!(code, 200);
assert_eq!(indexes.as_array().unwrap().len(), 1);
assert_eq!(indexes[0]["uid"], json!("indexUID"));
assert_eq!(indexes[0]["name"], json!("indexUID"));
assert_eq!(indexes[0]["primaryKey"], json!("id"));
assert_eq!(indexes["results"].as_array().unwrap().len(), 1);
assert_eq!(indexes["results"][0]["uid"], json!("indexUID"));
assert_eq!(indexes["results"][0]["primaryKey"], json!("id"));
let index = server.index("indexUID");
@ -171,13 +169,12 @@ async fn import_dump_v2_rubygems_with_settings() {
};
let server = Server::new_with_options(options).await.unwrap();
let (indexes, code) = server.list_indexes().await;
let (indexes, code) = server.list_indexes(None, None).await;
assert_eq!(code, 200);
assert_eq!(indexes.as_array().unwrap().len(), 1);
assert_eq!(indexes[0]["uid"], json!("rubygems"));
assert_eq!(indexes[0]["name"], json!("rubygems"));
assert_eq!(indexes[0]["primaryKey"], json!("id"));
assert_eq!(indexes["results"].as_array().unwrap().len(), 1);
assert_eq!(indexes["results"][0]["uid"], json!("rubygems"));
assert_eq!(indexes["results"][0]["primaryKey"], json!("id"));
let index = server.index("rubygems");
@ -240,13 +237,12 @@ async fn import_dump_v3_movie_raw() {
};
let server = Server::new_with_options(options).await.unwrap();
let (indexes, code) = server.list_indexes().await;
let (indexes, code) = server.list_indexes(None, None).await;
assert_eq!(code, 200);
assert_eq!(indexes.as_array().unwrap().len(), 1);
assert_eq!(indexes[0]["uid"], json!("indexUID"));
assert_eq!(indexes[0]["name"], json!("indexUID"));
assert_eq!(indexes[0]["primaryKey"], json!("id"));
assert_eq!(indexes["results"].as_array().unwrap().len(), 1);
assert_eq!(indexes["results"][0]["uid"], json!("indexUID"));
assert_eq!(indexes["results"][0]["primaryKey"], json!("id"));
let index = server.index("indexUID");
@ -305,13 +301,12 @@ async fn import_dump_v3_movie_with_settings() {
};
let server = Server::new_with_options(options).await.unwrap();
let (indexes, code) = server.list_indexes().await;
let (indexes, code) = server.list_indexes(None, None).await;
assert_eq!(code, 200);
assert_eq!(indexes.as_array().unwrap().len(), 1);
assert_eq!(indexes[0]["uid"], json!("indexUID"));
assert_eq!(indexes[0]["name"], json!("indexUID"));
assert_eq!(indexes[0]["primaryKey"], json!("id"));
assert_eq!(indexes["results"].as_array().unwrap().len(), 1);
assert_eq!(indexes["results"][0]["uid"], json!("indexUID"));
assert_eq!(indexes["results"][0]["primaryKey"], json!("id"));
let index = server.index("indexUID");
@ -336,7 +331,7 @@ async fn import_dump_v3_movie_with_settings() {
json!({ "results": [{ "uid": 1, "indexUid": "indexUID", "status": "succeeded", "type": "settingsUpdate", "details": { "displayedAttributes": ["title", "genres", "overview", "poster", "release_date"], "searchableAttributes": ["title", "overview"], "filterableAttributes": ["genres"], "stopWords": ["of", "the"] }, "duration": "PT37.488777S", "enqueuedAt": "2021-09-08T08:24:02.323444Z", "startedAt": "2021-09-08T08:24:02.324145Z", "finishedAt": "2021-09-08T08:24:39.812922Z" }, { "uid": 0, "indexUid": "indexUID", "status": "succeeded", "type": "documentAdditionOrUpdate", "details": { "receivedDocuments": 0, "indexedDocuments": 31944 }, "duration": "PT39.941318S", "enqueuedAt": "2021-09-08T08:21:14.742672Z", "startedAt": "2021-09-08T08:21:14.750166Z", "finishedAt": "2021-09-08T08:21:54.691484Z" }]})
);
// finally we're just going to check that we can still get a few documents by id
// finally we're just going to check that we can["results"] still get a few documents by id
let (document, code) = index.get_document(100, None).await;
assert_eq!(code, 200);
assert_eq!(
@ -370,13 +365,12 @@ async fn import_dump_v3_rubygems_with_settings() {
};
let server = Server::new_with_options(options).await.unwrap();
let (indexes, code) = server.list_indexes().await;
let (indexes, code) = server.list_indexes(None, None).await;
assert_eq!(code, 200);
assert_eq!(indexes.as_array().unwrap().len(), 1);
assert_eq!(indexes[0]["uid"], json!("rubygems"));
assert_eq!(indexes[0]["name"], json!("rubygems"));
assert_eq!(indexes[0]["primaryKey"], json!("id"));
assert_eq!(indexes["results"].as_array().unwrap().len(), 1);
assert_eq!(indexes["results"][0]["uid"], json!("rubygems"));
assert_eq!(indexes["results"][0]["primaryKey"], json!("id"));
let index = server.index("rubygems");
@ -439,13 +433,12 @@ async fn import_dump_v4_movie_raw() {
};
let server = Server::new_with_options(options).await.unwrap();
let (indexes, code) = server.list_indexes().await;
let (indexes, code) = server.list_indexes(None, None).await;
assert_eq!(code, 200);
assert_eq!(indexes.as_array().unwrap().len(), 1);
assert_eq!(indexes[0]["uid"], json!("indexUID"));
assert_eq!(indexes[0]["name"], json!("indexUID"));
assert_eq!(indexes[0]["primaryKey"], json!("id"));
assert_eq!(indexes["results"].as_array().unwrap().len(), 1);
assert_eq!(indexes["results"][0]["uid"], json!("indexUID"));
assert_eq!(indexes["results"][0]["primaryKey"], json!("id"));
let index = server.index("indexUID");
@ -504,13 +497,12 @@ async fn import_dump_v4_movie_with_settings() {
};
let server = Server::new_with_options(options).await.unwrap();
let (indexes, code) = server.list_indexes().await;
let (indexes, code) = server.list_indexes(None, None).await;
assert_eq!(code, 200);
assert_eq!(indexes.as_array().unwrap().len(), 1);
assert_eq!(indexes[0]["uid"], json!("indexUID"));
assert_eq!(indexes[0]["name"], json!("indexUID"));
assert_eq!(indexes[0]["primaryKey"], json!("id"));
assert_eq!(indexes["results"].as_array().unwrap().len(), 1);
assert_eq!(indexes["results"][0]["uid"], json!("indexUID"));
assert_eq!(indexes["results"][0]["primaryKey"], json!("id"));
let index = server.index("indexUID");
@ -569,13 +561,12 @@ async fn import_dump_v4_rubygems_with_settings() {
};
let server = Server::new_with_options(options).await.unwrap();
let (indexes, code) = server.list_indexes().await;
let (indexes, code) = server.list_indexes(None, None).await;
assert_eq!(code, 200);
assert_eq!(indexes.as_array().unwrap().len(), 1);
assert_eq!(indexes[0]["uid"], json!("rubygems"));
assert_eq!(indexes[0]["name"], json!("rubygems"));
assert_eq!(indexes[0]["primaryKey"], json!("id"));
assert_eq!(indexes["results"].as_array().unwrap().len(), 1);
assert_eq!(indexes["results"][0]["uid"], json!("rubygems"));
assert_eq!(indexes["results"][0]["primaryKey"], json!("id"));
let index = server.index("rubygems");