Fix multi-certificate PEM chain imports
This commit is contained in:
@@ -380,8 +380,18 @@ class RouteExtraTests(unittest.TestCase):
|
||||
async with api_client() as client:
|
||||
with oidc_user("alice"):
|
||||
vault_id = await _vault(client)
|
||||
payload = {"filename": "chain.pem", "pem": pem}
|
||||
response = await client.post(
|
||||
f"/api/vaults/{vault_id}/import", json={"filename": "chain.pem", "pem": pem}
|
||||
f"/api/vaults/{vault_id}/import", json={**payload, "dry_run": True}
|
||||
)
|
||||
assert response.status_code == 200, response.text
|
||||
preview = response.json()["items"]
|
||||
assert len(preview) == 3
|
||||
assert all(not item["duplicate"] for item in preview)
|
||||
|
||||
response = await client.post(
|
||||
f"/api/vaults/{vault_id}/import",
|
||||
json={**payload, "selected": [item["index"] for item in preview]},
|
||||
)
|
||||
assert response.status_code == 200, response.text
|
||||
result = response.json()
|
||||
@@ -401,6 +411,7 @@ class RouteExtraTests(unittest.TestCase):
|
||||
assert intermediate_row["issuer_id"] == root_row["id"]
|
||||
assert leaf_row["issuer_id"] == intermediate_row["id"]
|
||||
assert all(cert["issuer_id"] != cert["id"] for cert in certs.values())
|
||||
assert all(cert["key_id"] is None for cert in certs.values())
|
||||
|
||||
# Re-importing duplicates also repairs self-links left by older imports.
|
||||
model = await Certificate.get(id=leaf_row["id"])
|
||||
|
||||
Reference in New Issue
Block a user