Implement iPhone and Apple Watch preferences (#53)
This commit is contained in:
@@ -249,6 +249,30 @@ fn user_activity_extends_the_lease_but_secret_access_and_timer_polling_do_not()
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn timeout_updates_apply_to_the_active_lease_and_later_activity() -> TestResult {
|
||||
let fixture = FixtureSet::load()?;
|
||||
let keys = KeyStore::load(fixture.path("keys"))?;
|
||||
let alice = fixture_key(&fixture, &keys, "alice")?;
|
||||
let backend = MemoryBackend::default();
|
||||
provision_passphrase(
|
||||
backend.clone(),
|
||||
&alice,
|
||||
fixture.key("alice")?.passphrase.as_bytes(),
|
||||
)?;
|
||||
let clock = ManualClock::default();
|
||||
let session = session(backend, clock.clone(), 120)?;
|
||||
let handle = session.authenticate(&alice)?;
|
||||
|
||||
clock.advance(Duration::from_secs(20));
|
||||
session.set_timeout(AuthenticationTimeout::new(Duration::from_secs(30))?)?;
|
||||
assert_eq!(handle.remaining_time()?, Duration::from_secs(30));
|
||||
clock.advance(Duration::from_secs(10));
|
||||
handle.touch_user_activity()?;
|
||||
assert_eq!(handle.remaining_time()?, Duration::from_secs(30));
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn manual_lock_cancellation_and_expiry_revoke_all_existing_handles() -> TestResult {
|
||||
let fixture = FixtureSet::load()?;
|
||||
|
||||
Reference in New Issue
Block a user