Example #1
0
    def test_000_201(self):
        # test case: list two managed domains
        # setup: add managed domains
        dnslist = [["test000-201.com", "test000-201a.com", "test000-201b.com"],
                   [
                       "greenbytes2.de", "www.greenbytes2.de",
                       "mail.greenbytes2.de"
                   ]]
        for dns in dnslist:
            assert TestEnv.a2md(["store", "add"] + dns)['rv'] == 0

        # list all store content
        jout = TestEnv.a2md(["store", "list"])['jout']
        assert len(jout['output']) == len(dnslist)
        dnslist.reverse()
        jout['output'] = sorted(jout['output'], key=md_name)
        for i in range(0, len(jout['output'])):
            TestEnv.check_json_contains(
                jout['output'][i], {
                    "name": dnslist[i][0],
                    "domains": dnslist[i],
                    "contacts": [],
                    "ca": {
                        "url": TestEnv.ACME_URL,
                        "proto": "ACME"
                    },
                    "state": 0
                })
    def test_120_001(self):
        # test case: list two managed domains
        # setup: add managed domains
        dnslist = [["test120-001.com", "test120-001a.com", "test120-001b.com"],
                   [
                       "greenbytes2.de", "www.greenbytes2.de",
                       "mail.greenbytes2.de"
                   ]]
        for dns in dnslist:
            assert TestEnv.a2md(["add"] + dns)['rv'] == 0

        # list all store content
        jout = TestEnv.a2md(["list"])['jout']
        assert len(jout['output']) == len(dnslist)
        dnslist.reverse()
        for i in range(0, len(jout['output'])):
            TestEnv.check_json_contains(
                jout['output'][i], {
                    "name": dnslist[i][0],
                    "domains": dnslist[i],
                    "contacts": [],
                    "ca": {
                        "url": TestEnv.ACME_URL,
                        "proto": "ACME"
                    },
                    "state": TestEnv.MD_S_INCOMPLETE
                })
        # list md by name
        for dns in ["test120-001.com", "greenbytes2.de"]:
            md = TestEnv.a2md(["list", dns])['jout']['output'][0]
            assert md['name'] == dns
 def test_110_102(self):
     # test case: update ca protocol
     md = TestEnv.a2md([ "update", self.NAME1, "ca", TestEnv.ACME_URL, "FOO"])['jout']['output'][0]
     TestEnv.check_json_contains( md['ca'], {
         "url": TestEnv.ACME_URL,
         "proto": "FOO"
     })
     assert md['state'] == 1
 def test_110_203(self):
     # test case: ignore additional argument
     md = TestEnv.a2md([ "update", self.NAME1, "account", "test.account.id", "test2.account.id"])['jout']['output'][0]
     TestEnv.check_json_contains( md['ca'], {
         "account": "test.account.id",
         "url": TestEnv.ACME_URL,
         "proto": "ACME"
     })
     assert md['state'] == 1
 def test_110_402(self):
     # test case: remove tos agreement
     assert TestEnv.a2md([ "update", self.NAME1, "agreement", TestEnv.ACME_TOS])['rv'] == 0
     md = TestEnv.a2md([ "update", self.NAME1, "agreement"])['jout']['output'][0]
     TestEnv.check_json_contains( md['ca'], {
         "url": TestEnv.ACME_URL,
         "proto": "ACME"
     })
     assert md['state'] == 1
 def test_110_403(self):
     # test case: ignore additional arguments
     md = TestEnv.a2md([ "update", self.NAME1, "agreement", TestEnv.ACME_TOS, TestEnv.ACME_TOS2])['jout']['output'][0]
     TestEnv.check_json_contains( md['ca'], {
         "url": TestEnv.ACME_URL,
         "proto": "ACME",
         "agreement": TestEnv.ACME_TOS
     })
     assert md['state'] == 1
 def test_110_201(self):
     # test case: remove account ID
     assert TestEnv.a2md([ "update", self.NAME1, "account", "test.account.id"])['rv'] == 0
     md = TestEnv.a2md([ "update", self.NAME1, "account"])['jout']['output'][0]
     TestEnv.check_json_contains( md['ca'], {
         "url": TestEnv.ACME_URL,
         "proto": "ACME"
     })
     assert md['state'] == 1
 def test_110_202(self):
     # test case: change existing account ID
     assert TestEnv.a2md([ "update", self.NAME1, "account", "test.account.id"])['rv'] == 0
     md = TestEnv.a2md([ "update", self.NAME1, "account", "foo.test.com"])['jout']['output'][0]
     TestEnv.check_json_contains( md['ca'], {
         "account": "foo.test.com",
         "url": TestEnv.ACME_URL,
         "proto": "ACME"
     })
     assert md['state'] == 1
