mirror of
https://github.com/meilisearch/MeiliSearch
synced 2025-07-03 11:57:07 +02:00
add a large test importing a data.ms from the v1.12.0
This commit is contained in:
parent
102681e384
commit
0cc25c7e4c
43 changed files with 4675 additions and 11 deletions
|
@ -1,8 +1,27 @@
|
|||
mod v1_12;
|
||||
|
||||
use meili_snap::snapshot;
|
||||
use meilisearch::Opt;
|
||||
|
||||
use crate::common::{default_settings, Server};
|
||||
|
||||
use std::path::Path;
|
||||
use std::{fs, io};
|
||||
|
||||
fn copy_dir_all(src: impl AsRef<Path>, dst: impl AsRef<Path>) -> io::Result<()> {
|
||||
fs::create_dir_all(&dst)?;
|
||||
for entry in fs::read_dir(src)? {
|
||||
let entry = entry?;
|
||||
let ty = entry.file_type()?;
|
||||
if ty.is_dir() {
|
||||
copy_dir_all(entry.path(), dst.as_ref().join(entry.file_name()))?;
|
||||
} else {
|
||||
fs::copy(entry.path(), dst.as_ref().join(entry.file_name()))?;
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[actix_rt::test]
|
||||
async fn malformed_version_file() {
|
||||
let temp = tempfile::tempdir().unwrap();
|
||||
|
@ -12,7 +31,7 @@ async fn malformed_version_file() {
|
|||
std::fs::write(db_path.join("VERSION"), "kefir").unwrap();
|
||||
let options = Opt { experimental_dumpless_upgrade: true, ..default_settings };
|
||||
let err = Server::new_with_options(options).await.map(|_| ()).unwrap_err();
|
||||
snapshot!(err, @"Version file is corrupted and thus Meilisearch is unable to determine the version of the database.");
|
||||
snapshot!(err, @"Version file is corrupted and thus Meilisearch is unable to determine the version of the database. The version contains 1 parts instead of 3 (major, minor and patch)");
|
||||
}
|
||||
|
||||
#[actix_rt::test]
|
||||
|
@ -41,3 +60,28 @@ async fn version_requires_downgrade() {
|
|||
let err = Server::new_with_options(options).await.map(|_| ()).unwrap_err();
|
||||
snapshot!(err, @"Database version 1.12.3 is higher than the binary version 1.12.2. Downgrade is not supported");
|
||||
}
|
||||
|
||||
#[actix_rt::test]
|
||||
async fn upgrade_to_the_current_version() {
|
||||
let temp = tempfile::tempdir().unwrap();
|
||||
let server = Server::new_with_options(default_settings(temp.path())).await.unwrap();
|
||||
drop(server);
|
||||
|
||||
let server = Server::new_with_options(Opt {
|
||||
experimental_dumpless_upgrade: true,
|
||||
..default_settings(temp.path())
|
||||
})
|
||||
.await
|
||||
.unwrap();
|
||||
// The upgrade tasks should NOT be spawned => task queue is empty
|
||||
let (tasks, _status) = server.tasks().await;
|
||||
snapshot!(tasks, @r#"
|
||||
{
|
||||
"results": [],
|
||||
"total": 0,
|
||||
"limit": 20,
|
||||
"from": null,
|
||||
"next": null
|
||||
}
|
||||
"#);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue