Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 699a4f25

Přidáno uživatelem Stanislav Král před asi 4 roky(ů)

Re #8472 - Added KeyService.delete test and renamed a test suite

Applied a small change to the KeyService.get_keys method

Zobrazit rozdíly:

src/services/key_service.py
27 27
    def get_key(self, unique_id):
28 28
        return self.private_key_repository.read(unique_id)
29 29

  
30
    def get_keys(self, unique_ids):
31
        return [self.private_key_repository.read(identifier) for identifier in unique_ids]
30
    def get_keys(self, unique_ids=None):
31
        if unique_ids is None:
32
            return self.private_key_repository.read_all()
33
        else:
34
            # TODO this is very inefficient
35
            return [self.private_key_repository.read(identifier) for identifier in unique_ids]
32 36

  
33 37
    def delete_key(self, unique_id):
34 38
        return self.private_key_repository.delete(unique_id)
tests/integration_tests/services/certificate_key_service_test.py
1
import subprocess
2

  
3
from src.constants import SSL_ID, CA_ID, AUTHENTICATION_ID, INTERMEDIATE_CA_ID, ROOT_CA_ID, CERTIFICATE_ID, SIGNATURE_ID
4
from src.model.subject import Subject
5

  
6

  
7
def export_crt(crt):
8
    return subprocess.check_output(["openssl", "x509", "-noout", "-text", "-in", "-"],
9
                                   input=bytes(crt, encoding="utf-8"), stderr=subprocess.STDOUT).decode()
10

  
11

  
12
def test_create_and_get_pk(private_key_service, certificate_service):
13
    private_key = private_key_service.create_new_key(passphrase="foobar")
14
    private_key_loaded = private_key_service.get_key(private_key.private_key_id)
15

  
16
    assert private_key.private_key_id == private_key_loaded.private_key_id
17
    assert private_key.private_key == private_key_loaded.private_key
18
    assert private_key.password == private_key_loaded.password
19

  
20

  
21
def test_create_and_get_root_ca(private_key_service, certificate_service):
22
    private_key = private_key_service.create_new_key(passphrase="foobar")
23

  
24
    cert = certificate_service.create_root_ca(private_key,
25
                                              Subject(common_name="FooName", organization_unit="Department of Foo"),
26
                                              usages={SSL_ID: True})
27

  
28
    assert ROOT_CA_ID == cert.type_id
29

  
30
    assert cert.usages[CA_ID]
31
    assert cert.usages[SSL_ID]
32
    assert cert.usages[AUTHENTICATION_ID] is False
33
    assert cert.usages[SIGNATURE_ID] is False
34

  
35
    cert_loaded = certificate_service.get_certificate(cert.certificate_id)
36

  
37
    # verify that the loaded certificate is a CA
38
    cert_loaded_printed = export_crt(cert_loaded.pem_data)
39
    assert """            X509v3 Basic Constraints: critical
40
                CA:TRUE""" in cert_loaded_printed
41

  
42
    assert cert.certificate_id == cert_loaded.certificate_id
43
    assert cert.common_name == cert_loaded.common_name
44
    assert cert.valid_from == cert_loaded.valid_from
45
    assert cert.valid_to == cert_loaded.valid_to
46
    assert cert.pem_data == cert_loaded.pem_data
47
    assert cert.private_key_id == cert_loaded.private_key_id
48
    assert cert.type_id == cert_loaded.type_id
49
    assert cert.parent_id == cert_loaded.parent_id
50
    assert cert.usages == cert_loaded.usages
51

  
52

  
53
def test_create_and_get_inter_cert(private_key_service, certificate_service):
54
    root_ca_private_key = private_key_service.create_new_key(passphrase="foobar")
55
    inter_ca_private_key = private_key_service.create_new_key()
56

  
57
    root_ca = certificate_service.create_root_ca(root_ca_private_key,
58
                                                 Subject(common_name="RootFoo", organization_unit="Department of Foo"))
