Esempio n. 1
0
class TestDirectoryFunctional(FunctionalTestCase):
    def setUp(self):
        super(TestDirectoryFunctional, self).setUp()

        self.reference_name = "func-test-reference-%s" % uuid.uuid4()
        self.reference_name_2 = "func-test-reference-%s-2" % uuid.uuid4()
        self.reference_name_3 = "func-test-reference-%s-3" % uuid.uuid4()

        self.directory = DirectoryAPI(self.namespace, self.proxyd_uri)

        self.directory.create(self.account, self.reference_name)
        self.directory.create(self.account, self.reference_name_2)
        self.directory.link(self.account, self.reference_name, "meta2")

    def tearDown(self):
        super(TestDirectoryFunctional, self).tearDown()
        for ref in (self.reference_name, self.reference_name_2, self.reference_name_3):
            try:
                self.directory.delete(self.account, ref)
            except exceptions.ClientException:
                pass

    def test_has_reference(self):
        self.assertTrue(self.directory.has(self.account, self.reference_name))
        self.assertFalse(self.directory.has(self.account, self.reference_name_3))

    def test_stat_reference(self):
        reference = self.directory.get(self.account, self.reference_name)
        self.assertTrue(reference)

    def test_list_services_reference(self):
        services = self.directory.list_services(self.account, self.reference_name, "meta2")
        self.assertTrue(len(services))

    def test_create_reference(self):
        self.directory.create(self.account, self.reference_name_3)

    def test_delete_reference(self):
        self.directory.delete(self.account, self.reference_name_2)
        self.assertRaises(exceptions.NotFound, self.directory.get, self.account, self.reference_name_2)

    def test_link_reference(self):
        self.directory.link(self.account, self.reference_name_2, "meta2")
        services = self.directory.list_services(self.account, self.reference_name_2, "meta2")
        self.assertTrue(len(services["srv"]))

    def test_unlink_reference(self):
        self.directory.unlink(self.account, self.reference_name, "meta2")
        services = self.directory.list_services(self.account, self.reference_name, "meta2")
        self.assertFalse(len(services["srv"]))

    def test_renew_reference(self):
        services = self.directory.renew(self.account, self.reference_name, "meta2")
        self.assertTrue(len(services))

    def test_force_reference(self):
        services = {"seq": 2, "type": "meta2", "host": "127.0.0.1:7000", "args": ""}
        self.directory.force(self.account, self.reference_name, "meta2", services)

    def test_properties(self):
        self.directory.set_properties(self.account, self.reference_name, {"data": "something"})
        props = self.directory.get_properties(self.account, self.reference_name)
        self.assertTrue(props)
        self.assertEqual("something", props.get("data"))

        self.directory.del_properties(self.account, self.reference_name, ["data"])
        props = self.directory.get_properties(self.account, self.reference_name, ["data"])
        self.assertFalse(len(props))