@@ -11,7 +11,13 @@ class Diffcrypt::EncryptorTest < Minitest::Test
11
11
def test_it_includes_client_info_at_root
12
12
content = "---\n key: value"
13
13
expected_pattern = /---\n client: diffcrypt-#{ Diffcrypt ::VERSION } \n cipher: #{ Diffcrypt ::Encryptor ::DEFAULT_CIPHER } \n data:\n key: #{ ENCRYPTED_VALUE_PATTERN } \n /
14
- assert_match expected_pattern , Diffcrypt ::Encryptor . new ( TEST_KEY ) . encrypt ( content )
14
+ assert_match expected_pattern , Diffcrypt ::Encryptor . new ( TEST_KEY_256 ) . encrypt ( content )
15
+ end
16
+
17
+ def test_it_includes_cipher_when_not_default
18
+ content = "---\n key: value"
19
+ expected_pattern = /---\n client: diffcrypt-#{ Diffcrypt ::VERSION } \n cipher: aes-128-gcm\n data:\n key: #{ ENCRYPTED_VALUE_PATTERN } \n /
20
+ assert_match expected_pattern , Diffcrypt ::Encryptor . new ( TEST_KEY_128 , cipher : 'aes-128-gcm' ) . encrypt ( content )
15
21
end
16
22
17
23
def test_it_decrypts_root_values
@@ -24,7 +30,7 @@ def test_it_decrypts_root_values
24
30
secret_key_base: secret_key_base_test
25
31
CONTENT
26
32
27
- assert_equal Diffcrypt ::Encryptor . new ( TEST_KEY ) . decrypt ( encrypted_content ) , expected
33
+ assert_equal Diffcrypt ::Encryptor . new ( TEST_KEY_128 , cipher : 'aes-128-gcm' ) . decrypt ( encrypted_content ) , expected
28
34
end
29
35
30
36
def test_it_encrypts_root_values
@@ -34,7 +40,7 @@ def test_it_encrypts_root_values
34
40
CONTENT
35
41
expected_pattern = /---\n secret_key_base: #{ ENCRYPTED_VALUE_PATTERN } \n /
36
42
37
- assert_match expected_pattern , Diffcrypt ::Encryptor . new ( TEST_KEY ) . encrypt_data ( content ) . to_yaml
43
+ assert_match expected_pattern , Diffcrypt ::Encryptor . new ( TEST_KEY_128 , cipher : 'aes-128-gcm' ) . encrypt_data ( content ) . to_yaml
38
44
end
39
45
40
46
def test_it_decrypts_nested_structures
@@ -51,7 +57,7 @@ def test_it_decrypts_nested_structures
51
57
access_key_id: AKIAXXX
52
58
CONTENT
53
59
54
- assert_equal Diffcrypt ::Encryptor . new ( TEST_KEY ) . decrypt ( encrypted_content ) , expected
60
+ assert_equal Diffcrypt ::Encryptor . new ( TEST_KEY_128 , cipher : 'aes-128-gcm' ) . decrypt ( encrypted_content ) , expected
55
61
end
56
62
57
63
def test_it_encrypts_nested_structures
@@ -63,7 +69,7 @@ def test_it_encrypts_nested_structures
63
69
CONTENT
64
70
expected_pattern = /---\n secret_key_base: #{ ENCRYPTED_VALUE_PATTERN } \n aws:\n access_key_id: #{ ENCRYPTED_VALUE_PATTERN } \n /
65
71
66
- assert_match expected_pattern , Diffcrypt ::Encryptor . new ( TEST_KEY ) . encrypt_data ( content ) . to_yaml
72
+ assert_match expected_pattern , Diffcrypt ::Encryptor . new ( TEST_KEY_128 , cipher : 'aes-128-gcm' ) . encrypt_data ( content ) . to_yaml
67
73
end
68
74
69
75
# Verifies that a change to one key does not cause the encrypted values for other keys to be recomputed
@@ -73,14 +79,14 @@ def test_it_only_updates_changed_values
73
79
updated_content = "---\n secret_key_base_1: secret_key_base_test\n aws:\n secret_access_key: secret_access_key_2"
74
80
expected_pattern = /---\n secret_key_base_1: 88Ry6HESUoXBr6QUFXmni9zzfCIYt9qGNFvIWFcN--4xoecI5mqbNRBibI--62qPJbkzzh5h8lhFEFOSaQ==\n aws:\n secret_access_key: #{ ENCRYPTED_VALUE_PATTERN } \n /
75
81
76
- assert_match expected_pattern , Diffcrypt ::Encryptor . new ( TEST_KEY ) . encrypt_data ( updated_content , original_encrypted_content ) . to_yaml
82
+ assert_match expected_pattern , Diffcrypt ::Encryptor . new ( TEST_KEY_128 , cipher : 'aes-128-gcm' ) . encrypt_data ( updated_content , original_encrypted_content ) . to_yaml
77
83
end
78
84
79
85
def test_it_assumes_changed_when_no_original_value
80
86
original_encrypted_content = "---\n data:\n secret_key_base_1: 88Ry6HESUoXBr6QUFXmni9zzfCIYt9qGNFvIWFcN--4xoecI5mqbNRBibI--62qPJbkzzh5h8lhFEFOSaQ==\n "
81
87
updated_content = "---\n secret_key_base_1: secret_key_base_test\n aws:\n access_key_id: new_value\n "
82
88
expected_pattern = /---\n secret_key_base_1: 88Ry6HESUoXBr6QUFXmni9zzfCIYt9qGNFvIWFcN--4xoecI5mqbNRBibI--62qPJbkzzh5h8lhFEFOSaQ==\n aws:\n access_key_id: #{ ENCRYPTED_VALUE_PATTERN } \n /
83
89
84
- assert_match expected_pattern , Diffcrypt ::Encryptor . new ( TEST_KEY ) . encrypt_data ( updated_content , original_encrypted_content ) . to_yaml
90
+ assert_match expected_pattern , Diffcrypt ::Encryptor . new ( TEST_KEY_128 , cipher : 'aes-128-gcm' ) . encrypt_data ( updated_content , original_encrypted_content ) . to_yaml
85
91
end
86
92
end
0 commit comments