test/encryption_test.rb in symmetric-encryption-0.2.0 vs test/encryption_test.rb in symmetric-encryption-0.3.0
- old
+ new
@@ -3,26 +3,32 @@
require 'rubygems'
require 'test/unit'
require 'shoulda'
+Symmetric::Encryption.load!(File.join(File.dirname(__FILE__), 'config', 'symmetric-encryption.yml'), 'test')
+
# Unit Test for Symmetric::Encryption
#
class EncryptionTest < Test::Unit::TestCase
context 'initialized' do
- setup do
- Symmetric::Encryption.load!(File.join(File.dirname(__FILE__), 'config', 'symmetric-encryption.yml'), 'test')
+ context 'Symmetric::Encryption configuration' do
+ setup do
+ @config = Symmetric::Encryption.send(:read_config, File.join(File.dirname(__FILE__), 'config', 'symmetric-encryption.yml'), 'test')
+ end
+
+ should "match config file" do
+ assert_equal @config[:ciphers][0][:cipher], Symmetric::Encryption.cipher.cipher
+ end
end
context 'Symmetric::Encryption tests' do
setup do
- @bank_account_number = "1234567890"
- @bank_account_number_encrypted = "QUxoUU8O/mi0o9ykgXNBFg==\n"
-
@social_security_number = "987654321"
- @social_security_number_encrypted = "Jj7dKb3B0aUCnqH/YKGvKw==\n"
+ @social_security_number_encrypted = "S+8X1NRrqdfEIQyFHVPuVA==\n"
+ @social_security_number_encrypted_with_secondary_1 = "D1UCu38pqJ3jc0GvwJHiow==\n"
end
should "encrypt simple string" do
assert_equal @social_security_number_encrypted, Symmetric::Encryption.encrypt(@social_security_number)
end
@@ -32,9 +38,13 @@
end
should "determine if string is encrypted" do
assert_equal true, Symmetric::Encryption.encrypted?(@social_security_number_encrypted)
assert_equal false, Symmetric::Encryption.encrypted?(@social_security_number)
+ end
+
+ should "decrypt with secondary key when first one fails" do
+ assert_equal @social_security_number, Symmetric::Encryption.decrypt(@social_security_number_encrypted)
end
end
end
end