Add additive KDBX importer
This commit is contained in:
@@ -8,6 +8,7 @@ use ironstorage::command::{
|
||||
OtpInputSource, OtpRequest, OtpUriPresentation, Presentation, completion_script, help_text,
|
||||
otp_version_text, parse_from, version_text,
|
||||
};
|
||||
use ironstorage::kdbx::{KdbxImportMode, KdbxImportRequest};
|
||||
|
||||
type TestResult = Result<(), Box<dyn Error>>;
|
||||
|
||||
@@ -360,3 +361,31 @@ fn configuration_option_and_meta_commands_have_stable_contracts() -> TestResult
|
||||
);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn kdbx_import_contract_supports_update_and_quick_add_modes() -> TestResult {
|
||||
assert_eq!(
|
||||
request(&["import-kdbx", "vault.kdbx"])?,
|
||||
CommandRequest::ImportKdbx(KdbxImportRequest::new(
|
||||
"vault.kdbx",
|
||||
None,
|
||||
KdbxImportMode::AddAndUpdate,
|
||||
))
|
||||
);
|
||||
assert_eq!(
|
||||
request(&[
|
||||
"import-kdbx",
|
||||
"vault.kdbx",
|
||||
"--key-file",
|
||||
"vault.key",
|
||||
"--quick-add",
|
||||
])?,
|
||||
CommandRequest::ImportKdbx(KdbxImportRequest::new(
|
||||
"vault.kdbx",
|
||||
Some("vault.key".into()),
|
||||
KdbxImportMode::QuickAdd,
|
||||
))
|
||||
);
|
||||
assert!(help_text(Some(HelpTopic::ImportKdbx)).contains("--quick-add"));
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user