Example #9
0
 def test_000_101(self):
     # test case: add > 1 dns managed domain
     dns = ["greenbytes2.de", "www.greenbytes2.de", "mail.greenbytes2.de"]
     TestEnv.check_json_contains(
         TestEnv.a2md(["store", "add"] + dns)['jout']['output'][0], {
             "name": dns[0],
             "domains": dns,
             "contacts": [],
             "ca": {
                 "url": TestEnv.ACME_URL,
                 "proto": "ACME"
             },
             "state": 0
         })
Example #10
0
 def test_000_100(self):
     # test case: add a single dns managed domain
     dns = "greenbytes.de"
     TestEnv.check_json_contains(
         TestEnv.a2md(["store", "add", dns])['jout']['output'][0], {
             "name": dns,
             "domains": [dns],
             "contacts": [],
             "ca": {
                 "url": TestEnv.ACME_URL,
                 "proto": "ACME"
             },
             "state": 0
         })
Example #11
0
 def test_000_104(self):
     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
         })
Example #12
0
 def test_100_001(self):
     dns = ["greenbytes2.de", "www.greenbytes2.de", "mail.greenbytes2.de"]
     jout1 = TestEnv.a2md(["add"] + dns)['jout']
     TestEnv.check_json_contains(
         jout1['output'][0], {
             "name": dns[0],
             "domains": dns,
             "contacts": [],
             "ca": {
                 "url": TestEnv.ACME_URL,
                 "proto": "ACME"
             },
             "state": TestEnv.MD_S_INCOMPLETE
         })
     assert TestEnv.a2md(["list"])['jout'] == jout1
 def test_110_400(self):
     # test case: add tos agreement
     output = TestEnv.a2md([ "update", self.NAME1, "agreement", TestEnv.ACME_TOS])['jout']['output']
     assert len(output) == 1
     TestEnv.check_json_contains( output[0], {
         "name": self.NAME1,
         "domains": [ self.NAME1, "www.greenbytes2.de", "mail.greenbytes2.de"],
         "contacts": [],
         "ca": {
             "url": TestEnv.ACME_URL,
             "proto": "ACME",
             "agreement": TestEnv.ACME_TOS
         },
         "state": TestEnv.MD_S_INCOMPLETE
     })
 def test_110_300(self):
     # test case: add contact info
     mail = "*****@*****.**"
     output = TestEnv.a2md([ "update", self.NAME1, "contacts", mail])['jout']['output']
     assert len(output) == 1
     TestEnv.check_json_contains( output[0], {
         "name": self.NAME1,
         "domains": [ self.NAME1, "www.greenbytes2.de", "mail.greenbytes2.de"],
         "contacts": [ "mailto:" + mail ],
         "ca": {
             "url": TestEnv.ACME_URL,
             "proto": "ACME"
         },
         "state": TestEnv.MD_S_INCOMPLETE
     })
