mail-gpg 0.3.2 → 0.3.3
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.
- checksums.yaml +4 -4
- data/History.txt +4 -0
- data/lib/mail/gpg/gpgme_helper.rb +2 -2
- data/lib/mail/gpg/version.rb +1 -1
- data/test/decrypted_part_test.rb +3 -1
- data/test/encrypted_part_test.rb +7 -54
- data/test/gpgme_helper_test.rb +79 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dc0c7bb838506fa1e0e3f01fbce200a95e13e76f
|
4
|
+
data.tar.gz: a528a571122d6c9b61c5ce2152b37973bdec88d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 40c3c768a539f4e016fc259cbd13b5d7323b423bde90be8dcb4a970017dc9d33e686d73e5d1a834facd8db82e9816f96f1e1e08eebbdbfa21773eeb435e51493
|
7
|
+
data.tar.gz: 1b37f11b4beb3311a1c894c2b1c77e626f8cadfd4cacdac74ab9bb96e528c6773ad10a91b093585276677825ed589555e21a7fe1673e82fd6193960e71bb7d87
|
data/History.txt
CHANGED
@@ -128,8 +128,8 @@ module Mail
|
|
128
128
|
unless key_id.nil? || key_id.empty?
|
129
129
|
GPGME::Key.find(:public, key_id, :encrypt)
|
130
130
|
end
|
131
|
-
end.flatten
|
132
|
-
elsif emails_or_shas_or_keys.size > 0
|
131
|
+
end.flatten.compact
|
132
|
+
elsif emails_or_shas_or_keys and emails_or_shas_or_keys.size > 0
|
133
133
|
# key lookup in keychain for all receivers
|
134
134
|
GPGME::Key.find :public, emails_or_shas_or_keys, :encrypt
|
135
135
|
else
|
data/lib/mail/gpg/version.rb
CHANGED
data/test/decrypted_part_test.rb
CHANGED
@@ -11,7 +11,9 @@ class DecryptedPartTest < Test::Unit::TestCase
|
|
11
11
|
subject 'test'
|
12
12
|
body 'i am unencrypted'
|
13
13
|
end
|
14
|
-
@part = Mail::Gpg::EncryptedPart.new(@mail, { :
|
14
|
+
@part = Mail::Gpg::EncryptedPart.new(@mail, { recipients: ['jane@foo.bar'],
|
15
|
+
:sign => true,
|
16
|
+
:password => 'abc' })
|
15
17
|
end
|
16
18
|
|
17
19
|
should 'decrypt' do
|
data/test/encrypted_part_test.rb
CHANGED
@@ -17,67 +17,20 @@ class EncryptedPartTest < Test::Unit::TestCase
|
|
17
17
|
subject 'test'
|
18
18
|
body 'i am unencrypted'
|
19
19
|
end
|
20
|
-
@part = Mail::Gpg::EncryptedPart.new(mail)
|
20
|
+
@part = Mail::Gpg::EncryptedPart.new(mail, recipients: ['jane@foo.bar'])
|
21
21
|
end
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
@email = 'jane@foo.bar'
|
26
|
-
end
|
27
|
-
|
28
|
-
should 'resolve email to gpg keys' do
|
29
|
-
assert keys = Mail::Gpg::GpgmeHelper.send(:keys_for_data, @email)
|
30
|
-
check_key_list keys
|
31
|
-
end
|
32
|
-
|
33
|
-
should 'resolve emails to gpg keys' do
|
34
|
-
assert keys = Mail::Gpg::GpgmeHelper.send(:keys_for_data, [@email])
|
35
|
-
check_key_list keys
|
36
|
-
end
|
37
|
-
|
23
|
+
should 'have binary content type and name' do
|
24
|
+
assert_equal 'application/octet-stream; name=encrypted.asc', @part.content_type
|
38
25
|
end
|
39
26
|
|
40
|
-
|
41
|
-
|
42
|
-
@key_id = GPGME::Key.find(:public, 'jane@foo.bar').first.sha
|
43
|
-
end
|
44
|
-
|
45
|
-
should 'resolve single id gpg keys' do
|
46
|
-
assert keys = Mail::Gpg::GpgmeHelper.send(:keys_for_data, @key_id)
|
47
|
-
check_key_list keys
|
48
|
-
end
|
49
|
-
should 'resolve id list to gpg keys' do
|
50
|
-
assert keys = Mail::Gpg::GpgmeHelper.send(:keys_for_data, [@key_id])
|
51
|
-
check_key_list keys
|
52
|
-
end
|
27
|
+
should 'have description' do
|
28
|
+
assert_match(/openpgp/i, @part.content_description)
|
53
29
|
end
|
54
30
|
|
55
|
-
|
56
|
-
|
57
|
-
@key_fpr = GPGME::Key.find(:public, 'jane@foo.bar').first.fingerprint
|
58
|
-
end
|
59
|
-
|
60
|
-
should 'resolve single id gpg keys' do
|
61
|
-
assert keys = Mail::Gpg::GpgmeHelper.send(:keys_for_data, @key_fpr)
|
62
|
-
check_key_list keys
|
63
|
-
end
|
64
|
-
should 'resolve id list to gpg keys' do
|
65
|
-
assert keys = Mail::Gpg::GpgmeHelper.send(:keys_for_data, [@key_fpr])
|
66
|
-
check_key_list keys
|
67
|
-
end
|
31
|
+
should 'have inline disposition and default filename' do
|
32
|
+
assert_equal 'inline; filename=encrypted.asc', @part.content_disposition
|
68
33
|
end
|
69
34
|
|
70
|
-
context 'with emails and key data' do
|
71
|
-
setup do
|
72
|
-
@key = GPGME::Key.find(:public, 'jane@foo.bar').first.export(armor: true).to_s
|
73
|
-
@emails = ['jane@foo.bar']
|
74
|
-
@key_data = { 'jane@foo.bar' => @key }
|
75
|
-
end
|
76
|
-
|
77
|
-
should 'resolve to gpg keys' do
|
78
|
-
assert keys = Mail::Gpg::GpgmeHelper.send(:keys_for_data, @emails, @key_data)
|
79
|
-
check_key_list keys
|
80
|
-
end
|
81
|
-
end
|
82
35
|
end
|
83
36
|
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class GpgmeHelperTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def check_key_list(keys)
|
6
|
+
assert_equal 1, keys.size
|
7
|
+
assert_equal GPGME::Key, keys.first.class
|
8
|
+
assert_equal 'jane@foo.bar', keys.first.email
|
9
|
+
end
|
10
|
+
|
11
|
+
context 'GpgmeHelper' do
|
12
|
+
|
13
|
+
should 'handle empty email list' do
|
14
|
+
assert_equal [], Mail::Gpg::GpgmeHelper.send(:keys_for_data, nil)
|
15
|
+
assert_equal [], Mail::Gpg::GpgmeHelper.send(:keys_for_data, [])
|
16
|
+
end
|
17
|
+
|
18
|
+
context 'with email address' do
|
19
|
+
setup do
|
20
|
+
@email = 'jane@foo.bar'
|
21
|
+
end
|
22
|
+
|
23
|
+
should 'resolve email to gpg keys' do
|
24
|
+
assert keys = Mail::Gpg::GpgmeHelper.send(:keys_for_data, @email)
|
25
|
+
check_key_list keys
|
26
|
+
end
|
27
|
+
|
28
|
+
should 'resolve emails to gpg keys' do
|
29
|
+
assert keys = Mail::Gpg::GpgmeHelper.send(:keys_for_data, [@email])
|
30
|
+
check_key_list keys
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
context 'with key id' do
|
36
|
+
setup do
|
37
|
+
@key_id = GPGME::Key.find(:public, 'jane@foo.bar').first.sha
|
38
|
+
end
|
39
|
+
|
40
|
+
should 'resolve single id gpg keys' do
|
41
|
+
assert keys = Mail::Gpg::GpgmeHelper.send(:keys_for_data, @key_id)
|
42
|
+
check_key_list keys
|
43
|
+
end
|
44
|
+
should 'resolve id list to gpg keys' do
|
45
|
+
assert keys = Mail::Gpg::GpgmeHelper.send(:keys_for_data, [@key_id])
|
46
|
+
check_key_list keys
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
context 'with key fingerprint' do
|
51
|
+
setup do
|
52
|
+
@key_fpr = GPGME::Key.find(:public, 'jane@foo.bar').first.fingerprint
|
53
|
+
end
|
54
|
+
|
55
|
+
should 'resolve single id gpg keys' do
|
56
|
+
assert keys = Mail::Gpg::GpgmeHelper.send(:keys_for_data, @key_fpr)
|
57
|
+
check_key_list keys
|
58
|
+
end
|
59
|
+
should 'resolve id list to gpg keys' do
|
60
|
+
assert keys = Mail::Gpg::GpgmeHelper.send(:keys_for_data, [@key_fpr])
|
61
|
+
check_key_list keys
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
context 'with emails and key data' do
|
66
|
+
setup do
|
67
|
+
@key = GPGME::Key.find(:public, 'jane@foo.bar').first.export(armor: true).to_s
|
68
|
+
@emails = ['jane@foo.bar']
|
69
|
+
@key_data = { 'jane@foo.bar' => @key }
|
70
|
+
end
|
71
|
+
|
72
|
+
should 'resolve to gpg keys' do
|
73
|
+
assert keys = Mail::Gpg::GpgmeHelper.send(:keys_for_data, @emails, @key_data)
|
74
|
+
check_key_list keys
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mail-gpg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jens Kraemer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mail
|
@@ -182,6 +182,7 @@ files:
|
|
182
182
|
- test/gpghome/random_seed
|
183
183
|
- test/gpghome/secring.gpg
|
184
184
|
- test/gpghome/trustdb.gpg
|
185
|
+
- test/gpgme_helper_test.rb
|
185
186
|
- test/hkp_test.rb
|
186
187
|
- test/inline_decrypted_message_test.rb
|
187
188
|
- test/inline_signed_message_test.rb
|
@@ -224,6 +225,7 @@ test_files:
|
|
224
225
|
- test/gpghome/random_seed
|
225
226
|
- test/gpghome/secring.gpg
|
226
227
|
- test/gpghome/trustdb.gpg
|
228
|
+
- test/gpgme_helper_test.rb
|
227
229
|
- test/hkp_test.rb
|
228
230
|
- test/inline_decrypted_message_test.rb
|
229
231
|
- test/inline_signed_message_test.rb
|