mirror of
https://github.com/certbot/certbot.git
synced 2026-06-04 14:26:10 -04:00
Add a few more tests
This commit is contained in:
parent
e2d8630f5e
commit
61e822a897
2 changed files with 32 additions and 6 deletions
|
|
@ -1,6 +1,7 @@
|
|||
"""Tests for certbot.cert_manager."""
|
||||
# pylint disable=protected-access
|
||||
import os
|
||||
import re
|
||||
import shutil
|
||||
import tempfile
|
||||
import unittest
|
||||
|
|
@ -181,7 +182,7 @@ class CertificatesTest(BaseCertManagerTest):
|
|||
|
||||
@mock.patch('certbot.cert_manager.ocsp.RevocationChecker.ocsp_revoked')
|
||||
def test_report_human_readable(self, mock_ocsp):
|
||||
mock_ocsp.side_effect = lambda _cert, _chain: None
|
||||
mock_ocsp.return_value = None
|
||||
from certbot import cert_manager
|
||||
import datetime, pytz
|
||||
expiry = pytz.UTC.fromutc(datetime.datetime.utcnow())
|
||||
|
|
@ -191,35 +192,57 @@ class CertificatesTest(BaseCertManagerTest):
|
|||
cert.names.return_value = ["nameone", "nametwo"]
|
||||
cert.is_test_cert = False
|
||||
parsed_certs = [cert]
|
||||
get_report = lambda: cert_manager._report_human_readable(mock_config, parsed_certs)
|
||||
|
||||
mock_config = mock.MagicMock(certname=None, lineagename=None)
|
||||
# pylint: disable=protected-access
|
||||
out = cert_manager._report_human_readable(mock_config, parsed_certs)
|
||||
out = get_report()
|
||||
self.assertTrue("INVALID: EXPIRED" in out)
|
||||
|
||||
cert.target_expiry += datetime.timedelta(hours=2)
|
||||
# pylint: disable=protected-access
|
||||
out = cert_manager._report_human_readable(mock_config, parsed_certs)
|
||||
out = get_report()
|
||||
self.assertTrue('1 hour(s)' in out)
|
||||
self.assertTrue('VALID' in out and not 'INVALID' in out)
|
||||
|
||||
cert.target_expiry += datetime.timedelta(days=1)
|
||||
# pylint: disable=protected-access
|
||||
out = cert_manager._report_human_readable(mock_config, parsed_certs)
|
||||
out = get_report()
|
||||
self.assertTrue('1 day' in out)
|
||||
self.assertFalse('under' in out)
|
||||
self.assertTrue('VALID' in out and not 'INVALID' in out)
|
||||
|
||||
cert.target_expiry += datetime.timedelta(days=2)
|
||||
# pylint: disable=protected-access
|
||||
out = cert_manager._report_human_readable(mock_config, parsed_certs)
|
||||
out = get_report()
|
||||
self.assertTrue('3 days' in out)
|
||||
self.assertTrue('VALID' in out and not 'INVALID' in out)
|
||||
|
||||
cert.is_test_cert = True
|
||||
out = cert_manager._report_human_readable(mock_config, parsed_certs)
|
||||
out = get_report()
|
||||
self.assertTrue('INVALID: TEST_CERT' in out)
|
||||
|
||||
cert = mock.MagicMock(lineagename="indescribable")
|
||||
cert.target_expiry = expiry
|
||||
cert.names.return_value = ["nameone", "thrice.named"]
|
||||
cert.is_test_cert = True
|
||||
parsed_certs.append(cert)
|
||||
|
||||
out = get_report()
|
||||
self.assertEqual(len(re.findall("INVALID:", out)), 2)
|
||||
mock_config.domains = ["thrice.named"]
|
||||
out = get_report()
|
||||
self.assertEqual(len(re.findall("INVALID:", out)), 1)
|
||||
mock_config.domains = ["nameone"]
|
||||
out = get_report()
|
||||
self.assertEqual(len(re.findall("INVALID:", out)), 2)
|
||||
mock_config.certname = "indescribable"
|
||||
out = get_report()
|
||||
self.assertEqual(len(re.findall("INVALID:", out)), 1)
|
||||
mock_config.certname = "horror"
|
||||
out = get_report()
|
||||
self.assertEqual(len(re.findall("INVALID:", out)), 0)
|
||||
|
||||
|
||||
class SearchLineagesTest(BaseCertManagerTest):
|
||||
"""Tests for certbot.cert_manager._search_lineages."""
|
||||
|
|
|
|||
|
|
@ -69,6 +69,9 @@ class OCSPTest(unittest.TestCase):
|
|||
|
||||
mock_determine.return_value = ("http://x.co", "x.co")
|
||||
self.assertEqual(self.checker.ocsp_revoked("blah.pem", "chain.pem"), False)
|
||||
mock_run.side_effect = errors.SubprocessError("Unable to load certificate launcher")
|
||||
self.assertEqual(self.checker.ocsp_revoked("x", "y"), None)
|
||||
self.assertEqual(mock_run.call_count, 2)
|
||||
|
||||
|
||||
@mock.patch('certbot.ocsp.logger.debug')
|
||||
|
|
|
|||
Loading…
Reference in a new issue