Exemplo n.º 1
0
    def test_url_string_no_base_path(self):
        """
        Test a partial URL string, which contains a scheme, and a port.
        """
        path = "http://myhostname:1234"
        driver = RancherContainerDriver(*CONTAINER_PARAMS_RANCHER, host=path)

        self.assertEqual(driver.secure, False)
        self.assertEqual(driver.connection.host, "myhostname")
        self.assertEqual(driver.connection.port, 1234)
        self.assertEqual(driver.baseuri, "/v%s" % driver.version)
Exemplo n.º 2
0
    def test_url_string_no_scheme(self):
        """
        Test a partial URL string, which contains a port, and base path.
        """
        path = "myhostname:1234/base"
        driver = RancherContainerDriver(*CONTAINER_PARAMS_RANCHER, host=path)

        self.assertEqual(driver.secure, True)
        self.assertEqual(driver.connection.host, "myhostname")
        self.assertEqual(driver.connection.port, 1234)
        self.assertEqual(driver.baseuri, "/base")
Exemplo n.º 3
0
    def test_full_url_string(self):
        """
        Test a 'full' URL string, which contains a scheme, port, and base path.
        """
        path = "http://myhostname:1234/base"
        driver = RancherContainerDriver(*CONTAINER_PARAMS_RANCHER, host=path)

        self.assertEqual(driver.secure, False)
        self.assertEqual(driver.connection.host, "myhostname")
        self.assertEqual(driver.connection.port, 1234)
        self.assertEqual(driver.baseuri, "/base")
Exemplo n.º 4
0
 def setUp(self):
     self.driver = RancherContainerDriver(*CONTAINER_PARAMS_RANCHER)
Exemplo n.º 5
0
class RancherContainerDriverTestCase(unittest.TestCase):

    def setUp(self):
        self.driver = RancherContainerDriver(*CONTAINER_PARAMS_RANCHER)

    # Stacks
    def test_ex_list_stacks(self):
        stacks = self.driver.ex_list_stacks()
        self.assertEqual(len(stacks), 6)
        self.assertEqual(stacks[0]['id'], "1e1")

    def test_ex_deploy_stack(self):
        stack = self.driver.ex_deploy_stack(name="newstack",
                                            environment={
                                                "root_password": "******"
                                            })
        self.assertEqual(stack['id'], "1e9")
        self.assertEqual(stack['environment']['root_password'], "password")

    def test_ex_get_stack(self):
        # also uses ex_deploy_stack.json
        stack = self.driver.ex_get_stack("1e9")
        self.assertEqual(stack['id'], "1e9")
        self.assertEqual(stack['environment']['root_password'], "password")

    def test_ex_search_stacks(self):
        stacks = self.driver.ex_search_stacks({"healthState": "healthy"})
        self.assertEqual(len(stacks), 6)
        self.assertEqual(stacks[0]['healthState'], "healthy")

    def test_ex_destroy_stack(self):
        response = self.driver.ex_destroy_stack("1e10")
        self.assertEqual(response, True)

    def test_ex_activate_stack(self):
        response = self.driver.ex_activate_stack("1e1")
        self.assertEqual(response, True)

    def test_ex_deactivate_stack(self):
        # also uses ex_activate_stack.json
        response = self.driver.ex_activate_stack("1e1")
        self.assertEqual(response, True)

    def test_ex_list_services(self):
        services = self.driver.ex_list_services()
        self.assertEqual(len(services), 4)
        self.assertEqual(services[0]['id'], "1s1")

    def test_ex_deploy_service(self):
        image = ContainerImage(
            id="hastebin",
            name="hastebin",
            path="rlister/hastebin",
            version="latest",
            driver=None
        )
        service = self.driver.ex_deploy_service(name="newservice",
                                                environment_id="1e1",
                                                image=image,
                                                environment={
                                                    "root_password": "******"
                                                })
        self.assertEqual(service['id'], "1s13")
        self.assertEqual(service['environmentId'], "1e6")
        self.assertEqual(service['launchConfig']['environment']
                         ['root_password'], "password")
        self.assertEqual(service['launchConfig']['imageUuid'],
                         "docker:rlister/hastebin:latest")

    def test_ex_get_service(self):
        # also uses ex_deploy_service.json
        service = self.driver.ex_get_service("1s13")
        self.assertEqual(service['id'], "1s13")
        self.assertEqual(service['environmentId'], "1e6")
        self.assertEqual(service['launchConfig']['environment']
                         ['root_password'], "password")

    def test_ex_search_services(self):
        services = self.driver.ex_search_services({"healthState": "healthy"})
        self.assertEqual(len(services), 2)
        self.assertEqual(services[0]['healthState'], "healthy")

    def test_ex_destroy_service(self):
        # Not sure how to do these with returns in mockhttp
        response = self.driver.ex_destroy_service("1s13")
        self.assertEqual(response, True)

    def test_ex_activate_service(self):
        response = self.driver.ex_activate_service("1s6")
        self.assertEqual(response, True)

    def test_ex_deactivate_service(self):
        # also uses ex_activate_service.json
        response = self.driver.ex_activate_service("1s6")
        self.assertEqual(response, True)

    def test_list_containers(self):
        containers = self.driver.list_containers()
        self.assertEqual(len(containers), 2)
        self.assertEqual(containers[0].id, "1i1")

    def test_deploy_container(self):
        container = self.driver.deploy_container(
            name='newcontainer',
            image=ContainerImage(
                id="hastebin",
                name="hastebin",
                path="rlister/hastebin",
                version="latest",
                driver=None
            ),
            environment={"STORAGE_TYPE": "file"},
            networkMode="managed"
        )
        self.assertEqual(container.id, '1i31')
        self.assertEqual(container.name, 'newcontainer')
        self.assertEqual(container.extra['environment'],
                         {'STORAGE_TYPE': 'file'})

    def test_get_container(self):
        # also uses ex_deploy_container.json
        container = self.driver.get_container("1i31")
        self.assertEqual(container.id, '1i31')
        self.assertEqual(container.name, 'newcontainer')
        self.assertEqual(container.extra['environment'],
                         {'STORAGE_TYPE': 'file'})

    def test_start_container(self):
        container = self.driver.get_container("1i31")
        started = container.start()
        self.assertEqual(started.id, "1i31")
        self.assertEqual(started.name, "newcontainer")
        self.assertEqual(started.state, "pending")
        self.assertEqual(started.extra['state'], "starting")

    def test_stop_container(self):
        container = self.driver.get_container("1i31")
        stopped = container.stop()
        self.assertEqual(stopped.id, "1i31")
        self.assertEqual(stopped.name, "newcontainer")
        self.assertEqual(stopped.state, "pending")
        self.assertEqual(stopped.extra['state'], "stopping")

    def test_ex_search_containers(self):
        containers = self.driver.ex_search_containers({"state": "running"})
        self.assertEqual(len(containers), 1)

    def test_destroy_container(self):
        container = self.driver.get_container("1i31")
        destroyed = container.destroy()
        self.assertEqual(destroyed.id, "1i31")
        self.assertEqual(destroyed.name, "newcontainer")
        self.assertEqual(destroyed.state, "pending")
        self.assertEqual(destroyed.extra['state'], "stopping")
