rails--rails/activesupport/test/message_verifier_test.rb

26 lines
732 B
Ruby
Raw Normal View History

require 'abstract_unit'
class MessageVerifierTest < Test::Unit::TestCase
def setup
@verifier = ActiveSupport::MessageVerifier.new("Hey, I'm a secret!")
@data = {:some=>"data", :now=>Time.now}
end
def test_simple_round_tripping
message = @verifier.generate_message(@data)
assert_equal @data, @verifier.verify_message(message)
end
def test_tampered_data_raises
data, hash = @verifier.generate_message(@data).split("--")
assert_not_verified("#{data.reverse}--#{hash}")
assert_not_verified("#{data}--#{hash.reverse}")
end
def assert_not_verified(message)
assert_raises(ActiveSupport::MessageVerifier::InvalidSignature) do
@verifier.verify_message(message)
end
end
end