]> git.openstreetmap.org Git - rails.git/blobdiff - test/models/oauth_nonce_test.rb
Require user names to be unique after unicode normalisation
[rails.git] / test / models / oauth_nonce_test.rb
index ffbad0af6a4f2dd04c4d66ab849effdb9658c3b5..56178fb5fc63fb48cbe215e2c21be38f3d25d74e 100644 (file)
@@ -1,20 +1,29 @@
-require 'test_helper'
+require "test_helper"
 
 class OauthNonceTest < ActiveSupport::TestCase
 
 class OauthNonceTest < ActiveSupport::TestCase
-  api_fixtures
-
   ##
   # the nonce has only one property, that it is a unique pair of
   # string and timestamp.
   def test_nonce_uniqueness
     string = "0123456789ABCDEF"
   ##
   # 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
-    
+    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)
     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_equal false, nonce2, "Shouldn't be able to remember the same nonce twice."
+    assert_not nonce2, "Shouldn't be able to remember the same nonce twice."
   end
 
   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
 end