From b00ff22ca00f33c291b3beb2fe3818a2c30bab28 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 3 Jul 2017 21:12:11 +0200 Subject: Fix and test expiration --- lib/active_file/verified_key_with_expiration.rb | 2 +- test/verified_key_with_expiration_test.rb | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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 -- cgit v1.2.3