aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/messages/rotation_configuration_test.rb
diff options
context:
space:
mode:
authorKasper Timm Hansen <kaspth@gmail.com>2017-09-24 18:57:52 +0200
committerGitHub <noreply@github.com>2017-09-24 18:57:52 +0200
commit36888b9387731394f0079fc855ab9ad61ba8dfe5 (patch)
tree62f522701da93bbc8ce8acfb07efccdaab593938 /activesupport/test/messages/rotation_configuration_test.rb
parentabd4fd43692cd883068ad27f620fd4c00e546f91 (diff)
parent8b0af54bbe5ab8b598e980013dd53a50d819b636 (diff)
downloadrails-36888b9387731394f0079fc855ab9ad61ba8dfe5.tar.gz
rails-36888b9387731394f0079fc855ab9ad61ba8dfe5.tar.bz2
rails-36888b9387731394f0079fc855ab9ad61ba8dfe5.zip
Merge pull request #29716 from mikeycgto/active-support-key-rotator
Add Key Rotation to MessageEncryptor and MessageVerifier and simplify the Cookies middleware
Diffstat (limited to 'activesupport/test/messages/rotation_configuration_test.rb')
-rw-r--r--activesupport/test/messages/rotation_configuration_test.rb43
1 files changed, 43 insertions, 0 deletions
diff --git a/activesupport/test/messages/rotation_configuration_test.rb b/activesupport/test/messages/rotation_configuration_test.rb
new file mode 100644
index 0000000000..41d938e119
--- /dev/null
+++ b/activesupport/test/messages/rotation_configuration_test.rb
@@ -0,0 +1,43 @@
+# frozen_string_literal: true
+
+require "abstract_unit"
+require "active_support/messages/rotation_configuration"
+
+class MessagesRotationConfiguration < ActiveSupport::TestCase
+ def setup
+ @config = ActiveSupport::Messages::RotationConfiguration.new
+ end
+
+ def test_signed_configurations
+ @config.rotate :signed, secret: "older secret", salt: "salt", digest: "SHA1"
+ @config.rotate :signed, secret: "old secret", salt: "salt", digest: "SHA256"
+
+ assert_equal [{
+ secret: "older secret", salt: "salt", digest: "SHA1"
+ }, {
+ secret: "old secret", salt: "salt", digest: "SHA256"
+ }], @config.signed
+ end
+
+ def test_encrypted_configurations
+ @config.rotate :encrypted, raw_key: "old raw key", cipher: "aes-256-gcm"
+
+ assert_equal [{
+ raw_key: "old raw key", cipher: "aes-256-gcm"
+ }], @config.encrypted
+ end
+
+ def test_rotate_without_kind
+ @config.rotate secret: "older secret", salt: "salt", digest: "SHA1"
+ @config.rotate raw_key: "old raw key", cipher: "aes-256-gcm"
+
+ expected = [{
+ secret: "older secret", salt: "salt", digest: "SHA1"
+ }, {
+ raw_key: "old raw key", cipher: "aes-256-gcm"
+ }]
+
+ assert_equal expected, @config.encrypted
+ assert_equal expected, @config.signed
+ end
+end