59

  
60
    inter_cert = certificate_service.create_ca(inter_ca_private_key, Subject(common_name="Intermediate CA"), root_ca,
61
                                               root_ca_private_key, usages={SSL_ID: True})
62

  
63
    assert INTERMEDIATE_CA_ID == inter_cert.type_id
64

  
65
    assert inter_cert.usages[CA_ID]
66
    assert inter_cert.usages[SSL_ID]
67
    assert inter_cert.usages[AUTHENTICATION_ID] is False
68
    assert inter_cert.usages[SIGNATURE_ID] is False
69

  
70
    inter_cert_loaded = certificate_service.get_certificate(inter_cert.certificate_id)
71

  
72
    # verify that the loaded certificate is a CA
73
    cert_loaded_printed = export_crt(inter_cert_loaded.pem_data)
74
    assert """            X509v3 Basic Constraints: critical
75
                CA:TRUE""" in cert_loaded_printed
76

  
77
    assert inter_cert.certificate_id == inter_cert_loaded.certificate_id
78
    assert inter_cert.common_name == inter_cert_loaded.common_name
79
    assert inter_cert.valid_from == inter_cert_loaded.valid_from
80
    assert inter_cert.valid_to == inter_cert_loaded.valid_to
81
    assert inter_cert.pem_data == inter_cert_loaded.pem_data
82
    assert inter_cert.private_key_id == inter_cert_loaded.private_key_id
83
    assert inter_cert.type_id == inter_cert_loaded.type_id
84
    assert inter_cert.parent_id == root_ca.certificate_id
85
    assert inter_cert_loaded.parent_id == root_ca.certificate_id
86
    assert inter_cert.usages == inter_cert_loaded.usages
87

  
88

  
89
def test_create_and_get_cert(private_key_service, certificate_service):
90
    root_ca_private_key = private_key_service.create_new_key(passphrase="foobar")
91
    inter_ca_private_key = private_key_service.create_new_key(passphrase="barfoo")
92
    end_cert_private_key = private_key_service.create_new_key(passphrase="foofoo")
93

  
94
    root_ca_cert = certificate_service.create_root_ca(root_ca_private_key,
95
                                                      Subject(common_name="RootFoo",
96
                                                              organization_unit="Department of Foo"))
97

  
98
    inter_ca_cert = certificate_service.create_ca(inter_ca_private_key, Subject(common_name="Intermediate CA"),
99
                                                  root_ca_cert,
100
                                                  root_ca_private_key, usages={SSL_ID: True})
101

  
102
    cert = certificate_service.create_end_cert(end_cert_private_key,
103
                                               Subject("Foo Child", email_address="foo@bar.cz"), inter_ca_cert,
104
                                               inter_ca_private_key, usages={AUTHENTICATION_ID: True})
105
    assert CERTIFICATE_ID == cert.type_id
106

  
107
    assert cert.usages[AUTHENTICATION_ID]
108
    assert cert.usages[SSL_ID] is False
109
    assert cert.usages[SIGNATURE_ID] is False
110
    assert cert.usages[CA_ID] is False
111

  
112
    cert_loaded = certificate_service.get_certificate(cert.certificate_id)
113

  
114
    assert cert.certificate_id == cert_loaded.certificate_id
115
    assert cert.common_name == cert_loaded.common_name
116
    assert cert.valid_from == cert_loaded.valid_from
117
    assert cert.valid_to == cert_loaded.valid_to
118
    assert cert.pem_data == cert_loaded.pem_data
119
    assert cert.private_key_id == cert_loaded.private_key_id
120
    assert cert.type_id == cert_loaded.type_id
121
    assert cert.parent_id == inter_ca_cert.certificate_id
122
    assert cert_loaded.parent_id == inter_ca_cert.certificate_id
123
    assert cert.usages == cert_loaded.usages
124

  
125

  
126
def test_get_certificates(private_key_service_unique, certificate_service_unique):
127
    root_ca_private_key = private_key_service_unique.create_new_key(passphrase="foobar")
