Implement complete Android settings and recovery controls (#104)
This commit is contained in:
1 parent
06575363a2
commit
43f660ace3
34 files changed
+2720
-64
No files matched your search
@@ -228,6 +228,16 @@ fn totp_cache_reuses_ciphertext_hashes_and_removes_deleted_entries() -> TestResu
|
||||
assert_eq!(warm_secrets.requests, 0);
|
||||
assert_eq!(warm.progress().cache_hits(), warm.progress().total());
|
||||
assert_eq!(warm_page.rows(), page.rows());
|
||||
assert_eq!(service.cache_status(&cache).0 as usize, page.rows().len());
|
||||
let rebuild = MobileTotpOperation::default();
|
||||
let mut rebuild_secrets = CountingSecrets::all(&fixture);
|
||||
let rebuilt = service.rebuild(&BTreeSet::new(), &mut rebuild_secrets, &cache, &rebuild)?;
|
||||
assert_eq!(rebuilt.rows(), page.rows());
|
||||
assert_eq!(rebuild.progress().cache_hits(), 0);
|
||||
assert!(
|
||||
rebuild_secrets.requests > 0,
|
||||
"explicit rebuild must inspect ciphertext again"
|
||||
);
|
||||
assert_eq!(
|
||||
service
|
||||
.cached_page(&BTreeSet::new(), &cache)
|
||||
@@ -328,6 +338,8 @@ fn totp_cache_reuses_ciphertext_hashes_and_removes_deleted_entries() -> TestResu
|
||||
);
|
||||
|
||||
fs::write(&cache, "not a TOTP catalog")?;
|
||||
assert_eq!(service.cache_status(&cache).0, 0);
|
||||
assert!(service.cache_status(&cache).1.contains("damaged"));
|
||||
let recovery = MobileTotpOperation::default();
|
||||
let mut recovery_secrets = CountingSecrets::all(&fixture);
|
||||
let recovered = service.discover(&BTreeSet::new(), &mut recovery_secrets, &cache, &recovery)?;
|
||||
|
||||
Reference in new issue
Block a user