def test_ctor_w_key_and_format(self):
"""constructor -- 'key' and 'format' parameters"""
# handle base32 encoding (the default)
self.assertEqual(TOTP(KEY1).key, KEY1_RAW)
# .. w/ lower case
self.assertEqual(TOTP(KEY1.lower()).key, KEY1_RAW)
# .. w/ spaces (e.g. user-entered data)
self.assertEqual(TOTP(' 4aog gdbb qsyh ntuz ').key, KEY1_RAW)
# .. w/ invalid char
self.assertRaises(Base32DecodeError, TOTP, 'ao!ggdbbqsyhntuz')
# handle hex encoding
self.assertEqual(TOTP('e01c630c2184b076ce99', 'hex').key, KEY1_RAW)
# .. w/ invalid char
self.assertRaises(Base16DecodeError, TOTP, 'X01c630c2184b076ce99', 'hex')
# handle raw bytes
self.assertEqual(TOTP(KEY1_RAW, "raw").key, KEY1_RAW)
评论列表
文章目录