128
    inter_ca_private_key = private_key_service_unique.create_new_key(passphrase="barfoo")
129
    end_cert_private_key = private_key_service_unique.create_new_key(passphrase="foofoo")
130

  
131
    root_ca_cert = certificate_service_unique.create_root_ca(root_ca_private_key,
132
                                                             Subject(common_name="RootFoo",
133
                                                                     organization_unit="Department of Foo"))
134

  
135
    inter_ca_cert = certificate_service_unique.create_ca(inter_ca_private_key, Subject(common_name="Intermediate CA"),
136
                                                         root_ca_cert,
137
                                                         root_ca_private_key, usages={SSL_ID: True})
138

  
139
    cert = certificate_service_unique.create_end_cert(end_cert_private_key,
140
                                                      Subject("Foo Child", email_address="foo@bar.cz"), inter_ca_cert,
141
                                                      inter_ca_private_key, usages={AUTHENTICATION_ID: True})
142

  
143
    all_certs = certificate_service_unique.get_certificates()
144
    assert 3 == len(all_certs)
145
    assert "RootFoo" == all_certs[0].common_name
146
    assert "Intermediate CA" == all_certs[1].common_name
147
    assert "Foo Child" == all_certs[2].common_name
148

  
149
    assert 1 == len(certificate_service_unique.get_certificates(cert_type=ROOT_CA_ID))
150
    assert 1 == len(certificate_service_unique.get_certificates(cert_type=INTERMEDIATE_CA_ID))
151
    assert 1 == len(certificate_service_unique.get_certificates(cert_type=CERTIFICATE_ID))
152

  
153

  
154
def test_get_chain_of_trust(private_key_service, certificate_service):
155
    root_ca_private_key = private_key_service.create_new_key(passphrase="foobar")
156
    inter_ca_private_key = private_key_service.create_new_key(passphrase="barfoo")
157
    end_cert_private_key = private_key_service.create_new_key(passphrase="foofoo")
158

  
159
    root_ca_cert = certificate_service.create_root_ca(root_ca_private_key,
160
                                                      Subject(common_name="RootFoo",
161
                                                              organization_unit="Department of Foo"))
162

  
163
    inter_ca_cert = certificate_service.create_ca(inter_ca_private_key, Subject(common_name="Intermediate CA"),
164
                                                  root_ca_cert,
165
                                                  root_ca_private_key, usages={SSL_ID: True})
166

  
167
    cert = certificate_service.create_end_cert(end_cert_private_key,
168
                                               Subject("Foo Child", email_address="foo@bar.cz"), inter_ca_cert,
169
                                               inter_ca_private_key, usages={AUTHENTICATION_ID: True})
170

  
171
    cot = certificate_service.get_chain_of_trust(cert.certificate_id)
172
    assert len(cot) == 2
173
    assert [cert.certificate_id, inter_ca_cert.certificate_id] == [cot[0].certificate_id, cot[1].certificate_id]
174

  
175
    cot = certificate_service.get_chain_of_trust(cert.certificate_id, root_ca_cert.private_key_id)
176
    assert len(cot) == 2
177
    assert [cert.certificate_id, inter_ca_cert.certificate_id] == [cot[0].certificate_id, cot[1].certificate_id]
178

  
179
    cot = certificate_service.get_chain_of_trust(cert.certificate_id, inter_ca_cert.private_key_id)
180
    assert len(cot) == 2
181
    assert [cert.certificate_id, inter_ca_cert.certificate_id] == [cot[0].certificate_id, cot[1].certificate_id]
182

  
183
    cot = certificate_service.get_chain_of_trust(cert.certificate_id, exclude_root=False)
184
    assert len(cot) == 3
185
    assert [cert.certificate_id, inter_ca_cert.certificate_id, root_ca_cert.certificate_id] == [cot[0].certificate_id,
186
                                                                                                cot[1].certificate_id,
187
                                                                                                cot[2].certificate_id]
188

  
189
    # starting from intermediate certificate
