def test_500_120(self): # test case: NP dereference reported by Daniel Caminada <*****@*****.**> domain = "test500-120-" + TestDrive.dns_uniq name = "www." + domain conf = HttpdConf( TestDrive.TMP_CONF ) conf.add_admin( "admin@" + domain ) conf.add_drive_mode( "manual" ) conf.add_md( [name] ) conf.add_vhost(TestEnv.HTTPS_PORT, name, aliasList=[], withSSL=True) conf.install() assert TestEnv.apache_restart() == 0 r = TestEnv.run( [ "openssl", "s_client", "-connect", "%s:%s" % (TestEnv.HTTPD_HOST, TestEnv.HTTPS_PORT), "-servername", "example.com", "-crlf" ], "GET https:// HTTP/1.1\nHost: example.com\n\n" ) assert TestEnv.apache_restart() == 0 # assert that no crash is reported in the log assert not TestEnv.apache_err_scan( re.compile("^.* child pid \S+ exit .*$") )
def test_000_104(self): # test case: add without CA URL dns = "greenbytes.de" args = [ TestEnv.A2MD, "-d", TestEnv.STORE_DIR, "-j", "store", "add", dns ] jout = TestEnv.run(args)['jout'] assert len(jout['output']) == 1 TestEnv.check_json_contains( jout['output'][0], { "name": dns, "domains": [dns], "contacts": [], "ca": { "proto": "ACME" }, "state": 0 })
def test_502_120(self): # test case: NP dereference reported by Daniel Caminada <*****@*****.**> domain = self.test_domain name = "www." + domain conf = HttpdConf() conf.add_admin("admin@" + domain) conf.add_drive_mode("manual") conf.add_md([name]) conf.add_vhost(name) conf.install() assert TestEnv.apache_restart() == 0 r = TestEnv.run([ "openssl", "s_client", "-connect", "%s:%s" % (TestEnv.HTTPD_HOST, TestEnv.HTTPS_PORT), "-servername", "example.com", "-crlf" ], "GET https:// HTTP/1.1\nHost: example.com\n\n") assert TestEnv.apache_restart() == 0 # assert that no crash is reported in the log assert not TestEnv.httpd_error_log_scan( re.compile("^.* child pid \S+ exit .*$"))
def _check_account(self, acct, contact): # read account data from store # TODO: create a "a2md list accounts" command for this jout = TestEnv.run(["cat", TestEnv.path_account(acct)])['jout'] assert jout['id'] == acct assert jout['registration']['contact'] == contact
def test_200_202(self): # test case: delete a persisted account without specifying url acct = self._prepare_account(["*****@*****.**"]) assert TestEnv.run( [TestEnv.A2MD, "-d", TestEnv.STORE_DIR, "acme", "delreg", acct])['rv'] == 0
def get_client_status(self, domain): return TestEnv.run([ "openssl", "s_client", "-status", "-connect", "%s:%s" % (TestEnv.HTTPD_HOST, TestEnv.HTTPS_PORT), "-CAfile", "gen/ca.pem", "-servername", domain, "-showcerts" ])
def test_100_006(self, invalidURL): # test case: add with invalid ACME URL args = [TestEnv.A2MD, "-a", invalidURL, "-d", TestEnv.STORE_DIR, "-j"] dns = "greenbytes.de" args.extend(["add", dns]) assert TestEnv.run(args)["rv"] == 1
def test_200_202(self): acct = self._prepare_account(["*****@*****.**"]) assert TestEnv.run( [TestEnv.A2MD, "-d", TestEnv.STORE_DIR, "acme", "delreg", acct])['rv'] == 0
def test_202_201(self): acct = self._prepare_account(["*****@*****.**"]) assert TestEnv.a2md( ["acme", "delreg", acct] )['rv'] == 0 # check that store is clean run = TestEnv.run(["find", TestEnv.STORE_DIR]) assert re.match(TestEnv.STORE_DIR, run['stdout'])
def test_000_002(self): # verify that store is clean run = TestEnv.run(["find", TestEnv.STORE_DIR]) assert re.match(TestEnv.STORE_DIR, run['stdout'])
def test_000_002(self): run = TestEnv.run(["find", TestEnv.STORE_DIR]) assert re.match(TestEnv.STORE_DIR, run['stdout'])
def test_000_001(self): run = TestEnv.run([TestEnv.A2MD, "-V"]) m = re.match("version: %s(-git)?$" % TestEnv.config.get('global', 'a2md_version'), run['stdout']) assert m