diff --git a/server/tests/test_routes_extra.py b/server/tests/test_routes_extra.py index 2162099..49622c0 100644 --- a/server/tests/test_routes_extra.py +++ b/server/tests/test_routes_extra.py @@ -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"])