(self, pytestconfig=None)
| 97 | return os.path.isfile(a2md_bin) |
| 98 | |
| 99 | def __init__(self, pytestconfig=None): |
| 100 | super().__init__(pytestconfig=pytestconfig) |
| 101 | self.add_httpd_log_modules(["md"]) |
| 102 | self._acme_server = self.get_acme_server() |
| 103 | self._acme_tos = "accepted" |
| 104 | self._acme_ca_pemfile = os.path.join(self.gen_dir, "apache/acme-ca.pem") |
| 105 | if "pebble" == self._acme_server: |
| 106 | self._acme_url = "https://localhost:14000/dir" |
| 107 | self._acme_eab_url = "https://localhost:14001/dir" |
| 108 | elif "boulder" == self._acme_server: |
| 109 | self._acme_url = "http://localhost:4001/directory" |
| 110 | self._acme_eab_url = None |
| 111 | else: |
| 112 | raise Exception(f"unknown ACME server type: {self._acme_server}") |
| 113 | self._acme_server_down = False |
| 114 | self._acme_server_ok = False |
| 115 | |
| 116 | self._a2md_bin = os.path.join(self.bin_dir, 'a2md') |
| 117 | self._default_domain = f"test1.{self.http_tld}" |
| 118 | self._tailscale_domain = "test.headless-chicken.ts.net" |
| 119 | self._store_dir = "./md" |
| 120 | self.set_store_dir_default() |
| 121 | |
| 122 | self.add_cert_specs([ |
| 123 | CertificateSpec(domains=[f"expired.{self._http_tld}"], |
| 124 | valid_from=timedelta(days=-100), |
| 125 | valid_to=timedelta(days=-10)), |
| 126 | CertificateSpec(domains=["localhost"], key_type='rsa2048'), |
| 127 | CertificateSpec(domains=[self._tailscale_domain]), |
| 128 | ]) |
| 129 | |
| 130 | def setup_httpd(self, setup: HttpdTestSetup = None): |
| 131 | super().setup_httpd(setup=MDTestSetup(env=self)) |
no test coverage detected