4
from gpgme.tests.util import GpgHomeTestCase
6
class ContextTestCase(GpgHomeTestCase):
8
import_keys = ['key1.pub', 'key2.pub', 'revoked.pub', 'signonly.pub']
12
key = ctx.get_key('E79A842DA34A1CA383F64A1546BB55F0885C65A4')
13
self.assertEqual(key.revoked, False)
14
self.assertEqual(key.expired, False)
15
self.assertEqual(key.invalid, False)
16
self.assertEqual(key.can_encrypt, True)
17
self.assertEqual(key.can_sign, True)
18
self.assertEqual(key.can_certify, True)
19
self.assertEqual(key.secret, False)
20
self.assertEqual(key.can_authenticate, False)
21
self.assertEqual(key.protocol, gpgme.PROTOCOL_OpenPGP)
22
self.assertEqual(len(key.subkeys), 2)
23
self.assertEqual(len(key.uids), 1)
25
self.assertEqual(key.subkeys[0].revoked, False)
26
self.assertEqual(key.subkeys[0].expired, False)
27
self.assertEqual(key.subkeys[0].disabled, False)
28
self.assertEqual(key.subkeys[0].invalid, False)
29
self.assertEqual(key.subkeys[0].can_encrypt, False)
30
self.assertEqual(key.subkeys[0].can_sign, True)
31
self.assertEqual(key.subkeys[0].can_certify, True)
32
self.assertEqual(key.subkeys[0].secret, False)
33
self.assertEqual(key.subkeys[0].can_authenticate, False)
34
self.assertEqual(key.subkeys[0].pubkey_algo, gpgme.PK_DSA)
35
self.assertEqual(key.subkeys[0].length, 1024)
36
self.assertEqual(key.subkeys[0].keyid, '46BB55F0885C65A4')
37
self.assertEqual(key.subkeys[0].fpr,
38
'E79A842DA34A1CA383F64A1546BB55F0885C65A4')
39
self.assertEqual(key.subkeys[0].timestamp, 1137568227)
40
self.assertEqual(key.subkeys[0].expires, 0)
42
self.assertEqual(key.subkeys[1].revoked, False)
43
self.assertEqual(key.subkeys[1].expired, False)
44
self.assertEqual(key.subkeys[1].disabled, False)
45
self.assertEqual(key.subkeys[1].invalid, False)
46
self.assertEqual(key.subkeys[1].can_encrypt, True)
47
self.assertEqual(key.subkeys[1].can_sign, False)
48
self.assertEqual(key.subkeys[1].can_certify, False)
49
self.assertEqual(key.subkeys[1].secret, False)
50
self.assertEqual(key.subkeys[1].can_authenticate, False)
51
self.assertEqual(key.subkeys[1].pubkey_algo, gpgme.PK_ELG_E)
52
self.assertEqual(key.subkeys[1].length, 2048)
53
self.assertEqual(key.subkeys[1].keyid, '659A6AC69BC3B085')
54
self.assertEqual(key.subkeys[1].fpr, None)
55
self.assertEqual(key.subkeys[1].timestamp, 1137568234)
56
self.assertEqual(key.subkeys[1].expires, 0)
58
self.assertEqual(key.uids[0].revoked, False)
59
self.assertEqual(key.uids[0].invalid, False)
60
self.assertEqual(key.uids[0].validity, 0)
61
self.assertEqual(key.uids[0].uid, 'Key 1 <key1@example.org>')
62
self.assertEqual(key.uids[0].name, 'Key 1')
63
self.assertEqual(key.uids[0].email, 'key1@example.org')
64
self.assertEqual(key.uids[0].comment, '')
68
key = ctx.get_key('93C2240D6B8AA10AB28F701D2CF46B7FC97E6B0F')
69
self.assertEqual(key.revoked, False)
70
self.assertEqual(key.expired, False)
71
self.assertEqual(key.invalid, False)
72
self.assertEqual(key.can_encrypt, True)
73
self.assertEqual(key.can_sign, True)
74
self.assertEqual(key.can_certify, True)
75
self.assertEqual(key.secret, False)
76
self.assertEqual(key.can_authenticate, False)
77
self.assertEqual(key.protocol, gpgme.PROTOCOL_OpenPGP)
78
self.assertEqual(len(key.subkeys), 2)
79
self.assertEqual(len(key.uids), 1)
81
self.assertEqual(key.subkeys[0].revoked, False)
82
self.assertEqual(key.subkeys[0].expired, False)
83
self.assertEqual(key.subkeys[0].disabled, False)
84
self.assertEqual(key.subkeys[0].invalid, False)
85
self.assertEqual(key.subkeys[0].can_encrypt, False)
86
self.assertEqual(key.subkeys[0].can_sign, True)
87
self.assertEqual(key.subkeys[0].can_certify, True)
88
self.assertEqual(key.subkeys[0].secret, False)
89
self.assertEqual(key.subkeys[0].can_authenticate, False)
90
self.assertEqual(key.subkeys[0].pubkey_algo, gpgme.PK_RSA)
91
self.assertEqual(key.subkeys[0].length, 4096)
92
self.assertEqual(key.subkeys[0].keyid, '2CF46B7FC97E6B0F')
93
self.assertEqual(key.subkeys[0].fpr,
94
'93C2240D6B8AA10AB28F701D2CF46B7FC97E6B0F')
95
self.assertEqual(key.subkeys[0].timestamp, 1137568343)
96
self.assertEqual(key.subkeys[0].expires, 0)
98
self.assertEqual(key.subkeys[1].revoked, False)
99
self.assertEqual(key.subkeys[1].expired, False)
100
self.assertEqual(key.subkeys[1].disabled, False)
101
self.assertEqual(key.subkeys[1].invalid, False)
102
self.assertEqual(key.subkeys[1].can_encrypt, True)
103
self.assertEqual(key.subkeys[1].can_sign, False)
104
self.assertEqual(key.subkeys[1].can_certify, False)
105
self.assertEqual(key.subkeys[1].secret, False)
106
self.assertEqual(key.subkeys[1].can_authenticate, False)
107
self.assertEqual(key.subkeys[1].pubkey_algo, gpgme.PK_RSA)
108
self.assertEqual(key.subkeys[1].length, 4096)
109
self.assertEqual(key.subkeys[1].keyid, 'A95221D00DCBDD64')
110
self.assertEqual(key.subkeys[1].fpr, None)
111
self.assertEqual(key.subkeys[1].timestamp, 1137568395)
112
self.assertEqual(key.subkeys[1].expires, 0)
114
self.assertEqual(key.uids[0].revoked, False)
115
self.assertEqual(key.uids[0].invalid, False)
116
self.assertEqual(key.uids[0].validity, 0)
117
self.assertEqual(key.uids[0].uid, 'Key 2 <key2@example.org>')
118
self.assertEqual(key.uids[0].name, 'Key 2')
119
self.assertEqual(key.uids[0].email, 'key2@example.org')
120
self.assertEqual(key.uids[0].comment, '')
122
def test_revoked(self):
123
ctx = gpgme.Context()
124
key = ctx.get_key('B6525A39EB81F88B4D2CFB3E2EF658C987754368')
125
self.assertEqual(key.revoked, True)
126
self.assertEqual(key.expired, False)
127
self.assertEqual(key.invalid, False)
128
self.assertEqual(key.can_encrypt, False)
129
self.assertEqual(key.can_sign, True)
130
self.assertEqual(key.can_certify, True)
131
self.assertEqual(key.secret, False)
132
self.assertEqual(key.can_authenticate, False)
133
self.assertEqual(key.protocol, gpgme.PROTOCOL_OpenPGP)
134
self.assertEqual(len(key.subkeys), 2)
135
self.assertEqual(len(key.uids), 1)
137
self.assertEqual(key.subkeys[0].revoked, True)
138
self.assertEqual(key.subkeys[0].expired, False)
139
self.assertEqual(key.subkeys[0].disabled, False)
140
self.assertEqual(key.subkeys[0].invalid, False)
141
self.assertEqual(key.subkeys[0].can_encrypt, False)
142
self.assertEqual(key.subkeys[0].can_sign, True)
143
self.assertEqual(key.subkeys[0].can_certify, True)
144
self.assertEqual(key.subkeys[0].secret, False)
145
self.assertEqual(key.subkeys[0].can_authenticate, False)
146
self.assertEqual(key.subkeys[0].pubkey_algo, gpgme.PK_DSA)
147
self.assertEqual(key.subkeys[0].length, 1024)
148
self.assertEqual(key.subkeys[0].keyid, '2EF658C987754368')
149
self.assertEqual(key.subkeys[0].fpr,
150
'B6525A39EB81F88B4D2CFB3E2EF658C987754368')
151
self.assertEqual(key.subkeys[0].timestamp, 1137569043)
152
self.assertEqual(key.subkeys[0].expires, 0)
154
self.assertEqual(key.subkeys[1].revoked, True)
155
self.assertEqual(key.subkeys[1].expired, False)
156
self.assertEqual(key.subkeys[1].disabled, False)
157
self.assertEqual(key.subkeys[1].invalid, False)
158
self.assertEqual(key.subkeys[1].can_encrypt, True)
159
self.assertEqual(key.subkeys[1].can_sign, False)
160
self.assertEqual(key.subkeys[1].can_certify, False)
161
self.assertEqual(key.subkeys[1].secret, False)
162
self.assertEqual(key.subkeys[1].can_authenticate, False)
163
self.assertEqual(key.subkeys[1].pubkey_algo, gpgme.PK_ELG_E)
164
self.assertEqual(key.subkeys[1].length, 1024)
165
self.assertEqual(key.subkeys[1].keyid, 'E50B59CF50CE4D54')
166
self.assertEqual(key.subkeys[1].fpr, None)
167
self.assertEqual(key.subkeys[1].timestamp, 1137569047)
168
self.assertEqual(key.subkeys[1].expires, 0)
170
self.assertEqual(key.uids[0].revoked, True)
171
self.assertEqual(key.uids[0].invalid, False)
172
self.assertEqual(key.uids[0].validity, 0)
173
self.assertEqual(key.uids[0].uid, 'Revoked <revoked@example.org>')
174
self.assertEqual(key.uids[0].name, 'Revoked')
175
self.assertEqual(key.uids[0].email, 'revoked@example.org')
176
self.assertEqual(key.uids[0].comment, '')
178
def test_signonly(self):
179
ctx = gpgme.Context()
180
key = ctx.get_key('15E7CE9BF1771A4ABC550B31F540A569CB935A42')
181
self.assertEqual(key.revoked, False)
182
self.assertEqual(key.expired, False)
183
self.assertEqual(key.invalid, False)
184
self.assertEqual(key.can_encrypt, False)
185
self.assertEqual(key.can_sign, True)
186
self.assertEqual(key.can_certify, True)
187
self.assertEqual(key.secret, False)
188
self.assertEqual(key.can_authenticate, False)
189
self.assertEqual(key.protocol, gpgme.PROTOCOL_OpenPGP)
190
self.assertEqual(len(key.subkeys), 1)
191
self.assertEqual(len(key.uids), 2)
193
self.assertEqual(key.subkeys[0].revoked, False)
194
self.assertEqual(key.subkeys[0].expired, False)
195
self.assertEqual(key.subkeys[0].disabled, False)
196
self.assertEqual(key.subkeys[0].invalid, False)
197
self.assertEqual(key.subkeys[0].can_encrypt, False)
198
self.assertEqual(key.subkeys[0].can_sign, True)
199
self.assertEqual(key.subkeys[0].can_certify, True)
200
self.assertEqual(key.subkeys[0].secret, False)
201
self.assertEqual(key.subkeys[0].can_authenticate, False)
202
self.assertEqual(key.subkeys[0].pubkey_algo, gpgme.PK_RSA)
203
self.assertEqual(key.subkeys[0].length, 4096)
204
self.assertEqual(key.subkeys[0].keyid, 'F540A569CB935A42')
205
self.assertEqual(key.subkeys[0].fpr,
206
'15E7CE9BF1771A4ABC550B31F540A569CB935A42')
207
self.assertEqual(key.subkeys[0].timestamp, 1137568835)
208
self.assertEqual(key.subkeys[0].expires, 0)
210
self.assertEqual(key.uids[0].revoked, False)
211
self.assertEqual(key.uids[0].invalid, False)
212
self.assertEqual(key.uids[0].validity, 0)
213
self.assertEqual(key.uids[0].uid, 'Sign Only <signonly@example.org>')
214
self.assertEqual(key.uids[0].name, 'Sign Only')
215
self.assertEqual(key.uids[0].email, 'signonly@example.org')
216
self.assertEqual(key.uids[0].comment, '')
218
self.assertEqual(key.uids[1].revoked, False)
219
self.assertEqual(key.uids[1].invalid, False)
220
self.assertEqual(key.uids[1].validity, 0)
221
self.assertEqual(key.uids[1].uid,
222
'Sign Only (work address) <signonly@example.com>')
223
self.assertEqual(key.uids[1].name, 'Sign Only')
224
self.assertEqual(key.uids[1].email, 'signonly@example.com')
225
self.assertEqual(key.uids[1].comment, 'work address')
228
loader = unittest.TestLoader()
229
return loader.loadTestsFromName(__name__)