190
    cot = certificate_service.get_chain_of_trust(inter_ca_cert.certificate_id)
191
    assert len(cot) == 1
192
    assert [inter_ca_cert.certificate_id] == [cot[0].certificate_id]
193

  
194
    cot = certificate_service.get_chain_of_trust(inter_ca_cert.certificate_id, root_ca_cert.private_key_id)
195
    assert len(cot) == 1
196
    assert [inter_ca_cert.certificate_id] == [cot[0].certificate_id]
197

  
198
    cot = certificate_service.get_chain_of_trust(inter_ca_cert.certificate_id, exclude_root=False)
199
    assert len(cot) == 2
200
    assert [inter_ca_cert.certificate_id, root_ca_cert.certificate_id] == [cot[0].certificate_id,
201
                                                                           cot[1].certificate_id]
202

  
203
    # starting from intermediate certificate
204
    cot = certificate_service.get_chain_of_trust(root_ca_cert.certificate_id)
205
    assert len(cot) == 0
206

  
207
    cot = certificate_service.get_chain_of_trust(root_ca_cert.certificate_id, root_ca_cert.private_key_id)
208
    assert len(cot) == 0
209

  
210
    cot = certificate_service.get_chain_of_trust(root_ca_cert.certificate_id, exclude_root=False)
211
    assert len(cot) == 1
212
    assert [root_ca_cert.certificate_id] == [cot[0].certificate_id]
213

  
214

  
215
def test_delete_cert(private_key_service, certificate_service):
216
    root_ca_private_key = private_key_service.create_new_key(passphrase="foobar")
217

  
218
    original_len = len(certificate_service.get_certificates())
219

  
220
    root_ca_cert = certificate_service.create_root_ca(root_ca_private_key,
221
                                                      Subject(common_name="RootFoo",
222
                                                              organization_unit="Department of Foo"))
223

  
224
    len_inserted = len(certificate_service.get_certificates())
225

  
226
    assert original_len + 1 == len_inserted
227

  
228
    # TODO delete should delete all children?
229
    assert certificate_service.delete_certificate(root_ca_cert.certificate_id)
230

  
231
    assert len_inserted - 1 == len(certificate_service.get_certificates())
tests/integration_tests/services/certificate_service_test.py
1
import subprocess
2

  
3
from src.constants import SSL_ID, CA_ID, AUTHENTICATION_ID, INTERMEDIATE_CA_ID, ROOT_CA_ID, CERTIFICATE_ID, SIGNATURE_ID
4
from src.model.subject import Subject
5

  
6

  
7
def export_crt(crt):
8
    return subprocess.check_output(["openssl", "x509", "-noout", "-text", "-in", "-"],
9
                                   input=bytes(crt, encoding="utf-8"), stderr=subprocess.STDOUT).decode()
10

  
11

  
12
def test_create_and_get_root_ca(private_key_service, certificate_service):
13
    private_key = private_key_service.create_new_key(passphrase="foobar")
14

  
15
    cert = certificate_service.create_root_ca(private_key,
16
                                              Subject(common_name="FooName", organization_unit="Department of Foo"),
17
                                              usages={SSL_ID: True})
18

  
19
    assert ROOT_CA_ID == cert.type_id
20

  
21
    assert cert.usages[CA_ID]
22
    assert cert.usages[SSL_ID]
23
    assert cert.usages[AUTHENTICATION_ID] is False
24
    assert cert.usages[SIGNATURE_ID] is False
25

  
26
    cert_loaded = certificate_service.get_certificate(cert.certificate_id)
27

  
28
    # verify that the loaded certificate is a CA
29
    cert_loaded_printed = export_crt(cert_loaded.pem_data)
30
    assert """            X509v3 Basic Constraints: critical
31
                CA:TRUE""" in cert_loaded_printed
32

  
33
    assert cert.certificate_id == cert_loaded.certificate_id
34
    assert cert.common_name == cert_loaded.common_name
35
    assert cert.valid_from == cert_loaded.valid_from
36
    assert cert.valid_to == cert_loaded.valid_to
