Example #1
0
 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()
Example #2
0
 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))
Example #3
0
 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]"])
Example #4
0
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()
Example #5
0
 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%'
Example #6
0
 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'
     ]
Example #7
0
 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']
Example #8
0
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
Example #9
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'
Example #10
0
 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
Example #11
0
 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
     }
Example #12
0
 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
     }
Example #13
0
 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]"])
Example #14
0
 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)
Example #15
0
 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()
Example #16
0
 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")
Example #17
0
    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
Example #18
0
 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)
Example #19
0
 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)
Example #20
0
 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)
Example #21
0
    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
Example #22
0
 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)
Example #23
0
 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])
Example #24
0
    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']
Example #25
0
    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]
Example #26
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 )
Example #27
0
 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)
Example #28
0
 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)
Example #29
0
 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)
Example #30
0
    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%'