Exemplo n.º 6
0
 def setUp(self):
     self.driver = RancherContainerDriver(*CONTAINER_PARAMS_RANCHER)
Exemplo n.º 7
0
class RancherContainerDriverTestCase(unittest.TestCase):
    def setUp(self):
        self.driver = RancherContainerDriver(*CONTAINER_PARAMS_RANCHER)

    # Stacks
    def test_ex_list_stacks(self):
        stacks = self.driver.ex_list_stacks()
        self.assertEqual(len(stacks), 6)
        self.assertEqual(stacks[0]["id"], "1e1")

    def test_ex_deploy_stack(self):
        stack = self.driver.ex_deploy_stack(
            name="newstack", environment={"root_password": "******"})
        self.assertEqual(stack["id"], "1e9")
        self.assertEqual(stack["environment"]["root_password"], "password")

    def test_ex_get_stack(self):
        # also uses ex_deploy_stack.json
        stack = self.driver.ex_get_stack("1e9")
        self.assertEqual(stack["id"], "1e9")
        self.assertEqual(stack["environment"]["root_password"], "password")

    def test_ex_search_stacks(self):
        stacks = self.driver.ex_search_stacks({"healthState": "healthy"})
        self.assertEqual(len(stacks), 6)
        self.assertEqual(stacks[0]["healthState"], "healthy")

    def test_ex_destroy_stack(self):
        response = self.driver.ex_destroy_stack("1e10")
        self.assertEqual(response, True)

    def test_ex_activate_stack(self):
        response = self.driver.ex_activate_stack("1e1")
        self.assertEqual(response, True)

    def test_ex_deactivate_stack(self):
        # also uses ex_activate_stack.json
        response = self.driver.ex_activate_stack("1e1")
        self.assertEqual(response, True)

    def test_ex_list_services(self):
        services = self.driver.ex_list_services()
        self.assertEqual(len(services), 4)
        self.assertEqual(services[0]["id"], "1s1")

    def test_ex_deploy_service(self):
        image = ContainerImage(
            id="hastebin",
            name="hastebin",
            path="rlister/hastebin",
            version="latest",
            driver=None,
        )
        service = self.driver.ex_deploy_service(
            name="newservice",
            environment_id="1e1",
            image=image,
            environment={"root_password": "******"},
        )
        self.assertEqual(service["id"], "1s13")
        self.assertEqual(service["environmentId"], "1e6")
        self.assertEqual(
            service["launchConfig"]["environment"]["root_password"],
            "password")
        self.assertEqual(service["launchConfig"]["imageUuid"],
                         "docker:rlister/hastebin:latest")

    def test_ex_get_service(self):
        # also uses ex_deploy_service.json
        service = self.driver.ex_get_service("1s13")
        self.assertEqual(service["id"], "1s13")
        self.assertEqual(service["environmentId"], "1e6")
        self.assertEqual(
            service["launchConfig"]["environment"]["root_password"],
            "password")

    def test_ex_search_services(self):
        services = self.driver.ex_search_services({"healthState": "healthy"})
        self.assertEqual(len(services), 2)
        self.assertEqual(services[0]["healthState"], "healthy")

    def test_ex_destroy_service(self):
        # Not sure how to do these with returns in mockhttp
        response = self.driver.ex_destroy_service("1s13")
        self.assertEqual(response, True)

    def test_ex_activate_service(self):
        response = self.driver.ex_activate_service("1s6")
        self.assertEqual(response, True)

    def test_ex_deactivate_service(self):
        # also uses ex_activate_service.json
        response = self.driver.ex_activate_service("1s6")
        self.assertEqual(response, True)

    def test_list_containers(self):
        containers = self.driver.list_containers()
        self.assertEqual(len(containers), 2)
        self.assertEqual(containers[0].id, "1i1")

    def test_deploy_container(self):
        container = self.driver.deploy_container(
            name="newcontainer",
            image=ContainerImage(
                id="hastebin",
                name="hastebin",
                path="rlister/hastebin",
                version="latest",
                driver=None,
            ),
            environment={"STORAGE_TYPE": "file"},
            networkMode="managed",
        )
        self.assertEqual(container.id, "1i31")
        self.assertEqual(container.name, "newcontainer")
        self.assertEqual(container.extra["environment"],
                         {"STORAGE_TYPE": "file"})

    def test_get_container(self):
        # also uses ex_deploy_container.json
        container = self.driver.get_container("1i31")
        self.assertEqual(container.id, "1i31")
        self.assertEqual(container.name, "newcontainer")
        self.assertEqual(container.extra["environment"],
                         {"STORAGE_TYPE": "file"})

    def test_start_container(self):
        container = self.driver.get_container("1i31")
        started = container.start()
        self.assertEqual(started.id, "1i31")
        self.assertEqual(started.name, "newcontainer")
        self.assertEqual(started.state, "pending")
        self.assertEqual(started.extra["state"], "starting")

    def test_stop_container(self):
        container = self.driver.get_container("1i31")
        stopped = container.stop()
        self.assertEqual(stopped.id, "1i31")
        self.assertEqual(stopped.name, "newcontainer")
        self.assertEqual(stopped.state, "pending")
        self.assertEqual(stopped.extra["state"], "stopping")

    def test_ex_search_containers(self):
        containers = self.driver.ex_search_containers({"state": "running"})
        self.assertEqual(len(containers), 1)

    def test_destroy_container(self):
        container = self.driver.get_container("1i31")
        destroyed = container.destroy()
        self.assertEqual(destroyed.id, "1i31")
        self.assertEqual(destroyed.name, "newcontainer")
        self.assertEqual(destroyed.state, "pending")
        self.assertEqual(destroyed.extra["state"], "stopping")
