aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2009-09-24 23:13:56 -0700
committerJeremy Kemper <jeremy@bitsweat.net>2009-09-24 23:13:56 -0700
commita6a0904fcb12b876469c48b1c885aadafe9188cf (patch)
tree5bb5ba3ab1634224561c7e01bb76357b02e3eee4 /activesupport
parent55f132ab82dd8fb47018f76de38b065ad441f4a6 (diff)
downloadrails-a6a0904fcb12b876469c48b1c885aadafe9188cf.tar.gz
rails-a6a0904fcb12b876469c48b1c885aadafe9188cf.tar.bz2
rails-a6a0904fcb12b876469c48b1c885aadafe9188cf.zip
Nah, test SHA1, but skip the test and whine if OpenSSL is borked up
Diffstat (limited to 'activesupport')
-rw-r--r--activesupport/test/message_verifier_test.rb17
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