84 lines
1.5 KiB
Rust
84 lines
1.5 KiB
Rust
|
mod common;
|
||
|
|
||
|
use std::io::Write;
|
||
|
use common::*;
|
||
|
|
||
|
#[test]
|
||
|
fn empty_migration_list() -> TestResult {
|
||
|
Command::cargo_bin("migra")?
|
||
|
.arg("ls")
|
||
|
.assert()
|
||
|
.success()
|
||
|
.stdout(contains(
|
||
|
r#"Missed "DATABASE_URL" environment variable
|
||
|
No connection to database
|
||
|
|
||
|
Pending migrations:
|
||
|
—"#,
|
||
|
));
|
||
|
Ok(())
|
||
|
}
|
||
|
|
||
|
#[test]
|
||
|
fn empty_migration_list_with_db() -> TestResult {
|
||
|
let env = Env::new(DATABASE_URL_DEFAULT_ENV_NAME, DATABASE_URL_ENV_VALUE);
|
||
|
|
||
|
Command::cargo_bin("migra")?
|
||
|
.arg("ls")
|
||
|
.assert()
|
||
|
.success()
|
||
|
.stdout(contains(
|
||
|
r#"Applied migrations:
|
||
|
—
|
||
|
|
||
|
Pending migrations:
|
||
|
—"#,
|
||
|
));
|
||
|
|
||
|
drop(env);
|
||
|
|
||
|
Ok(())
|
||
|
}
|
||
|
|
||
|
#[test]
|
||
|
fn empty_migration_list_with_url_in_manifest() -> TestResult {
|
||
|
Command::cargo_bin("migra")?
|
||
|
.arg("-c")
|
||
|
.arg(path_to_file("Migra_url_empty.toml"))
|
||
|
.arg("ls")
|
||
|
.assert()
|
||
|
.success()
|
||
|
.stdout(contains(
|
||
|
r#"Applied migrations:
|
||
|
—
|
||
|
|
||
|
Pending migrations:
|
||
|
—"#,
|
||
|
));
|
||
|
|
||
|
Ok(())
|
||
|
}
|
||
|
|
||
|
#[test]
|
||
|
fn empty_migration_list_with_env_in_manifest() -> TestResult {
|
||
|
let env = Env::new("DB_URL", DATABASE_URL_ENV_VALUE);
|
||
|
|
||
|
Command::cargo_bin("migra")?
|
||
|
.arg("-c")
|
||
|
.arg(path_to_file("Migra_env_empty.toml"))
|
||
|
.arg("ls")
|
||
|
.assert()
|
||
|
.success()
|
||
|
.stdout(contains(
|
||
|
r#"Applied migrations:
|
||
|
—
|
||
|
|
||
|
Pending migrations:
|
||
|
—"#,
|
||
|
));
|
||
|
|
||
|
drop(env);
|
||
|
|
||
|
Ok(())
|
||
|
}
|