diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2009-09-24 23:13:56 -0700 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2009-09-24 23:13:56 -0700 |
commit | a6a0904fcb12b876469c48b1c885aadafe9188cf (patch) | |
tree | 5bb5ba3ab1634224561c7e01bb76357b02e3eee4 | |
parent | 55f132ab82dd8fb47018f76de38b065ad441f4a6 (diff) | |
download | rails-a6a0904fcb12b876469c48b1c885aadafe9188cf.tar.gz rails-a6a0904fcb12b876469c48b1c885aadafe9188cf.tar.bz2 rails-a6a0904fcb12b876469c48b1c885aadafe9188cf.zip |
Nah, test SHA1, but skip the test and whine if OpenSSL is borked up
-rw-r--r-- | activesupport/test/message_verifier_test.rb | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/activesupport/test/message_verifier_test.rb b/activesupport/test/message_verifier_test.rb index 4084054090..4f8837ba4e 100644 --- a/activesupport/test/message_verifier_test.rb +++ b/activesupport/test/message_verifier_test.rb @@ -1,25 +1,34 @@ require 'abstract_unit' +begin + require 'openssl' + OpenSSL::Digest::SHA1 +rescue LoadError, NameError + $stderr.puts "Skipping MessageVerifier test: broken OpenSSL install" +else + class MessageVerifierTest < Test::Unit::TestCase def setup - @verifier = ActiveSupport::MessageVerifier.new("Hey, I'm a secret!", 'MD5') + @verifier = ActiveSupport::MessageVerifier.new("Hey, I'm a secret!") @data = {:some=>"data", :now=>Time.now} end - + def test_simple_round_tripping message = @verifier.generate(@data) assert_equal @data, @verifier.verify(message) end - + def test_tampered_data_raises data, hash = @verifier.generate(@data).split("--") assert_not_verified("#{data.reverse}--#{hash}") assert_not_verified("#{data}--#{hash.reverse}") end - + def assert_not_verified(message) assert_raise(ActiveSupport::MessageVerifier::InvalidSignature) do @verifier.verify(message) end end end + +end |