29 lines
968 B
Ruby
29 lines
968 B
Ruby
require "test_helper"
|
|
|
|
class OauthNonceTest < ActiveSupport::TestCase
|
|
##
|
|
# the nonce has only one property, that it is a unique pair of
|
|
# string and timestamp.
|
|
def test_nonce_uniqueness
|
|
string = "0123456789ABCDEF"
|
|
timestamp = Time.now.to_i
|
|
|
|
nonce1 = OauthNonce.remember(string, timestamp)
|
|
assert_not_equal false, nonce1, "First nonce should be unique. Check your test database is empty."
|
|
|
|
nonce2 = OauthNonce.remember(string, timestamp)
|
|
assert_not nonce2, "Shouldn't be able to remember the same nonce twice."
|
|
end
|
|
|
|
##
|
|
# nonces that are not current should be rejected
|
|
def test_nonce_not_current
|
|
string = "0123456789ABCDEF"
|
|
|
|
nonce1 = OauthNonce.remember(string, Time.now.to_i - 86430)
|
|
assert_not nonce1, "Nonces over a day in the past should be rejected"
|
|
|
|
nonce2 = OauthNonce.remember(string, Time.now.to_i - 86370)
|
|
assert_not_equal false, nonce2, "Nonces under a day in the past should be rejected"
|
|
end
|
|
end
|