ensureCorrectTime(array($tpr2)); // 128 - 123 = 5 => within default leniency $this->noAssertionsMade(); } /** * @return void */ public function testEnsureCorrectTimeThrowsOnIncorrectTime() { $tpr1 = new TestTimeProvider(123); $tpr2 = new TestTimeProvider(124); $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1', null, null, $tpr1); $this->expectException(TwoFactorAuthException::class); $tfa->ensureCorrectTime(array($tpr2), 0); // We force a leniency of 0, 124-123 = 1 so this should throw } /** * @return void */ public function testEnsureDefaultTimeProviderReturnsCorrectTime() { $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1'); $tfa->ensureCorrectTime(array(new TestTimeProvider(time())), 1); // Use a leniency of 1, should the time change between both time() calls $this->noAssertionsMade(); } }