Exemplo n.º 8
0
 def setUp(self):
     RancherContainerDriver.connectionCls.conn_classes = (RancherMockHttp,
                                                          RancherMockHttp)
     RancherMockHttp.type = None
     RancherMockHttp.use_param = 'a'
     self.driver = RancherContainerDriver(*CONTAINER_PARAMS_RANCHER)
Exemplo n.º 9
0
class RancherContainerDriverTestCase(unittest.TestCase):
    def setUp(self):
        RancherContainerDriver.connectionCls.conn_classes = (RancherMockHttp,
                                                             RancherMockHttp)
        RancherMockHttp.type = None
        RancherMockHttp.use_param = 'a'
        self.driver = RancherContainerDriver(*CONTAINER_PARAMS_RANCHER)

    # Stacks
    def test_ex_list_stacks(self):
        stacks = self.driver.ex_list_stacks()
        self.assertEqual(len(stacks), 6)
        self.assertEqual(stacks[0]['id'], "1e1")

    def test_ex_deploy_stack(self):
        stack = self.driver.ex_deploy_stack(
            name="newstack", environment={"root_password": "******"})
        self.assertEqual(stack['id'], "1e9")
        self.assertEqual(stack['environment']['root_password'], "password")

    def test_ex_get_stack(self):
        # also uses ex_deploy_stack.json
        stack = self.driver.ex_get_stack("1e9")
        self.assertEqual(stack['id'], "1e9")
        self.assertEqual(stack['environment']['root_password'], "password")

    def test_ex_search_stacks(self):
        stacks = self.driver.ex_search_stacks({"healthState": "healthy"})
        self.assertEqual(len(stacks), 6)
        self.assertEqual(stacks[0]['healthState'], "healthy")

    def test_ex_destroy_stack(self):
        response = self.driver.ex_destroy_stack("1e10")
        self.assertEqual(response, True)

    def test_ex_activate_stack(self):
        response = self.driver.ex_activate_stack("1e1")
        self.assertEqual(response, True)

    def test_ex_deactivate_stack(self):
        # also uses ex_activate_stack.json
        response = self.driver.ex_activate_stack("1e1")
        self.assertEqual(response, True)

    def test_ex_list_services(self):
        services = self.driver.ex_list_services()
        self.assertEqual(len(services), 4)
        self.assertEqual(services[0]['id'], "1s1")

    def test_ex_deploy_service(self):
        image = ContainerImage(id="hastebin",
                               name="hastebin",
                               path="rlister/hastebin",
                               version="latest",
                               driver=None)
        service = self.driver.ex_deploy_service(
            name="newservice",
            environment_id="1e1",
            image=image,
            environment={"root_password": "******"})
        self.assertEqual(service['id'], "1s13")
        self.assertEqual(service['environmentId'], "1e6")
        self.assertEqual(
            service['launchConfig']['environment']['root_password'],
            "password")
        self.assertEqual(service['launchConfig']['imageUuid'],
                         "docker:rlister/hastebin:latest")

    def test_ex_get_service(self):
        # also uses ex_deploy_service.json
        service = self.driver.ex_get_service("1s13")
        self.assertEqual(service['id'], "1s13")
        self.assertEqual(service['environmentId'], "1e6")
        self.assertEqual(
            service['launchConfig']['environment']['root_password'],
            "password")

    def test_ex_search_services(self):
        services = self.driver.ex_search_services({"healthState": "healthy"})
        self.assertEqual(len(services), 2)
        self.assertEqual(services[0]['healthState'], "healthy")

    def test_ex_destroy_service(self):
        # Not sure how to do these with returns in mockhttp
        response = self.driver.ex_destroy_service("1s13")
        self.assertEqual(response, True)

    def test_ex_activate_service(self):
        response = self.driver.ex_activate_service("1s6")
        self.assertEqual(response, True)

    def test_ex_deactivate_service(self):
        # also uses ex_activate_service.json
        response = self.driver.ex_activate_service("1s6")
        self.assertEqual(response, True)

    def test_list_containers(self):
        containers = self.driver.list_containers()
        self.assertEqual(len(containers), 2)
        self.assertEqual(containers[0].id, "1i1")

    def test_deploy_container(self):
        container = self.driver.deploy_container(
            name='newcontainer',
            image=ContainerImage(id="hastebin",
                                 name="hastebin",
                                 path="rlister/hastebin",
                                 version="latest",
                                 driver=None),
            environment={"STORAGE_TYPE": "file"},
            networkMode="managed")
        self.assertEqual(container.id, '1i31')
        self.assertEqual(container.name, 'newcontainer')
        self.assertEqual(container.extra['environment'],
                         {'STORAGE_TYPE': 'file'})

    def test_get_container(self):
        # also uses ex_deploy_container.json
        container = self.driver.get_container("1i31")
        self.assertEqual(container.id, '1i31')
        self.assertEqual(container.name, 'newcontainer')
        self.assertEqual(container.extra['environment'],
                         {'STORAGE_TYPE': 'file'})

    def test_stop_container(self):
        container = self.driver.get_container("1i31")
        container.stop()

    def test_ex_search_containers(self):
        containers = self.driver.ex_search_containers({"state": "running"})
        self.assertEqual(len(containers), 1)

    def test_destroy_container(self):
        container = self.driver.get_container("1i31")
        container.destroy()