aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/key_generator_test.rb
diff options
context:
space:
mode:
authorEugene Gilburg <eugene.gilburg@gmail.com>2014-07-19 12:49:52 -0700
committerEugene Gilburg <eugene.gilburg@gmail.com>2014-07-19 17:15:40 -0700
commit3b9cc0a56f4cbfb97f12c5a167ac901f7682bbe2 (patch)
treeb4ebd67d449a380aa404bbce011898e5eddc9fe9 /activesupport/test/key_generator_test.rb
parent08754f12e65a9ec79633a605e986d0f1ffa4b251 (diff)
downloadrails-3b9cc0a56f4cbfb97f12c5a167ac901f7682bbe2.tar.gz
rails-3b9cc0a56f4cbfb97f12c5a167ac901f7682bbe2.tar.bz2
rails-3b9cc0a56f4cbfb97f12c5a167ac901f7682bbe2.zip
missing activesupport test coverage
Diffstat (limited to 'activesupport/test/key_generator_test.rb')
-rw-r--r--activesupport/test/key_generator_test.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/activesupport/test/key_generator_test.rb b/activesupport/test/key_generator_test.rb
index 525082d313..f7e8e9a795 100644
--- a/activesupport/test/key_generator_test.rb
+++ b/activesupport/test/key_generator_test.rb
@@ -29,4 +29,34 @@ class KeyGeneratorTest < ActiveSupport::TestCase
end
end
+class CachingKeyGeneratorTest < ActiveSupport::TestCase
+ def setup
+ @secret = SecureRandom.hex(64)
+ @generator = ActiveSupport::KeyGenerator.new(@secret, :iterations=>2)
+ @caching_generator = ActiveSupport::CachingKeyGenerator.new(@generator)
+ end
+
+ test "Generating a cached key for same salt and key size" do
+ derived_key = @caching_generator.generate_key("some_salt", 32)
+ cached_key = @caching_generator.generate_key("some_salt", 32)
+
+ assert_equal derived_key, cached_key
+ assert_equal derived_key.object_id, cached_key.object_id
+ end
+
+ test "Does not cache key for different salt" do
+ derived_key = @caching_generator.generate_key("some_salt", 32)
+ different_salt_key = @caching_generator.generate_key("other_salt", 32)
+
+ assert_not_equal derived_key, different_salt_key
+ end
+
+ test "Does not cache key for different length" do
+ derived_key = @caching_generator.generate_key("some_salt", 32)
+ different_length_key = @caching_generator.generate_key("some_salt", 64)
+
+ assert_not_equal derived_key, different_length_key
+ end
+end
+
end