Skip to content

Commit

Permalink
InvalidMessage is in ActiveSupport::MessageEncryptor namespace
Browse files Browse the repository at this point in the history
Closes #9302
  • Loading branch information
spastorino committed Feb 19, 2013
1 parent a700917 commit 00147c8
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 4 deletions.
2 changes: 1 addition & 1 deletion actionpack/lib/action_dispatch/middleware/cookies.rb
Original file line number Diff line number Diff line change
Expand Up @@ -410,7 +410,7 @@ def [](key)
@encryptor.decrypt_and_verify(encrypted_message)
end
rescue ActiveSupport::MessageVerifier::InvalidSignature,
ActiveSupport::MessageVerifier::InvalidMessage
ActiveSupport::MessageEncryptor::InvalidMessage
nil
end

Expand Down
21 changes: 18 additions & 3 deletions actionpack/test/dispatch/cookies_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,11 @@ def set_encrypted_cookie
head :ok
end

def set_invalid_encrypted_cookie
cookies[:invalid_cookie] = 'invalid--9170e00a57cfc27083363b5c75b835e477bd90cf'
head :ok
end

def raise_data_overflow
cookies.signed[:foo] = 'bye!' * 1024
head :ok
Expand Down Expand Up @@ -336,6 +341,11 @@ def test_signed_cookie
assert_equal 45, @controller.send(:cookies).signed[:user_id]
end

def test_accessing_nonexistant_signed_cookie_should_not_raise_an_invalid_signature
get :set_signed_cookie
assert_nil @controller.send(:cookies).signed[:non_existant_attribute]
end

def test_encrypted_cookie
get :set_encrypted_cookie
cookies = @controller.send :cookies
Expand All @@ -346,9 +356,14 @@ def test_encrypted_cookie
assert_equal 'bar', cookies.encrypted[:foo]
end

def test_accessing_nonexistant_signed_cookie_should_not_raise_an_invalid_signature
get :set_signed_cookie
assert_nil @controller.send(:cookies).signed[:non_existant_attribute]
def test_accessing_nonexistant_encrypted_cookie_should_not_raise_invalid_message
get :set_encrypted_cookie
assert_nil @controller.send(:cookies).encrypted[:non_existant_attribute]
end

def test_setting_invalid_encrypted_cookie_should_return_nil_when_accessing_it
get :set_invalid_encrypted_cookie
assert_nil @controller.send(:cookies).encrypted[:invalid_cookie]
end

def test_permanent_signed_cookie
Expand Down

0 comments on commit 00147c8

Please sign in to comment.