36 lines
1.0 KiB
Python
36 lines
1.0 KiB
Python
"""Tests for the CLI wiring of keygen --save-passphrase flag."""
|
|
from certctl import cli
|
|
|
|
|
|
def test_cli_keygen_save_passphrase(monkeypatch, capsys):
|
|
called = {}
|
|
|
|
def fake_gen_rsa(**kwargs):
|
|
called.update(kwargs)
|
|
return "PEM-KEY"
|
|
|
|
monkeypatch.setattr("certctl.keygen.generate_rsa_key", fake_gen_rsa)
|
|
|
|
# Simulate cli args
|
|
rc = cli.main(["keygen", "--kind", "rsa", "--bits", "1024", "--passphrase", "fromcli", "--keychain-service", "svc-cli", "--save-passphrase"])
|
|
|
|
assert rc == 0
|
|
assert called["passphrase"] == "fromcli"
|
|
assert called["keychain_service"] == "svc-cli"
|
|
assert called["save_to_keychain"] is True
|
|
|
|
|
|
def test_cli_keygen_write_file(monkeypatch, tmp_path):
|
|
def fake_gen_ec(**kwargs):
|
|
return "PEM-EC"
|
|
|
|
monkeypatch.setattr("certctl.keygen.generate_ec_key", fake_gen_ec)
|
|
|
|
out = tmp_path / "key.pem"
|
|
|
|
rc = cli.main(["keygen", "--kind", "ec", "--curve", "prime256v1", "--out", str(out)])
|
|
assert rc == 0
|
|
|
|
assert out.exists()
|
|
assert out.read_text() == "PEM-EC"
|