encrypted_strings 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,194 +0,0 @@
1
- require File.dirname(__FILE__) + '/test_helper'
2
-
3
- class AsymmetricEncryptorByDefaultTest < Test::Unit::TestCase
4
- def setup
5
- @asymmetric_encryptor = PluginAWeek::EncryptedStrings::AsymmetricEncryptor.new(:public_key_file => File.dirname(__FILE__) + '/keys/public')
6
- end
7
-
8
- def test_should_raise_an_exception
9
- assert_raise(ArgumentError) {PluginAWeek::EncryptedStrings::AsymmetricEncryptor.new}
10
- end
11
-
12
- def test_should_not_have_a_public_key_file
13
- @asymmetric_encryptor = PluginAWeek::EncryptedStrings::AsymmetricEncryptor.new(:private_key_file => File.dirname(__FILE__) + '/keys/private')
14
- assert_nil @asymmetric_encryptor.public_key_file
15
- end
16
-
17
- def test_should_not_have_a_private_key_file
18
- assert_nil @asymmetric_encryptor.private_key_file
19
- end
20
-
21
- def test_should_not_have_an_algorithm
22
- assert_nil @asymmetric_encryptor.algorithm
23
- end
24
-
25
- def test_should_not_have_a_password
26
- assert_nil @asymmetric_encryptor.password
27
- end
28
- end
29
-
30
- class AsymmetricEncryptorWithCustomDefaultsTest < Test::Unit::TestCase
31
- def setup
32
- @original_default_public_key_file = PluginAWeek::EncryptedStrings::AsymmetricEncryptor.default_public_key_file
33
- @original_default_private_key_file = PluginAWeek::EncryptedStrings::AsymmetricEncryptor.default_private_key_file
34
- @original_default_algorithm = PluginAWeek::EncryptedStrings::AsymmetricEncryptor.default_algorithm
35
-
36
- PluginAWeek::EncryptedStrings::AsymmetricEncryptor.default_public_key_file = File.dirname(__FILE__) + '/keys/public'
37
- PluginAWeek::EncryptedStrings::AsymmetricEncryptor.default_private_key_file = File.dirname(__FILE__) + '/keys/private'
38
- PluginAWeek::EncryptedStrings::AsymmetricEncryptor.default_algorithm = 'DES-EDE3-CBC'
39
-
40
- @asymmetric_encryptor = PluginAWeek::EncryptedStrings::AsymmetricEncryptor.new
41
- end
42
-
43
- def test_should_use_default_public_key_file
44
- assert_equal File.dirname(__FILE__) + '/keys/public', @asymmetric_encryptor.public_key_file
45
- end
46
-
47
- def test_should_use_default_private_key_file
48
- assert_equal File.dirname(__FILE__) + '/keys/private', @asymmetric_encryptor.private_key_file
49
- end
50
-
51
- def test_should_use_the_default_algorithm
52
- assert_equal 'DES-EDE3-CBC', @asymmetric_encryptor.algorithm
53
- end
54
-
55
- def test_should_not_have_a_password
56
- assert_nil @asymmetric_encryptor.password
57
- end
58
-
59
- def teardown
60
- PluginAWeek::EncryptedStrings::AsymmetricEncryptor.default_public_key_file = @original_default_public_key_file
61
- PluginAWeek::EncryptedStrings::AsymmetricEncryptor.default_private_key_file = @original_default_private_key_file
62
- PluginAWeek::EncryptedStrings::AsymmetricEncryptor.default_algorithm = @original_default_algorithm
63
- end
64
- end
65
-
66
- class AsymmetricEncryptorWithInvalidOptionsTest < Test::Unit::TestCase
67
- def test_should_throw_an_exception
68
- assert_raise(ArgumentError) {PluginAWeek::EncryptedStrings::AsymmetricEncryptor.new(:invalid => true)}
69
- end
70
- end
71
-
72
- class AsymmetricEncryptorTest < Test::Unit::TestCase
73
- def setup
74
- @asymmetric_encryptor = PluginAWeek::EncryptedStrings::AsymmetricEncryptor.new(:public_key_file => File.dirname(__FILE__) + '/keys/public')
75
- end
76
-
77
- def test_should_be_able_to_decrypt
78
- assert @asymmetric_encryptor.can_decrypt?
79
- end
80
- end
81
-
82
- class AsymmetricEncryptorWithoutPublicKeyTest < Test::Unit::TestCase
83
- def setup
84
- @asymmetric_encryptor = PluginAWeek::EncryptedStrings::AsymmetricEncryptor.new(:public_key_file => nil, :private_key_file => File.dirname(__FILE__) + '/keys/private')
85
- end
86
-
87
- def test_should_not_be_public
88
- assert !@asymmetric_encryptor.public?
89
- end
90
-
91
- def test_should_not_be_able_to_encrypt
92
- assert_raise(PluginAWeek::EncryptedStrings::NoPublicKeyError) {@asymmetric_encryptor.encrypt('test')}
93
- end
94
- end
95
-
96
- class AsymmetricEncryptorWithPublicKeyTest < Test::Unit::TestCase
97
- def setup
98
- @asymmetric_encryptor = PluginAWeek::EncryptedStrings::AsymmetricEncryptor.new(:public_key_file => File.dirname(__FILE__) + '/keys/public')
99
- end
100
-
101
- def test_should_be_public
102
- assert @asymmetric_encryptor.public?
103
- end
104
-
105
- def test_should_not_be_private
106
- assert !@asymmetric_encryptor.private?
107
- end
108
-
109
- def test_should_be_able_to_encrypt
110
- assert_equal 90, @asymmetric_encryptor.encrypt('test').length
111
- end
112
-
113
- def test_should_not_be_able_to_decrypt
114
- assert_raise(PluginAWeek::EncryptedStrings::NoPrivateKeyError) {@asymmetric_encryptor.decrypt("HbEh0Hwri26S7SWYqO26DBbzfhR1h/0pXYLjSKUpxF5DOaOCtD9oRN748+Na\nrfNaVN5Eg7RUhbRFZE+UnNHo6Q==\n")}
115
- end
116
- end
117
-
118
- class AsymmetricEncryptorWithoutPrivateKeyTest < Test::Unit::TestCase
119
- def setup
120
- @asymmetric_encryptor = PluginAWeek::EncryptedStrings::AsymmetricEncryptor.new(:private_key_file => nil, :public_key_file => File.dirname(__FILE__) + '/keys/public')
121
- end
122
-
123
- def test_should_not_be_private
124
- assert !@asymmetric_encryptor.private?
125
- end
126
-
127
- def test_should_not_be_able_to_decrypt
128
- assert_raise(PluginAWeek::EncryptedStrings::NoPrivateKeyError) {@asymmetric_encryptor.decrypt("HbEh0Hwri26S7SWYqO26DBbzfhR1h/0pXYLjSKUpxF5DOaOCtD9oRN748+Na\nrfNaVN5Eg7RUhbRFZE+UnNHo6Q==\n")}
129
- end
130
- end
131
-
132
- class AsymmetricEncryptorWithPrivateKeyTest < Test::Unit::TestCase
133
- def setup
134
- @asymmetric_encryptor = PluginAWeek::EncryptedStrings::AsymmetricEncryptor.new(:private_key_file => File.dirname(__FILE__) + '/keys/private')
135
- end
136
-
137
- def test_should_not_be_public
138
- assert !@asymmetric_encryptor.public?
139
- end
140
-
141
- def test_should_be_private
142
- assert @asymmetric_encryptor.private?
143
- end
144
-
145
- def test_not_should_be_able_to_encrypt
146
- assert_raise(PluginAWeek::EncryptedStrings::NoPublicKeyError) {@asymmetric_encryptor.encrypt('test')}
147
- end
148
-
149
- def test_should_be_able_to_decrypt
150
- assert_equal 'test', @asymmetric_encryptor.decrypt("HbEh0Hwri26S7SWYqO26DBbzfhR1h/0pXYLjSKUpxF5DOaOCtD9oRN748+Na\nrfNaVN5Eg7RUhbRFZE+UnNHo6Q==\n")
151
- end
152
- end
153
-
154
- class AsymmetricEncryptorWithEncryptedPrivateKeyTest < Test::Unit::TestCase
155
- def setup
156
- @asymmetric_encryptor = PluginAWeek::EncryptedStrings::AsymmetricEncryptor.new(:private_key_file => File.dirname(__FILE__) + '/keys/encrypted_private', :algorithm => 'DES-EDE3-CBC', :password => 'secret')
157
- end
158
-
159
- def test_should_not_be_public
160
- assert !@asymmetric_encryptor.public?
161
- end
162
-
163
- def test_should_be_private
164
- assert @asymmetric_encryptor.private?
165
- end
166
-
167
- def test_should_not_be_able_to_encrypt
168
- assert_raise(PluginAWeek::EncryptedStrings::NoPublicKeyError) {@asymmetric_encryptor.encrypt('test')}
169
- end
170
-
171
- def test_should_be_able_to_decrypt
172
- assert_equal 'test', @asymmetric_encryptor.decrypt("HbEh0Hwri26S7SWYqO26DBbzfhR1h/0pXYLjSKUpxF5DOaOCtD9oRN748+Na\nrfNaVN5Eg7RUhbRFZE+UnNHo6Q==\n")
173
- end
174
- end
175
-
176
- class AsymmetricEncryptorWithPKCS5CompliancyTest < Test::Unit::TestCase
177
- def setup
178
- @asymmetric_encryptor = PluginAWeek::EncryptedStrings::AsymmetricEncryptor.new(:private_key_file => File.dirname(__FILE__) + '/keys/pkcs5_encrypted_private', :algorithm => 'DES-EDE3-CBC', :password => 'secret', :pkcs5_compliant => true)
179
- end
180
-
181
- def test_should_be_able_to_decrypt
182
- assert_equal 'test', @asymmetric_encryptor.decrypt("HbEh0Hwri26S7SWYqO26DBbzfhR1h/0pXYLjSKUpxF5DOaOCtD9oRN748+Na\nrfNaVN5Eg7RUhbRFZE+UnNHo6Q==\n")
183
- end
184
- end
185
-
186
- class AsymmetricEncyrptorWithDeprecatedKeyTest < Test::Unit::TestCase
187
- def setup
188
- @asymmetric_encryptor = PluginAWeek::EncryptedStrings::AsymmetricEncryptor.new(:private_key_file => File.dirname(__FILE__) + '/keys/encrypted_private', :key => 'secret')
189
- end
190
-
191
- def test_should_set_password
192
- assert_equal 'secret', @asymmetric_encryptor.password
193
- end
194
- end
@@ -1,15 +0,0 @@
1
- require File.dirname(__FILE__) + '/test_helper'
2
-
3
- class EncryptorByDefaultTest < Test::Unit::TestCase
4
- def setup
5
- @encryptor = PluginAWeek::EncryptedStrings::Encryptor.new
6
- end
7
-
8
- def test_should_be_able_to_decrypt_by_default
9
- assert @encryptor.can_decrypt?
10
- end
11
-
12
- def test_should_raise_exception_if_decrypt_not_implemented
13
- assert_raises(NotImplementedError) {@encryptor.decrypt('test')}
14
- end
15
- end
@@ -1,12 +0,0 @@
1
- TGr8Jm/7zh1dfjjoNJtOncvX/BdUL47b8k2rQbMTY7VD6ZpD317NTuVX1hHV
2
- 54Nm6pnCId5wcga3sI3TqolTxkqKBy7Rb1mPVBeJyd7ZuoD7zp65+ws+o4Lr
3
- Xn/3WculfuThUnDESqD53vnKPCfRK6hoMDygEV7urmuide5ogpZp52lidUku
4
- cXOHDqfVETX7NNnHHghg/6qDUX7+0qf+XeKe8uiI0cPoE5YFnOHyF7oOBGtR
5
- IqJG97q1InCJMeAbMSxcjO71Te51Z098yI+XN4rGmXbmzSrVKHMUk0tdsVxi
6
- CE5OmnzLeXK1xomxkRmXZzl10WDBn9e4knoLJTlDdNR3fA4gLRfy3r6RBlDl
7
- j7HI53o5gi9PTshSXwHr6Q8SV9fty2Nz3/yRT/ZPLUJC1GUqErLl2j6zYbVR
8
- 8YMaLt1Zqi79ycPZxZV4Zh57YE86nUqepS1pzVpcS8dHZMne846lTyaOyxZ8
9
- dxW+18s7E7KqpHj17QYrF6c7R5ZHgoNAbLFeGSUCXqkW8YdyidLqQTzWN7hF
10
- roVcZWFe8YfSUKmgndVBOHGHxMGr+OYgVdAStOEwmRHaNGgSBE4FCkKXYJUj
11
- ec3zNpiOCb8zxfNku5nT5nIHnGqO4JKWDvDGVioV+ffHwXpAw3OFE5n+M/uo
12
- 4ZZbVSh1qZxd
@@ -1,7 +0,0 @@
1
- require File.dirname(__FILE__) + '/test_helper'
2
-
3
- class NoKeyErrorTest < Test::Unit::TestCase
4
- def test_should_exist
5
- assert_not_nil PluginAWeek::EncryptedStrings::NoKeyError
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- require File.dirname(__FILE__) + '/test_helper'
2
-
3
- class NoPrivateKeyErrorTest < Test::Unit::TestCase
4
- def test_should_exist
5
- assert_not_nil PluginAWeek::EncryptedStrings::NoPrivateKeyError
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- require File.dirname(__FILE__) + '/test_helper'
2
-
3
- class NoPublicKeyErrorTest < Test::Unit::TestCase
4
- def test_should_exist
5
- assert_not_nil PluginAWeek::EncryptedStrings::NoPublicKeyError
6
- end
7
- end
@@ -1,81 +0,0 @@
1
- require File.dirname(__FILE__) + '/test_helper'
2
-
3
- class ShaEncryptorByDefaulTest < Test::Unit::TestCase
4
- def setup
5
- @sha_encryptor = PluginAWeek::EncryptedStrings::ShaEncryptor.new
6
- end
7
-
8
- def test_should_use_default_salt
9
- assert_equal 'salt', @sha_encryptor.salt
10
- end
11
-
12
- def test_should_encrypt_using_default_salt
13
- assert_equal 'f438229716cab43569496f3a3630b3727524b81b', @sha_encryptor.encrypt('test')
14
- end
15
- end
16
-
17
- class ShaEncryptorWithCustomDefaultsTest < Test::Unit::TestCase
18
- def setup
19
- @original_default_salt = PluginAWeek::EncryptedStrings::ShaEncryptor.default_salt
20
- PluginAWeek::EncryptedStrings::ShaEncryptor.default_salt = 'custom_salt'
21
- @sha_encryptor = PluginAWeek::EncryptedStrings::ShaEncryptor.new
22
- end
23
-
24
- def test_should_use_custom_default_salt
25
- assert_equal 'custom_salt', @sha_encryptor.salt
26
- end
27
-
28
- def test_should_encrypt_using_custom_default_salt
29
- assert_equal '280f3c516070b09aa3eb755378509c725a9c6561', @sha_encryptor.encrypt('test')
30
- end
31
-
32
- def teardown
33
- PluginAWeek::EncryptedStrings::ShaEncryptor.default_salt = @original_default_salt
34
- end
35
- end
36
-
37
- class ShaEncryptorWithInvalidOptionsTest < Test::Unit::TestCase
38
- def test_should_throw_an_exception
39
- assert_raise(ArgumentError) {PluginAWeek::EncryptedStrings::ShaEncryptor.new(:invalid => true)}
40
- end
41
- end
42
-
43
- class ShaEncryptorTest < Test::Unit::TestCase
44
- def setup
45
- @sha_encryptor = PluginAWeek::EncryptedStrings::ShaEncryptor.new
46
- end
47
-
48
- def test_should_not_be_able_to_decrypt
49
- assert !PluginAWeek::EncryptedStrings::ShaEncryptor.new.can_decrypt?
50
- end
51
-
52
- def test_should_raise_exception_if_trying_to_decrypt
53
- assert_raises(NotImplementedError) {PluginAWeek::EncryptedStrings::ShaEncryptor.new.decrypt('test')}
54
- end
55
- end
56
-
57
- class ShaEncryptorWithCustomOptionsTest < Test::Unit::TestCase
58
- def setup
59
- @sha_encryptor = PluginAWeek::EncryptedStrings::ShaEncryptor.new(:salt => 'different salt')
60
- end
61
-
62
- def test_should_use_custom_salt
63
- assert_equal 'different salt', @sha_encryptor.salt
64
- end
65
-
66
- def test_should_encrypt_using_custom_salt
67
- assert_equal '18e3256d71529db8fa65b2eef24a69ddad7070f3', @sha_encryptor.encrypt('test')
68
- end
69
- end
70
-
71
- class ShaEncryptorWithNonStringSaltTest < Test::Unit::TestCase
72
- require 'time'
73
-
74
- def setup
75
- @sha_encryptor = PluginAWeek::EncryptedStrings::ShaEncryptor.new(:salt => Time.parse('Tue Jan 01 00:00:00 UTC 2008'))
76
- end
77
-
78
- def test_should_stringify_salt
79
- assert_equal 'Tue Jan 01 00:00:00 UTC 2008', @sha_encryptor.salt
80
- end
81
- end
@@ -1,137 +0,0 @@
1
- require File.dirname(__FILE__) + '/test_helper'
2
-
3
- class SymmetricEncryptorByDefaultTest < Test::Unit::TestCase
4
- def setup
5
- @symmetric_encryptor = PluginAWeek::EncryptedStrings::SymmetricEncryptor.new(:password => 'secret')
6
- end
7
-
8
- def test_should_use_default_algorithm
9
- assert_equal 'DES-EDE3-CBC', @symmetric_encryptor.algorithm
10
- end
11
-
12
- def test_should_raise_exception
13
- assert_raise(PluginAWeek::EncryptedStrings::NoKeyError) {PluginAWeek::EncryptedStrings::SymmetricEncryptor.new}
14
- end
15
-
16
- def test_should_encrypt_using_default_configuration
17
- assert_equal "MU6e/5LvhKA=\n", @symmetric_encryptor.encrypt('test')
18
- end
19
-
20
- def test_should_decrypt_encrypted_string_using_default_configuration
21
- assert_equal 'test', @symmetric_encryptor.decrypt("MU6e/5LvhKA=\n")
22
- end
23
- end
24
-
25
- class SymmetricEncryptorWithCustomDefaultsTest < Test::Unit::TestCase
26
- def setup
27
- @original_default_algorithm = PluginAWeek::EncryptedStrings::SymmetricEncryptor.default_algorithm
28
- @original_default_password = PluginAWeek::EncryptedStrings::SymmetricEncryptor.default_password
29
-
30
- PluginAWeek::EncryptedStrings::SymmetricEncryptor.default_algorithm = 'DES-EDE3-CFB'
31
- PluginAWeek::EncryptedStrings::SymmetricEncryptor.default_password = 'secret'
32
- @symmetric_encryptor = PluginAWeek::EncryptedStrings::SymmetricEncryptor.new
33
- end
34
-
35
- def test_should_use_custom_default_algorithm
36
- assert_equal 'DES-EDE3-CFB', @symmetric_encryptor.algorithm
37
- end
38
-
39
- def test_should_use_custom_default_password
40
- assert_equal 'secret', @symmetric_encryptor.password
41
- end
42
-
43
- def test_should_encrypt_using_custom_default_configuration
44
- assert_equal "C7D9mg==\n", @symmetric_encryptor.encrypt('test')
45
- end
46
-
47
- def test_should_decrypt_encrypted_string_using_custom_default_configuration
48
- assert_equal 'test', @symmetric_encryptor.decrypt("C7D9mg==\n")
49
- end
50
-
51
- def teardown
52
- PluginAWeek::EncryptedStrings::SymmetricEncryptor.default_algorithm = @original_default_algorithm
53
- PluginAWeek::EncryptedStrings::SymmetricEncryptor.default_password = @original_default_password
54
- end
55
- end
56
-
57
- class SymmetricEncryptorWithInvalidOptionsTest < Test::Unit::TestCase
58
- def test_should_throw_an_exception
59
- assert_raise(ArgumentError) {PluginAWeek::EncryptedStrings::SymmetricEncryptor.new(:invalid => true)}
60
- end
61
- end
62
-
63
- class SymmetricEncryptorTest < Test::Unit::TestCase
64
- def setup
65
- @symmetric_encryptor = PluginAWeek::EncryptedStrings::SymmetricEncryptor.new(:password => 'secret')
66
- end
67
-
68
- def test_should_be_able_to_decrypt
69
- assert @symmetric_encryptor.can_decrypt?
70
- end
71
- end
72
-
73
- class SymmetricEncryptorWithCustomOptionsTest < Test::Unit::TestCase
74
- def setup
75
- @symmetric_encryptor = PluginAWeek::EncryptedStrings::SymmetricEncryptor.new(:algorithm => 'DES-EDE3-CFB', :password => 'secret')
76
- end
77
-
78
- def test_should_use_custom_algorithm
79
- assert_equal 'DES-EDE3-CFB', @symmetric_encryptor.algorithm
80
- end
81
-
82
- def test_should_use_custom_password
83
- assert_equal 'secret', @symmetric_encryptor.password
84
- end
85
-
86
- def test_should_encrypt_using_custom_options
87
- assert_equal "C7D9mg==\n", @symmetric_encryptor.encrypt('test')
88
- end
89
-
90
- def test_should_decrypt_using_custom_options
91
- assert_equal 'test', @symmetric_encryptor.decrypt("C7D9mg==\n")
92
- end
93
- end
94
-
95
- class SymmetricEncryptorWithPKCS5CompliancyTest < Test::Unit::TestCase
96
- def setup
97
- @symmetric_encryptor = PluginAWeek::EncryptedStrings::SymmetricEncryptor.new(:password => 'secret', :pkcs5_compliant => true)
98
- end
99
-
100
- def test_should_encrypt_using_pkcs5_generated_key
101
- assert_equal "oTxJd67ElLY=\n", @symmetric_encryptor.encrypt('test')
102
- end
103
-
104
- def test_should_decrypt_using_pkcs5_generated_key
105
- assert_equal 'test', @symmetric_encryptor.decrypt("oTxJd67ElLY=\n" )
106
- end
107
- end
108
-
109
- class SymmetricEncryptorWithDeprecatedDefaultsTest < Test::Unit::TestCase
110
- def setup
111
- @original_default_password = PluginAWeek::EncryptedStrings::SymmetricEncryptor.default_password
112
- end
113
-
114
- def test_should_set_password_when_setting_key
115
- PluginAWeek::EncryptedStrings::SymmetricEncryptor.default_key = 'secret'
116
- assert_equal 'secret', PluginAWeek::EncryptedStrings::SymmetricEncryptor.default_password
117
- end
118
-
119
- def test_should_get_password_when_getting_key
120
- PluginAWeek::EncryptedStrings::SymmetricEncryptor.default_key = 'secret'
121
- assert_equal 'secret', PluginAWeek::EncryptedStrings::SymmetricEncryptor.default_key
122
- end
123
-
124
- def teardown
125
- PluginAWeek::EncryptedStrings::SymmetricEncryptor.default_password = @original_default_password
126
- end
127
- end
128
-
129
- class SymmetricEncryptorWithDeprecatedKeyTest < Test::Unit::TestCase
130
- def setup
131
- @symmetric_encryptor = PluginAWeek::EncryptedStrings::SymmetricEncryptor.new(:key => 'secret')
132
- end
133
-
134
- def test_should_set_password
135
- assert_equal 'secret', @symmetric_encryptor.password
136
- end
137
- end