def test_300_011b(self): # MDomain, misses one ServerAlias, but auto add enabled TestEnv.install_test_conf("test_001"); assert TestEnv.apache_stop() == 0 TestEnv.install_test_conf("test_011b"); assert TestEnv.apache_restart() == 0 assert (0, 0) == TestEnv.apache_err_count()
def test_300_021(self, confFile, expErrMsg): TestEnv.install_test_conf(confFile) assert TestEnv.apache_fail() == 0, "Server did start for {}".format( confFile) assert (1, 0) == TestEnv.apache_err_count() if expErrMsg: assert TestEnv.apache_err_scan(re.compile(expErrMsg))
def test_310_105(self): # test case: add new md definition with server admin TestEnv.install_test_conf("one_md_admin"); assert TestEnv.apache_restart() == 0 name = "testdomain.org" TestEnv.check_md(name, [name, "www.testdomain.org", "mail.testdomain.org"], 1, contacts=["mailto:[email protected]"])
def setup_module(module): print("setup_module module:%s" % module.__name__) TestEnv.init() TestEnv.APACHE_CONF_SRC = "data/test_auto" TestEnv.check_acme() TestEnv.clear_store() TestEnv.install_test_conf()
def test_310_113a(self): # test case: renew window - 10 percent TestEnv.install_test_conf("renew_10p") assert TestEnv.apache_restart() == 0 # TODO: place appropriate checks here assert TestEnv.a2md(["list" ])['jout']['output'][0]['renew-window'] == '10%'
def test_310_117(self): # test case: automatically collect md names from vhost config TestEnv.install_test_conf("member_auto") assert TestEnv.apache_restart() == 0 assert TestEnv.a2md(["list"])['jout']['output'][0]['domains'] == [ 'testdomain.org', 'test.testdomain.org', 'mail.testdomain.org' ]
def test_310_115(self): # test case: ca challenge type - http-01 TestEnv.install_test_conf("challenge_tls-sni") assert TestEnv.apache_restart() == 0 assert TestEnv.a2md([ "list" ])['jout']['output'][0]['ca']['challenges'] == ['tls-sni-01']
def setup_module(module): print("setup_module module:%s" % module.__name__) TestEnv.init() TestEnv.apache_err_reset() TestEnv.APACHE_CONF_SRC = "data/test_conf_store" TestEnv.install_test_conf(None) assert TestEnv.apache_start() == 0
def test_310_118(self): # add renew window to existing md TestEnv.install_test_conf("one_md"); assert TestEnv.apache_restart() == 0 TestEnv.install_test_conf("renew_14d"); assert TestEnv.apache_restart() == 0 assert TestEnv.a2md(["list"])['jout']['output'][0]['renew-window'] == '14d'
def setup_method(self, method): print("setup_method: %s" % method.__name__) TestEnv.apache_err_reset() TestEnv.clear_store() TestEnv.install_test_conf() self.test_n = re.match("test_(.+)", method.__name__).group(1) self.test_domain = ("%s-" % self.test_n) + TestAuto.dns_uniq
def test_310_119(self): # test case: set RSA key length 2048 TestEnv.install_test_conf("key_rsa_2048"); assert TestEnv.apache_restart() == 0 assert TestEnv.a2md(["list"])['jout']['output'][0]['privkey'] == { "type": "RSA", "bits": 2048 }
def test_310_120(self): # test case: set RSA key length 4096 TestEnv.install_test_conf("key_rsa_4096") assert TestEnv.apache_restart() == 0 assert TestEnv.a2md(["list"])['jout']['output'][0]['privkey'] == { "type": "RSA", "bits": 4096 }
def test_310_106(self): # test case: add to existing md: server admin name = "testdomain.org" assert TestEnv.a2md([ "add", name, "www.testdomain.org", "mail.testdomain.org" ])['rv'] == 0 TestEnv.install_test_conf("one_md_admin"); assert TestEnv.apache_restart() == 0 TestEnv.check_md(name, [name, "www.testdomain.org", "mail.testdomain.org"], 1, contacts=["mailto:[email protected]"])
def test_310_108(self): # test case: normalize names - lowercase TestEnv.install_test_conf("one_md_caps") assert TestEnv.apache_restart() == 0 self._check_md_names( "testdomain.org", ["testdomain.org", "www.testdomain.org", "mail.testdomain.org"], 1, 1)
def test_310_500(self): TestEnv.install_test_conf("other_base"); assert TestEnv.apache_restart() == 0 assert TestEnv.a2md([ "list" ])['jout']['output'] == [] TestEnv.set_store_dir("md-other") TestEnv.check_md("testdomain.org", ["testdomain.org", "www.testdomain.org", "mail.testdomain.org"], 1) TestEnv.clear_store() TestEnv.set_store_dir_default()
def test_310_103(self): # test case: add new md definition with acme url, acme protocol, acme agreement TestEnv.install_test_conf("one_md_ca"); assert TestEnv.apache_restart() == 0 name = "testdomain.org" TestEnv.check_md(name, [name, "www.testdomain.org", "mail.testdomain.org"], 1, ca="http://acme.test.org:4000/directory", protocol="ACME", agreement="http://acme.test.org:4000/terms/v1")
def test_310_211(self): # test case: require OCSP stapling TestEnv.install_test_conf("staple_on"); assert TestEnv.apache_restart() == 0 assert TestEnv.a2md(["list"])['jout']['output'][0]['must-staple'] == True TestEnv.install_test_conf("one_md"); assert TestEnv.apache_restart() == 0 assert TestEnv.a2md(["list"])['jout']['output'][0]['must-staple'] == False
def test_310_200(self): # test case: remove managed domain from config dnsList = ["testdomain.org", "www.testdomain.org", "mail.testdomain.org"] TestEnv.a2md(["add"] + dnsList) TestEnv.check_md("testdomain.org", dnsList, 1) TestEnv.install_test_conf("empty"); assert TestEnv.apache_restart() == 0 # check: md stays in store TestEnv.check_md("testdomain.org", dnsList, 1)
def test_310_201(self): # test case: remove alias DNS from managed domain dnsList = ["testdomain.org", "test.testdomain.org", "www.testdomain.org", "mail.testdomain.org"] TestEnv.a2md(["add"] + dnsList) TestEnv.check_md("testdomain.org", dnsList, 1) TestEnv.install_test_conf("one_md"); assert TestEnv.apache_restart() == 0 # check: DNS has been removed from md in store TestEnv.check_md("testdomain.org", ["testdomain.org", "www.testdomain.org", "mail.testdomain.org"], 1)
def test_310_202(self): # test case: remove primary name from managed domain dnsList = ["name.testdomain.org", "testdomain.org", "www.testdomain.org", "mail.testdomain.org"] TestEnv.a2md([ "add"] + dnsList) TestEnv.check_md("name.testdomain.org", dnsList, 1) TestEnv.install_test_conf("one_md"); assert TestEnv.apache_restart() == 0 # check: md stays with previous name, complete dns list TestEnv.check_md("name.testdomain.org", ["testdomain.org", "www.testdomain.org", "mail.testdomain.org"], 1)
def test_310_207(self, confFile, expCode): # test case: remove drive mode from conf -> fallback to default (auto) TestEnv.install_test_conf(confFile); assert TestEnv.apache_restart() == 0 assert TestEnv.a2md(["list"])['jout']['output'][0]['drive-mode'] == expCode TestEnv.install_test_conf("one_md"); assert TestEnv.apache_restart() == 0 assert TestEnv.a2md(["list"])['jout']['output'][0]['drive-mode'] == 1
def test_310_101(self): # test case: add managed domains as separate steps TestEnv.install_test_conf("one_md"); assert TestEnv.apache_restart() == 0 TestEnv.check_md("testdomain.org", ["testdomain.org", "www.testdomain.org", "mail.testdomain.org"], 1) TestEnv.install_test_conf("two_mds"); assert TestEnv.apache_restart() == 0 TestEnv.check_md("testdomain.org", ["testdomain.org", "www.testdomain.org", "mail.testdomain.org"], 1) TestEnv.check_md("testdomain2.org", ["testdomain2.org", "www.testdomain2.org", "mail.testdomain2.org"], 1)
def test_310_107(self): # test case: assign separate contact info based on VirtualHost # this config uses another store dir TestEnv.install_test_conf("two_mds_vhosts"); assert TestEnv.apache_restart() == 0 name1 = "testdomain.org" name2 = "testdomain2.org" TestEnv.check_md(name1, [name1, "www." + name1, "mail." + name1], 1, contacts=["mailto:admin@" + name1]) TestEnv.check_md(name2, [name2, "www." + name2, "mail." + name2], 1, contacts=["mailto:admin@" + name2])
def test_310_208(self): # test case: remove challenges from conf -> fallback to default (not set) TestEnv.install_test_conf("challenge_http"); assert TestEnv.apache_restart() == 0 assert TestEnv.a2md(["list"])['jout']['output'][0]['ca']['challenges'] == [ 'http-01' ] TestEnv.install_test_conf("one_md"); assert TestEnv.apache_restart() == 0 assert 'challenges' not in TestEnv.a2md(["list"])['jout']['output'][0]['ca']
def test_310_209(self, confFile): # test case: specify RSA key TestEnv.install_test_conf(confFile); assert TestEnv.apache_restart() == 0 assert TestEnv.a2md(["list"])['jout']['output'][0]['privkey']['type'] == "RSA" TestEnv.install_test_conf("one_md"); assert TestEnv.apache_restart() == 0 assert "privkey" not in TestEnv.a2md(["list"])['jout']['output'][0]
def test_310_210(self, confFile, expMode): # test case: require HTTPS TestEnv.install_test_conf(confFile); assert TestEnv.apache_restart() == 0 assert TestEnv.a2md(["list"])['jout']['output'][0]['require-https'] == expMode, "Unexpected HTTPS require mode in store. confFile: {}".format( confFile ) TestEnv.install_test_conf("one_md"); assert TestEnv.apache_restart() == 0 assert "require-https" not in TestEnv.a2md(["list"])['jout']['output'][0], "HTTPS require still persisted in store. confFile: {}".format( confFile )
def test_310_300(self): # test case: reorder DNS names in md definition dnsList = ["testdomain.org", "mail.testdomain.org", "www.testdomain.org"] TestEnv.a2md(["add"] + dnsList) TestEnv.check_md("testdomain.org", dnsList, 1) TestEnv.install_test_conf("one_md"); assert TestEnv.apache_restart() == 0 # check: dns list stays as before TestEnv.check_md("testdomain.org", dnsList, 1)
def test_310_102(self): # test case: add dns to existing md assert TestEnv.a2md(["add", "testdomain.org", "www.testdomain.org"])['rv'] == 0 TestEnv.install_test_conf("one_md") assert TestEnv.apache_restart() == 0 self._check_md_names( "testdomain.org", ["testdomain.org", "www.testdomain.org", "mail.testdomain.org"], 1, 1)
def test_310_301(self): # test case: move DNS from one md to another TestEnv.a2md([ "add", "testdomain.org", "www.testdomain.org", "mail.testdomain.org", "mail.testdomain2.org" ]) TestEnv.a2md([ "add", "testdomain2.org", "www.testdomain2.org" ]) TestEnv.check_md("testdomain.org", ["testdomain.org", "www.testdomain.org", "mail.testdomain.org", "mail.testdomain2.org"], 1) TestEnv.check_md("testdomain2.org", ["testdomain2.org", "www.testdomain2.org"], 1) TestEnv.install_test_conf("two_mds"); assert TestEnv.apache_restart() == 0 TestEnv.check_md("testdomain.org", ["testdomain.org", "www.testdomain.org", "mail.testdomain.org"], 1) TestEnv.check_md("testdomain2.org", ["testdomain2.org", "www.testdomain2.org", "mail.testdomain2.org"], 1)
def test_310_206(self): # test case: remove renew window from conf -> fallback to default TestEnv.install_test_conf("renew_14d"); assert TestEnv.apache_restart() == 0 # ToDo: how to check renew value in store? assert TestEnv.a2md(["list"])['jout']['output'][0]['renew-window'] == '14d' TestEnv.install_test_conf("one_md"); assert TestEnv.apache_restart() == 0 # check: renew window not set assert TestEnv.a2md(["list"])['jout']['output'][0]['renew-window'] == '33%'