Skip to content

Commit 24354cc

Browse files
authoredNov 28, 2024··
tweek Step CA testing and test dummy CA (#3)
1 parent b438c4e commit 24354cc

File tree

2 files changed

+31
-8
lines changed

2 files changed

+31
-8
lines changed
 

‎tests/test_dummy_ca.py

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
from cryptography.hazmat.primitives.asymmetric import ec
2+
3+
from nodeman.x509 import generate_x509_csr, verify_x509_csr
4+
from tests.utils import CaTestClient
5+
6+
7+
def test_dummy_ca() -> None:
8+
"""Test dummy CA client"""
9+
10+
ca_client = CaTestClient()
11+
12+
name = "hostname.example.com"
13+
key = ec.generate_private_key(ec.SECP256R1())
14+
csr = generate_x509_csr(key=key, name=name)
15+
16+
verify_x509_csr(name=name, csr=csr)
17+
18+
res = ca_client.sign_csr(csr, name)
19+
print(res)

‎tests/test_step.py ‎tests/test_step_ca.py

+12-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from pathlib import Path
22

3+
import httpx
34
import pytest
45
from cryptography.hazmat.primitives.asymmetric import ec
56
from jwcrypto.jwk import JWK
@@ -31,18 +32,21 @@ def test_step_ca() -> None:
3132
except FileNotFoundError:
3233
pytest.skip("CA provisioner private key not found")
3334

35+
try:
36+
ca_client = StepClient(
37+
ca_url=str(settings.ca_url),
38+
ca_fingerprint=settings.ca_fingerprint,
39+
provisioner_name=settings.provisioner_name,
40+
provisioner_jwk=provisioner_jwk,
41+
)
42+
except httpx.ConnectError:
43+
pytest.skip("StepCA not responding")
44+
3445
name = "hostname.example.com"
3546
key = ec.generate_private_key(ec.SECP256R1())
3647
csr = generate_x509_csr(key=key, name=name)
3748

3849
verify_x509_csr(name=name, csr=csr)
3950

40-
client = StepClient(
41-
ca_url=str(settings.ca_url),
42-
ca_fingerprint=settings.ca_fingerprint,
43-
provisioner_name=settings.provisioner_name,
44-
provisioner_jwk=provisioner_jwk,
45-
)
46-
47-
res = client.sign_csr(csr, name)
51+
res = ca_client.sign_csr(csr, name)
4852
print(res)

0 commit comments

Comments
 (0)
Please sign in to comment.