use crate::header::plain_secret::tests::{rev0, ErrMigration, SampleMigration};
use crate::header::HeaderError;
use crate::migrate::{MigrationError, Migrator};
#[test]
fn rev0_no_migrator() {
let migrator = Migrator::default();
let mut rev0 = rev0();
rev0.migrate(&migrator).unwrap();
assert!(rev0.top_id.is_none());
}
#[test]
fn rev0_migrated() {
let migrator = Migrator::default().with_migration(SampleMigration);
let mut rev0 = rev0();
rev0.migrate(&migrator).unwrap();
assert_eq!(rev0.top_id.unwrap().to_string(), "4711");
}
#[test]
fn rev0_inval_migration() {
}
#[test]
fn rev0_err_migration() {
let migrator = Migrator::default().with_migration(ErrMigration);
let mut rev0 = rev0();
let err = rev0.migrate(&migrator).unwrap_err();
assert!(matches!(err, HeaderError::Migration(cause)
if matches!(cause, MigrationError::Rev0(ref msg) if msg == "foo")));
}