Revize 1e07432d
Přidáno uživatelem Michal Seják před asi 4 roky(ů)
tests/unit_tests/rest_api/certificates.py | ||
---|---|---|
123 | 123 |
ret = server.post("/api/certificates", content_type="application/json", json={ |
124 | 124 |
"subject": { |
125 | 125 |
"C": "CZ", |
126 |
"CN": "Root CA s.r.o.", |
|
126 |
"CN": "Another Root CA s.r.o.",
|
|
127 | 127 |
"L": "Pilsen", |
128 |
"O": "Root CA s.r.o.", |
|
128 |
"O": "Another Root CA s.r.o.",
|
|
129 | 129 |
"OU": "IT department", |
130 | 130 |
"ST": "Pilsen Region", |
131 | 131 |
"emailAddress": "root@ca.com" |
... | ... | |
149 | 149 |
assert d["success"] |
150 | 150 |
|
151 | 151 |
ret = server.post("/api/certificates", content_type="application/json", json={ |
152 |
"CA": 2, |
|
152 | 153 |
"subject": { |
153 |
"CA": 2, |
|
154 | 154 |
"C": "CZ", |
155 |
"CN": "Root CA s.r.o.",
|
|
155 |
"CN": "Intermediate CA s.r.o.",
|
|
156 | 156 |
"L": "Pilsen", |
157 |
"O": "Root CA s.r.o.",
|
|
157 |
"O": "Intermediate CA s.r.o.",
|
|
158 | 158 |
"OU": "IT department", |
159 | 159 |
"ST": "Pilsen Region", |
160 |
"emailAddress": "root@ca.com"
|
|
160 |
"emailAddress": "inter@ca.com"
|
|
161 | 161 |
}, |
162 | 162 |
"usage": { |
163 | 163 |
"CA": True, |
... | ... | |
175 | 175 |
assert "data" in d |
176 | 176 |
assert d["data"] == 3 |
177 | 177 |
assert "success" in d |
178 |
assert d["success"] |
|
179 |
|
|
180 |
|
|
181 |
def test_list_of_certificates(server): |
|
182 |
ret = server.get("/api/certificates") |
|
183 |
|
|
184 |
assert ret.status_code == 200 |
|
185 |
|
|
186 |
usage_dict = {'CA': True, 'SSL': True, 'authentication': True, 'digitalSignature': True} |
|
187 |
s1 = "Root CA s.r.o." |
|
188 |
s2 = "Another Root CA s.r.o." |
|
189 |
s3 = "Intermediate CA s.r.o." |
|
190 |
|
|
191 |
assert "data" in ret.json |
|
192 |
assert "success" in ret.json |
|
193 |
assert ret.json["success"] |
|
194 |
|
|
195 |
d = ret.json["data"] |
|
196 |
|
|
197 |
# print(d) |
|
198 |
|
|
199 |
assert d[0]['CN'] == s1 |
|
200 |
assert d[1]['CN'] == s2 |
|
201 |
assert d[2]['CN'] == s3 |
|
202 |
|
|
203 |
assert all(d[i]['id'] == i + 1 for i in range(3)) |
|
204 |
assert all(d[i]['usage'] == usage_dict for i in range(3)) |
|
205 |
|
|
206 |
assert d[0]['issuer']['CN'] == s1 |
|
207 |
assert d[1]['issuer']['CN'] == s2 |
|
208 |
assert d[2]['issuer']['CN'] == s2 |
|
209 |
|
|
210 |
assert d[0]['issuer']['id'] == 1 |
|
211 |
assert d[1]['issuer']['id'] == 2 |
|
212 |
assert d[2]['issuer']['id'] == 2 |
|
213 |
|
|
214 |
|
|
215 |
def test_sign_by_non_ca(server): |
|
216 |
ret = server.post("/api/certificates", content_type="application/json", json={ |
|
217 |
"CA": 2, |
|
218 |
"subject": { |
|
219 |
"C": "CZ", |
|
220 |
"CN": "Fake Intermediate CA s.r.o.", |
|
221 |
"L": "Pilsen", |
|
222 |
"O": "Fake Intermediate CA s.r.o.", |
|
223 |
"OU": "IT department", |
|
224 |
"ST": "Pilsen Region", |
|
225 |
"emailAddress": "inter@ca.com" |
|
226 |
}, |
|
227 |
"usage": { |
|
228 |
"CA": False, |
|
229 |
"SSL": True, |
|
230 |
"authentication": True, |
|
231 |
"digitalSignature": True |
|
232 |
}, |
|
233 |
"validityDays": 30 |
|
234 |
}) |
|
235 |
|
|
236 |
assert ret.status_code == 201 |
|
237 |
|
|
238 |
d = ret.json |
|
239 |
|
|
240 |
assert "data" in d |
|
241 |
assert d["data"] == 4 |
|
242 |
assert "success" in d |
|
243 |
assert d["success"] |
|
244 |
|
|
245 |
ret = server.post("/api/certificates", content_type="application/json", json={ |
|
246 |
"CA": 2, |
|
247 |
"subject": { |
|
248 |
"C": "CZ", |
|
249 |
"CN": "End certificate signed by end certificate s.r.o.", |
|
250 |
"L": "Pilsen", |
|
251 |
"O": "This is probably bad s.r.o.", |
|
252 |
"OU": "IT department", |
|
253 |
"ST": "Pilsen Region", |
|
254 |
"emailAddress": "end@ca.com" |
|
255 |
}, |
|
256 |
"usage": { |
|
257 |
"CA": False, |
|
258 |
"SSL": True, |
|
259 |
"authentication": True, |
|
260 |
"digitalSignature": True |
|
261 |
}, |
|
262 |
"validityDays": 30 |
|
263 |
}) |
|
264 |
|
|
265 |
# TODO discussion -> assert ret.status_code == 400 |
|
266 |
assert ret.status_code == 201 |
|
267 |
|
|
268 |
d = ret.json |
|
269 |
|
|
270 |
assert "data" in d |
|
271 |
assert d["data"] == 5 |
|
272 |
assert "success" in d |
|
178 | 273 |
assert d["success"] |
Také k dispozici: Unified diff
Re #8476 - Implemented `list_certificates` with unit tests.