37
    assert cert.pem_data == cert_loaded.pem_data
38
    assert cert.private_key_id == cert_loaded.private_key_id
39
    assert cert.type_id == cert_loaded.type_id
40
    assert cert.parent_id == cert_loaded.parent_id
41
    assert cert.usages == cert_loaded.usages
42

  
43

  
44
def test_create_and_get_inter_cert(private_key_service, certificate_service):
45
    root_ca_private_key = private_key_service.create_new_key(passphrase="foobar")
46
    inter_ca_private_key = private_key_service.create_new_key()
47

  
48
    root_ca = certificate_service.create_root_ca(root_ca_private_key,
49
                                                 Subject(common_name="RootFoo", organization_unit="Department of Foo"))
50

  
51
    inter_cert = certificate_service.create_ca(inter_ca_private_key, Subject(common_name="Intermediate CA"), root_ca,
52
                                               root_ca_private_key, usages={SSL_ID: True})
53

  
54
    assert INTERMEDIATE_CA_ID == inter_cert.type_id
55

  
56
    assert inter_cert.usages[CA_ID]
57
    assert inter_cert.usages[SSL_ID]
58
    assert inter_cert.usages[AUTHENTICATION_ID] is False
59
    assert inter_cert.usages[SIGNATURE_ID] is False
60

  
61
    inter_cert_loaded = certificate_service.get_certificate(inter_cert.certificate_id)
62

  
63
    # verify that the loaded certificate is a CA
64
    cert_loaded_printed = export_crt(inter_cert_loaded.pem_data)
65
    assert """            X509v3 Basic Constraints: critical
66
                CA:TRUE""" in cert_loaded_printed
67

  
68
    assert inter_cert.certificate_id == inter_cert_loaded.certificate_id
69
    assert inter_cert.common_name == inter_cert_loaded.common_name
70
    assert inter_cert.valid_from == inter_cert_loaded.valid_from
71
    assert inter_cert.valid_to == inter_cert_loaded.valid_to
72
    assert inter_cert.pem_data == inter_cert_loaded.pem_data
73
    assert inter_cert.private_key_id == inter_cert_loaded.private_key_id
74
    assert inter_cert.type_id == inter_cert_loaded.type_id
75
    assert inter_cert.parent_id == root_ca.certificate_id
76
    assert inter_cert_loaded.parent_id == root_ca.certificate_id
77
    assert inter_cert.usages == inter_cert_loaded.usages
78

  
79

  
80
def test_create_and_get_cert(private_key_service, certificate_service):
81
    root_ca_private_key = private_key_service.create_new_key(passphrase="foobar")
82
    inter_ca_private_key = private_key_service.create_new_key(passphrase="barfoo")
83
    end_cert_private_key = private_key_service.create_new_key(passphrase="foofoo")
84

  
85
    root_ca_cert = certificate_service.create_root_ca(root_ca_private_key,
86
                                                      Subject(common_name="RootFoo",
87
                                                              organization_unit="Department of Foo"))
88

  
89
    inter_ca_cert = certificate_service.create_ca(inter_ca_private_key, Subject(common_name="Intermediate CA"),
90
                                                  root_ca_cert,
91
                                                  root_ca_private_key, usages={SSL_ID: True})
92

  
93
    cert = certificate_service.create_end_cert(end_cert_private_key,
94
                                               Subject("Foo Child", email_address="foo@bar.cz"), inter_ca_cert,
95
                                               inter_ca_private_key, usages={AUTHENTICATION_ID: True})
96
    assert CERTIFICATE_ID == cert.type_id
97

  
98
    assert cert.usages[AUTHENTICATION_ID]
99
    assert cert.usages[SSL_ID] is False
100
    assert cert.usages[SIGNATURE_ID] is False
101
    assert cert.usages[CA_ID] is False
102

  
103
    cert_loaded = certificate_service.get_certificate(cert.certificate_id)
104

  
105
    assert cert.certificate_id == cert_loaded.certificate_id
