mirror of
https://github.com/launchbadge/sqlx
synced 2024-11-10 06:24:16 +00:00
33 lines
1.3 KiB
Rust
33 lines
1.3 KiB
Rust
#![cfg(unix)]
|
|
use sqlx::migrate::Migrator;
|
|
use std::path::Path;
|
|
|
|
static EMBEDDED_SIMPLE: Migrator = sqlx::migrate!("tests/migrate/migrations_simple");
|
|
static EMBEDDED_REVERSIBLE: Migrator = sqlx::migrate!("tests/migrate/migrations_reversible");
|
|
static EMBEDDED_SYMLINK: Migrator = sqlx::migrate!("tests/migrate/migrations_symlink");
|
|
|
|
#[sqlx_macros::test]
|
|
async fn same_output() -> anyhow::Result<()> {
|
|
let runtime_simple = Migrator::new(Path::new("tests/migrate/migrations_simple")).await?;
|
|
let runtime_reversible =
|
|
Migrator::new(Path::new("tests/migrate/migrations_reversible")).await?;
|
|
let runtime_symlink = Migrator::new(Path::new("tests/migrate/migrations_symlink")).await?;
|
|
|
|
assert_same(&EMBEDDED_SIMPLE, &runtime_simple);
|
|
assert_same(&EMBEDDED_REVERSIBLE, &runtime_reversible);
|
|
assert_same(&EMBEDDED_SYMLINK, &runtime_symlink);
|
|
|
|
Ok(())
|
|
}
|
|
|
|
fn assert_same(embedded: &Migrator, runtime: &Migrator) {
|
|
assert_eq!(runtime.migrations.len(), embedded.migrations.len());
|
|
|
|
for (e, r) in embedded.iter().zip(runtime.iter()) {
|
|
assert_eq!(e.version, r.version);
|
|
assert_eq!(e.description, r.description);
|
|
assert_eq!(e.migration_type, r.migration_type);
|
|
assert_eq!(e.sql, r.sql);
|
|
assert_eq!(e.checksum, r.checksum);
|
|
}
|
|
}
|