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