Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Verified Commit 43f8fecc authored by Vincent SIMONIN's avatar Vincent SIMONIN
Browse files

Add new plugin for certificate management

parent 8f8353d6
No related branches found
No related tags found
1 merge request!36Add new plugin for certificate management
Pipeline #90117 failed
"""Test case for Mapping creation"""
import unittest
import json
import os
import requests
HOST = os.getenv("HOST", default="localhost")
PORT = os.getenv("PORT", default="8080")
API_KEY = os.getenv("API_KEY", "only4testingpurpose")
class TestCertificateCreation(unittest.TestCase):
"""Test case for Mapping creation class"""
mapping_id = None
def test_that_certificate_is_created(self) -> None:
"""Test that certificate is created"""
response = requests.post(
url=f"http://{HOST}:{PORT}/api/plugins/cert/certificate/",
json={
"cn": "truc00.com",
"ca": "letsencrypt",
"expiration_time": "1m"
},
headers={"Authorization": f"Token {API_KEY}"},
timeout=5,
)
self.assertEqual(response.status_code, 201)
self.mapping_id = json.loads(response.content)["id"]
def test_that_cn_is_unique(self) -> None:
"""Test that CN is unique"""
response = requests.post(
url=f"http://{HOST}:{PORT}/api/plugins/cert/certificate/",
json={
"cn": "truc00.com",
"ca": "letsencrypt",
"expiration_time": "1m"
},
headers={"Authorization": f"Token {API_KEY}"},
timeout=5,
)
self.assertEqual(response.status_code, 201)
self.mapping_id = json.loads(response.content)["id"]
response = requests.post(
url=f"http://{HOST}:{PORT}/api/plugins/cert/certificate/",
json={
"cn": "truc00.com",
"ca": "comisign",
"expiration_time": "3m"
},
headers={"Authorization": f"Token {API_KEY}"},
timeout=5,
)
self.assertEqual(response.status_code, 400)
self.assertEqual(response.content, b'{"cn":["certificate with this Common Name already exists."]}')
def test_that_ca_is_valid(self) -> None:
"""Test that CA is valid"""
response = requests.post(
url=f"http://{HOST}:{PORT}/api/plugins/cert/certificate/",
json={
"cn": "truc00.com",
"ca": "randomca",
"expiration_time": "3m"
},
headers={"Authorization": f"Token {API_KEY}"},
timeout=5,
)
self.assertEqual(response.status_code, 400)
self.assertEqual(response.content, b'{"ca":["\\"randomca\\" is not a valid choice."]}')
def test_that_expiration_time_is_valid(self) -> None:
"""Test that expiration time is valid"""
response = requests.post(
url=f"http://{HOST}:{PORT}/api/plugins/cert/certificate/",
json={
"cn": "truc00.com",
"ca": "comisign",
"expiration_time": "10m"
},
headers={"Authorization": f"Token {API_KEY}"},
timeout=5,
)
self.assertEqual(response.status_code, 400)
self.assertEqual(response.content, b'{"expiration_time":["\\"10m\\" is not a valid choice."]}')
def tearDown(self) -> None:
"""Teardown function"""
requests.delete(
url=f"http://{HOST}:{PORT}/api/plugins/cert/certificate/",
json=[{"id": self.mapping_id}],
headers={"Authorization": f"Token {API_KEY}"},
timeout=5,
)
if __name__ == "__main__":
unittest.main()
requests==2.30.0
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment