test/test_hotp.rb in otp-0.0.4 vs test/test_hotp.rb in otp-0.0.5
- old
+ new
@@ -21,6 +21,32 @@
assert_hotp(hotp, 6, "287922")
assert_hotp(hotp, 7, "162583")
assert_hotp(hotp, 8, "399871")
assert_hotp(hotp, 9, "520489")
end
+
+ def test_last_and_post
+ seed = "12345678901234567890"
+ hotp = OTP::HOTP.new(OTP::Base32.encode(seed), "SHA1", 6)
+ hotp.count = 5
+
+ assert(!hotp.verify("359152", last:2)) # pass for 2
+ assert(hotp.verify("969429", last:2)) # pass for 3
+ assert(hotp.verify("338314", last:2)) # pass for 4
+ assert(hotp.verify("254676", last:2)) # pass for 5
+ assert(!hotp.verify("287922", last:2)) # pass for 6
+
+ assert(!hotp.verify("338314", post:2)) # pass for 4
+ assert(hotp.verify("254676", post:2)) # pass for 5
+ assert(hotp.verify("287922", post:2)) # pass for 6
+ assert(hotp.verify("162583", post:2)) # pass for 7
+ assert(!hotp.verify("399871", post:2)) # pass for 8
+
+ assert(!hotp.verify("359152", last:2, post:2)) # pass for 2
+ assert(hotp.verify("969429", last:2, post:2)) # pass for 3
+ assert(hotp.verify("338314", last:2, post:2)) # pass for 4
+ assert(hotp.verify("254676", post:2, post:2)) # pass for 5
+ assert(hotp.verify("287922", post:2, post:2)) # pass for 6
+ assert(hotp.verify("162583", post:2, post:2)) # pass for 7
+ assert(!hotp.verify("399871", post:2, post:2)) # pass for 8
+ end
end