1
0
mirror of https://github.com/laurivosandi/certidude synced 2024-12-23 00:25:18 +00:00

Add basic tests for CA

This commit is contained in:
Priit Laes 2015-10-09 10:46:40 +03:00
parent 244919ba92
commit 9a845fc009
3 changed files with 26 additions and 8 deletions

View File

@ -123,12 +123,7 @@ class CertificateAuthorityConfig(object):
""" """
Returns sorted list of CA-s defined in the configuration file. Returns sorted list of CA-s defined in the configuration file.
""" """
l = [s[3:] for s in self._config if s.startswith("CA_")] return sorted([s[3:] for s in self._config if s.startswith("CA_")])
# Sanity check for duplicates (although ConfigParser fails earlier)
if len(l) != len(set(l)):
raise ValueError
return sorted(l)
def pop_certificate_authority(self): def pop_certificate_authority(self):
def wrapper(func): def wrapper(func):

25
tests/test_ca.py Normal file
View File

@ -0,0 +1,25 @@
from click.testing import CliRunner
from certidude.cli import entry_point as cli
from certidude.wrappers import CertificateAuthorityConfig
runner = CliRunner()
def test_ca_config():
# Authority setup
with runner.isolated_filesystem():
result = runner.invoke(cli, ['setup', 'authority', 'xca'])
assert not result.exception
# Load CA
conf = CertificateAuthorityConfig('./xca/openssl.cnf.example')
assert conf.ca_list == ['xca']
ca = conf.instantiate_authority('xca')
cert = ca.certificate
assert cert.serial_number == '0000000000000000000000000000000000000001'
# TODO: Figure out a way to properly test cert.signed, cert.expires, cert.digest, etc

View File

@ -1,6 +1,4 @@
import os import os
import pwd
import pytest
from click.testing import CliRunner from click.testing import CliRunner
from certidude.cli import entry_point as cli from certidude.cli import entry_point as cli