106
    assert cert.common_name == cert_loaded.common_name
107
    assert cert.valid_from == cert_loaded.valid_from
108
    assert cert.valid_to == cert_loaded.valid_to
109
    assert cert.pem_data == cert_loaded.pem_data
110
    assert cert.private_key_id == cert_loaded.private_key_id
111
    assert cert.type_id == cert_loaded.type_id
112
    assert cert.parent_id == inter_ca_cert.certificate_id
113
    assert cert_loaded.parent_id == inter_ca_cert.certificate_id
114
    assert cert.usages == cert_loaded.usages
115

  
116

  
117
def test_get_certificates(private_key_service_unique, certificate_service_unique):
118
    root_ca_private_key = private_key_service_unique.create_new_key(passphrase="foobar")
119
    inter_ca_private_key = private_key_service_unique.create_new_key(passphrase="barfoo")
120
    end_cert_private_key = private_key_service_unique.create_new_key(passphrase="foofoo")
121

  
122
    root_ca_cert = certificate_service_unique.create_root_ca(root_ca_private_key,
123
                                                             Subject(common_name="RootFoo",
124
                                                                     organization_unit="Department of Foo"))
125

  
126
    inter_ca_cert = certificate_service_unique.create_ca(inter_ca_private_key, Subject(common_name="Intermediate CA"),
127
                                                         root_ca_cert,
128
                                                         root_ca_private_key, usages={SSL_ID: True})
129

  
130
    cert = certificate_service_unique.create_end_cert(end_cert_private_key,
131
                                                      Subject("Foo Child", email_address="foo@bar.cz"), inter_ca_cert,
132
                                                      inter_ca_private_key, usages={AUTHENTICATION_ID: True})
133

  
134
    all_certs = certificate_service_unique.get_certificates()
135
    assert 3 == len(all_certs)
136
    assert "RootFoo" == all_certs[0].common_name
137
    assert "Intermediate CA" == all_certs[1].common_name
138
    assert "Foo Child" == all_certs[2].common_name
139

  
140
    assert 1 == len(certificate_service_unique.get_certificates(cert_type=ROOT_CA_ID))
141
    assert 1 == len(certificate_service_unique.get_certificates(cert_type=INTERMEDIATE_CA_ID))
142
    assert 1 == len(certificate_service_unique.get_certificates(cert_type=CERTIFICATE_ID))
143

  
144

  
145
def test_get_chain_of_trust(private_key_service, certificate_service):
146
    root_ca_private_key = private_key_service.create_new_key(passphrase="foobar")
147
    inter_ca_private_key = private_key_service.create_new_key(passphrase="barfoo")
148
    end_cert_private_key = private_key_service.create_new_key(passphrase="foofoo")
149

  
150
    root_ca_cert = certificate_service.create_root_ca(root_ca_private_key,
151
                                                      Subject(common_name="RootFoo",
152
                                                              organization_unit="Department of Foo"))
153

  
154
    inter_ca_cert = certificate_service.create_ca(inter_ca_private_key, Subject(common_name="Intermediate CA"),
155
                                                  root_ca_cert,
156
                                                  root_ca_private_key, usages={SSL_ID: True})
157

  
158
    cert = certificate_service.create_end_cert(end_cert_private_key,
159
                                               Subject("Foo Child", email_address="foo@bar.cz"), inter_ca_cert,
160
                                               inter_ca_private_key, usages={AUTHENTICATION_ID: True})
161

  
162
    cot = certificate_service.get_chain_of_trust(cert.certificate_id)
163
    assert len(cot) == 2
164
    assert [cert.certificate_id, inter_ca_cert.certificate_id] == [cot[0].certificate_id, cot[1].certificate_id]
165

  
166
    cot = certificate_service.get_chain_of_trust(cert.certificate_id, root_ca_cert.private_key_id)
167
    assert len(cot) == 2
168
    assert [cert.certificate_id, inter_ca_cert.certificate_id] == [cot[0].certificate_id, cot[1].certificate_id]
