Coverage for tests/staging_test_acme_account_deactivate.py: 76%
38 statements
« prev ^ index » next coverage.py v6.5.0, created at 2024-05-24 19:15 +0000
« prev ^ index » next coverage.py v6.5.0, created at 2024-05-24 19:15 +0000
1"""Test acme_account_deactivate script with real ACME server"""
2import unittest
3import os
4import configparser
5import acme_dns_tiny
6from tests.config_factory import generate_acme_account_deactivate_config
7import tools.acme_account_deactivate
9ACME_DIRECTORY = os.getenv("GITLABCI_ACMEDIRECTORY_V2",
10 "https://acme-staging-v02.api.letsencrypt.org/directory")
13class TestACMEAccountDeactivate(unittest.TestCase):
14 """Tests for acme_account_deactivate."""
16 @classmethod
17 def setUpClass(cls):
18 cls.configs = generate_acme_account_deactivate_config()
19 try:
20 acme_dns_tiny.main([cls.configs['config']])
21 except ValueError as err:
22 if str(err).startswith("Error register"):
23 raise ValueError("Fail test as account has not been registered correctly: {0}"
24 .format(err)) from err
26 super(TestACMEAccountDeactivate, cls).setUpClass()
28 # To clean ACME staging server and close correctly temporary files
29 # pylint: disable=bare-except
30 @classmethod
31 def tearDownClass(cls):
32 # Remove temporary files
33 parser = configparser.ConfigParser()
34 parser.read(cls.configs['config'])
35 try:
36 os.remove(parser["acmednstiny"]["AccountKeyFile"])
37 except:
38 pass
39 try:
40 os.remove(parser["acmednstiny"]["CSRFile"])
41 except:
42 pass
43 try:
44 os.remove(cls.configs['config'])
45 except:
46 pass
47 super(TestACMEAccountDeactivate, cls).tearDownClass()
49 def test_success_account_deactivate(self):
50 """ Test success account key deactivate """
51 with self.assertLogs(level='INFO') as accountdeactivatelog:
52 tools.acme_account_deactivate.main(["--account-key", self.configs['key'],
53 "--acme-directory", ACME_DIRECTORY])
54 self.assertIn("INFO:acme_account_deactivate:The account has been deactivated.",
55 accountdeactivatelog.output)
58if __name__ == "__main__": # pragma: no cover
59 unittest.main()