Exemplo n.º 1
0
 def test_totp_token(self):
     from otp.ai.passlib.totp import TOTP, TotpToken
     otp = TOTP('s3jdvb7qd2r7jpxx')
     result = otp.generate(1419622739)
     self.assertIsInstance(result, TotpToken)
     self.assertEqual(result.token, '897212')
     self.assertEqual(result.counter, 47320757)
     self.assertEqual(result.expire_time, 1419622740)
     self.assertEqual(result, ('897212', 1419622740))
     self.assertEqual(len(result), 2)
     self.assertEqual(result[0], '897212')
     self.assertEqual(result[1], 1419622740)
     self.assertRaises(IndexError, result.__getitem__, -3)
     self.assertRaises(IndexError, result.__getitem__, 2)
     self.assertTrue(result)
     otp.now = lambda: 1419622739.5
     self.assertEqual(result.remaining, 0.5)
     self.assertTrue(result.valid)
     otp.now = lambda: 1419622741
     self.assertEqual(result.remaining, 0)
     self.assertFalse(result.valid)
     result2 = otp.generate(1419622739)
     self.assertIsNot(result2, result)
     self.assertEqual(result2, result)
     result3 = otp.generate(1419622711)
     self.assertIsNot(result3, result)
     self.assertEqual(result3, result)
     result4 = otp.generate(1419622999)
     self.assertNotEqual(result4, result)
Exemplo n.º 2
0
 def test_generate(self):
     from otp.ai.passlib.totp import TOTP
     otp = TOTP(new=True)
     time = self.randtime()
     result = otp.generate(time)
     token = result.token
     self.assertIsInstance(token, unicode)
     start_time = result.counter * 30
     self.assertEqual(otp.generate(start_time + 29).token, token)
     self.assertNotEqual(otp.generate(start_time + 30).token, token)
     dt = datetime.datetime.utcfromtimestamp(time)
     self.assertEqual(int(otp.normalize_time(dt)), int(time))
     self.assertEqual(otp.generate(dt).token, token)
     otp2 = TOTP.using(now=lambda: time)(key=otp.base32_key)
     self.assertEqual(otp2.generate().token, token)
     self.assertRaises(ValueError, otp.generate, -1)