Sha256: a4e7fda60df054f567265c34f7cc0d075b96be9587f1406f341bda824f221dec

Contents?: true

Size: 1.45 KB

Versions: 1

Compression:

Stored size: 1.45 KB

Contents

require File.join(File.dirname(__FILE__), 'test_helper')

class SymmetricallyEncryptedStringTest < Test::Unit::TestCase
  def setup
    @data = 'test'
    @key = 'secret'
    @encrypted = "MU6e/5LvhKA=\n"
    PluginAWeek::EncryptedStrings::SymmetricEncryptor.default_key = nil
  end
  
  def test_should_raise_exception_if_no_key_specified
    assert_raises(PluginAWeek::EncryptedStrings::NoKeyError) { PluginAWeek::EncryptedStrings::SymmetricEncryptor.new }
  end
  
  def test_should_encrypt_with_custom_key_if_key_specified
    assert_equal @encrypted, PluginAWeek::EncryptedStrings::SymmetricEncryptor.new(:key => @key).encrypt(@data)
  end
  
  def test_encrypt_with_default_key_if_key_not_specified
    PluginAWeek::EncryptedStrings::SymmetricEncryptor.default_key = @key
    assert_equal @encrypted, PluginAWeek::EncryptedStrings::SymmetricEncryptor.new.encrypt(@data)
  end
  
  def test_should_be_able_to_decrypt
    assert PluginAWeek::EncryptedStrings::SymmetricEncryptor.new(:key => @key).can_decrypt?
  end
  
  def test_should_decrypt_encrypted_string_with_custom_key_if_key_specified
    assert_equal @data, PluginAWeek::EncryptedStrings::SymmetricEncryptor.new(:key => @key).decrypt(@encrypted)
  end
  
  def test_should_decrypt_encrypted_string_with_default_key_if_key_not_specified
    PluginAWeek::EncryptedStrings::SymmetricEncryptor.default_key = @key
    assert_equal @data, PluginAWeek::EncryptedStrings::SymmetricEncryptor.new.decrypt(@encrypted)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
encrypted_strings-0.0.1 test/symmetric_encryptor_test.rb