aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2017-07-03 21:12:11 +0200
committerDavid Heinemeier Hansson <david@loudthinking.com>2017-07-03 21:12:11 +0200
commitb00ff22ca00f33c291b3beb2fe3818a2c30bab28 (patch)
treeb1d0f33812a2865363ee76295837f7e1bdd7d1e1
parent5f7b80a6d6fed524e8b41e9e465d360ddd6b8822 (diff)
downloadrails-b00ff22ca00f33c291b3beb2fe3818a2c30bab28.tar.gz
rails-b00ff22ca00f33c291b3beb2fe3818a2c30bab28.tar.bz2
rails-b00ff22ca00f33c291b3beb2fe3818a2c30bab28.zip
Fix and test expiration
-rw-r--r--lib/active_file/verified_key_with_expiration.rb2
-rw-r--r--test/verified_key_with_expiration_test.rb8
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/active_file/verified_key_with_expiration.rb b/lib/active_file/verified_key_with_expiration.rb
index 601401278b..b475f40f40 100644
--- a/lib/active_file/verified_key_with_expiration.rb
+++ b/lib/active_file/verified_key_with_expiration.rb
@@ -2,7 +2,7 @@ class ActiveFile::VerifiedKeyWithExpiration
class_attribute :verifier, default: defined?(Rails) ? Rails.application.message_verifier('ActiveFile') : nil
def self.encode(key, expires_in: nil)
- verifier.generate([ key, expires_in ? Time.now.utc.advance(sec: expires_in) : nil ])
+ verifier.generate([ key, expires_in ? Time.now.utc.advance(seconds: expires_in) : nil ])
end
def self.decode(encoded_key)
diff --git a/test/verified_key_with_expiration_test.rb b/test/verified_key_with_expiration_test.rb
index ac605a95e9..8f145590d0 100644
--- a/test/verified_key_with_expiration_test.rb
+++ b/test/verified_key_with_expiration_test.rb
@@ -8,4 +8,12 @@ class ActiveFile::VerifiedKeyWithExpirationTest < ActiveSupport::TestCase
encoded_key = ActiveFile::VerifiedKeyWithExpiration.encode(FIXTURE_KEY)
assert_equal FIXTURE_KEY, ActiveFile::VerifiedKeyWithExpiration.decode(encoded_key)
end
+
+ test "with expiration" do
+ encoded_key = ActiveFile::VerifiedKeyWithExpiration.encode(FIXTURE_KEY, expires_in: 1.minute)
+ assert_equal FIXTURE_KEY, ActiveFile::VerifiedKeyWithExpiration.decode(encoded_key)
+
+ travel 2.minutes
+ assert_nil ActiveFile::VerifiedKeyWithExpiration.decode(encoded_key)
+ end
end