Cache TOTP discovery and report progress (#74)
This commit is contained in:
@@ -320,7 +320,7 @@ fn entry_collisions_require_confirmation_unless_forced() -> TestResult {
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn mutation_rejects_ambiguous_sources_and_same_object_targets() -> TestResult {
|
||||
fn mutation_prefers_an_entry_over_its_same_named_directory() -> TestResult {
|
||||
let fixture = FixtureSet::load()?;
|
||||
let store = fixture.materialize_store("basic")?;
|
||||
fs::create_dir(store.path().join("email/personal"))?;
|
||||
@@ -329,22 +329,26 @@ fn mutation_rejects_ambiguous_sources_and_same_object_targets() -> TestResult {
|
||||
let mut provider = Secrets::all(&fixture);
|
||||
let mutator = TreeMutator::new(&repository, &keys);
|
||||
|
||||
assert!(matches!(
|
||||
mutator.copy(
|
||||
&CopyRequest {
|
||||
source: "email/personal".into(),
|
||||
destination: "elsewhere".into(),
|
||||
force: false,
|
||||
},
|
||||
OverwriteDecision::Allow,
|
||||
None,
|
||||
mutator.copy(
|
||||
&CopyRequest {
|
||||
source: "email/personal".into(),
|
||||
destination: "elsewhere".into(),
|
||||
force: false,
|
||||
},
|
||||
OverwriteDecision::Allow,
|
||||
None,
|
||||
&mut provider,
|
||||
&mut Committer::default(),
|
||||
)?;
|
||||
assert!(store.path().join("email/personal").is_dir());
|
||||
assert_eq!(
|
||||
keys.decrypt(
|
||||
&repository.read_entry(&EntryPath::parse("elsewhere")?)?,
|
||||
&mut provider,
|
||||
&mut Committer::default()
|
||||
),
|
||||
Err(MutationError::Repository(
|
||||
ironstorage::repository::RepositoryError::AmbiguousPath { .. }
|
||||
))
|
||||
));
|
||||
)?
|
||||
.expose(),
|
||||
fixture.read("expected/basic/email/personal.txt")?
|
||||
);
|
||||
assert!(matches!(
|
||||
mutator.copy(
|
||||
&CopyRequest {
|
||||
|
||||
Reference in New Issue
Block a user