Example #15
0
 def test_100_004(self):
     dns = "greenbytes.de"
     jout1 = TestEnv.run(
         [TestEnv.A2MD, "-d", TestEnv.STORE_DIR, "-j", "add", dns])['jout']
     assert len(jout1['output']) == 1
     TestEnv.check_json_contains(
         jout1['output'][0], {
             "name": dns,
             "domains": [dns],
             "contacts": [],
             "ca": {
                 "proto": "ACME"
             },
             "state": TestEnv.MD_S_INCOMPLETE
         })
     assert TestEnv.a2md(["list"])['jout'] == jout1
 def test_110_100(self):
     # test case: update CA URL
     url = "http://localhost.com:9999"
     output = TestEnv.a2md([ "update", self.NAME1, "ca", url ])['jout']['output']
     assert len(output) == 1
     TestEnv.check_json_contains( output[0],
         {
             "name": self.NAME1,
             "domains": [ self.NAME1, "www.greenbytes2.de", "mail.greenbytes2.de"],
             "contacts": [],
             "ca": {
                 "url": url,
                 "proto": "ACME"
             },
             "state": TestEnv.MD_S_INCOMPLETE
         })
 def test_110_200(self):
     # test case: update account ID
     accID = "test.account.id"
     output = TestEnv.a2md([ "update", self.NAME1, "account", accID])['jout']['output']
     assert len(output) == 1
     TestEnv.check_json_contains( output[0],
         {
             "name": self.NAME1,
             "domains": [ self.NAME1, "www.greenbytes2.de", "mail.greenbytes2.de"],
             "contacts": [],
             "ca": {
                 "account": accID,
                 "url": TestEnv.ACME_URL,
                 "proto": "ACME"
             },
             "state": TestEnv.MD_S_INCOMPLETE
         })
Example #18
0
 def test_100_000(self):
     # test case: add a single dns managed domain
     dns = "greenbytes.de"
     jout1 = TestEnv.a2md(["add", dns])['jout']
     TestEnv.check_json_contains(
         jout1['output'][0], {
             "name": dns,
             "domains": [dns],
             "contacts": [],
             "ca": {
                 "url": TestEnv.ACME_URL,
                 "proto": "ACME"
             },
             "state": TestEnv.MD_S_INCOMPLETE
         })
     # list store content
     assert TestEnv.a2md(["list"])['jout'] == jout1
 def test_110_000(self):
     dns = ["foo.de", "bar.de"]
     output1 = TestEnv.a2md(["-vvvv", "update", self.NAME1, "domains"] +
                            dns)['jout']['output']
     assert len(output1) == 1
     TestEnv.check_json_contains(
         output1[0], {
             "name": self.NAME1,
             "domains": dns,
             "contacts": [],
             "ca": {
                 "url": TestEnv.ACME_URL,
                 "proto": "ACME"
             },
             "state": TestEnv.MD_S_INCOMPLETE
         })
     assert TestEnv.a2md(["list"])['jout']['output'][0] == output1[0]
Example #20
0
 def test_000_102(self):
     dns1 = [ "test000-102.com", "test000-102a.com", "test000-102b.com" ]
     assert TestEnv.a2md( [ "store", "add" ] + dns1 )['rv'] == 0
     #
     # add second managed domain
     dns2 = [ "greenbytes2.de", "www.greenbytes2.de", "mail.greenbytes2.de" ]
     jout = TestEnv.a2md( [ "store", "add" ] + dns2 )['jout']
     # assert: output covers only changed md
     assert len(jout['output']) == 1
     TestEnv.check_json_contains( jout['output'][0],
         {
             "name": dns2[0],
             "domains": dns2,
             "contacts": [],
             "ca": {
                 "url": TestEnv.ACME_URL,
                 "proto": "ACME"
             },
             "state": 0
         })
Example #21
0
 def test_100_002(self):
     dns1 = ["test100-002.com", "test100-002a.com", "test100-002b.com"]
     TestEnv.a2md(["add"] + dns1)
     # add second managed domain
     dns2 = ["greenbytes2.de", "www.greenbytes2.de", "mail.greenbytes2.de"]
     jout = TestEnv.a2md(["add"] + dns2)['jout']
     # assert: output covers only changed md
     assert len(jout['output']) == 1
     TestEnv.check_json_contains(
         jout['output'][0], {
             "name": dns2[0],
             "domains": dns2,
             "contacts": [],
             "ca": {
                 "url": TestEnv.ACME_URL,
                 "proto": "ACME"
             },
             "state": TestEnv.MD_S_INCOMPLETE
         })
     assert len(TestEnv.a2md(["list"])['jout']['output']) == 2