169

  
170
    cot = certificate_service.get_chain_of_trust(cert.certificate_id, inter_ca_cert.private_key_id)
171
    assert len(cot) == 2
172
    assert [cert.certificate_id, inter_ca_cert.certificate_id] == [cot[0].certificate_id, cot[1].certificate_id]
173

  
174
    cot = certificate_service.get_chain_of_trust(cert.certificate_id, exclude_root=False)
175
    assert len(cot) == 3
176
    assert [cert.certificate_id, inter_ca_cert.certificate_id, root_ca_cert.certificate_id] == [cot[0].certificate_id,
177
                                                                                                cot[1].certificate_id,
178
                                                                                                cot[2].certificate_id]
179

  
180
    # starting from intermediate certificate
181
    cot = certificate_service.get_chain_of_trust(inter_ca_cert.certificate_id)
182
    assert len(cot) == 1
183
    assert [inter_ca_cert.certificate_id] == [cot[0].certificate_id]
184

  
185
    cot = certificate_service.get_chain_of_trust(inter_ca_cert.certificate_id, root_ca_cert.private_key_id)
186
    assert len(cot) == 1
187
    assert [inter_ca_cert.certificate_id] == [cot[0].certificate_id]
188

  
189
    cot = certificate_service.get_chain_of_trust(inter_ca_cert.certificate_id, exclude_root=False)
190
    assert len(cot) == 2
191
    assert [inter_ca_cert.certificate_id, root_ca_cert.certificate_id] == [cot[0].certificate_id,
192
                                                                           cot[1].certificate_id]
193

  
194
    # starting from intermediate certificate
195
    cot = certificate_service.get_chain_of_trust(root_ca_cert.certificate_id)
196
    assert len(cot) == 0
197

  
198
    cot = certificate_service.get_chain_of_trust(root_ca_cert.certificate_id, root_ca_cert.private_key_id)
199
    assert len(cot) == 0
200

  
201
    cot = certificate_service.get_chain_of_trust(root_ca_cert.certificate_id, exclude_root=False)
202
    assert len(cot) == 1
203
    assert [root_ca_cert.certificate_id] == [cot[0].certificate_id]
204

  
205

  
206
def test_delete_cert(private_key_service, certificate_service):
207
    assert not certificate_service.delete_certificate(-1)
208

  
209
    root_ca_private_key = private_key_service.create_new_key(passphrase="foobar")
210

  
211
    original_len = len(certificate_service.get_certificates())
212

  
213
    root_ca_cert = certificate_service.create_root_ca(root_ca_private_key,
214
                                                      Subject(common_name="RootFoo",
215
                                                              organization_unit="Department of Foo"))
216

  
217
    len_inserted = len(certificate_service.get_certificates())
218

  
219
    assert original_len + 1 == len_inserted
220

  
221
    # TODO delete should delete all children?
222
    assert certificate_service.delete_certificate(root_ca_cert.certificate_id)
223
    assert not certificate_service.delete_certificate(root_ca_cert.certificate_id)
224

  
225
    assert len_inserted - 1 == len(certificate_service.get_certificates())
tests/integration_tests/services/private_key_service_test.py
1
def test_create_and_get_pk(private_key_service, certificate_service):
2
    private_key = private_key_service.create_new_key(passphrase="foobar")
3
    private_key_loaded = private_key_service.get_key(private_key.private_key_id)
4

  
5
    assert private_key.private_key_id == private_key_loaded.private_key_id
6
    assert private_key.private_key == private_key_loaded.private_key
7
    assert private_key.password == private_key_loaded.password
8

  
9

  
10
def test_delete_pk(private_key_service, certificate_service):
11
    assert not private_key_service.delete_key(-1)
12

  
13
    private_key = private_key_service.create_new_key(passphrase="foobar")
14

  
15
    assert private_key_service.delete_key(private_key.private_key_id) is True
16
    assert not private_key_service.delete_key(private_key.private_key_id)

Také k dispozici: Unified diff