示例#1
0
 def test_info(self):
     client = AsyncDockerClient()
     client._sync_client = VirtualDockerClient.with_containers()
     response = yield client.info()
     # Test contents of response
     self.assertIsInstance(response, dict)
     self.assertIn("ID", response)
示例#2
0
    def test_from_docker_dict_inspect_container(self):
        client = VirtualDockerClient.with_containers()
        actual = Container.from_docker_dict(
            client.inspect_container(
                'd2b56bffb5655cb7668b685b80116041a20ee8662ebfa5b5cb68cfc423d9dc30'
            ))  # noqa

        expected = Container(
            docker_id=
            'd2b56bffb5655cb7668b685b80116041a20ee8662ebfa5b5cb68cfc423d9dc30',  # noqa
            name=
            "/myrealm-johndoe-5b34ce60d95742fa828cdced12b4c342-ascvbefsda",  # noqa
            image_name='simphonyproject/simphony-mayavi:0.6.0',
            image_id=
            'sha256:2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824',  # noqa
            user="******",
            ip='0.0.0.0',
            port=666,
            url_id="20dcb84cdbea4b1899447246789093d0",
            mapping_id="5b34ce60d95742fa828cdced12b4c342",
            realm="myrealm",
            urlpath=
            "/user/johndoe/containers/20dcb84cdbea4b1899447246789093d0"  # noqa
        )

        assert_containers_equal(self, actual, expected)
示例#3
0
    def test_missing_image_type(self):
        docker_client = VirtualDockerClient.with_containers()
        image_dict = docker_client.inspect_image(
            'simphonyproject/ubuntu-image:latest')  # noqa
        image = Image.from_docker_dict(image_dict)

        self.assertEqual(image.type, '')
        self.assertEqual(image.env, {})
    def setUp(self):
        docker_client = VirtualDockerClient.with_containers()
        image_dict = docker_client.inspect_image(
            'simphonyproject/simphony-mayavi:0.6.0')
        self.image_1 = Image.from_docker_dict(image_dict)

        image_dict = docker_client.inspect_image(
            'simphonyproject/ubuntu-image:latest')
        self.image_2 = Image.from_docker_dict(image_dict)
示例#5
0
    def setUp(self):
        docker_client = VirtualDockerClient.with_containers()
        image_dict = docker_client.inspect_image(
            'simphonyproject/simphony-mayavi:0.6.0')
        self.image_1 = Image.from_docker_dict(image_dict)

        image_dict = docker_client.inspect_image(
            'simphonyproject/ubuntu-image:latest')
        self.image_2 = Image.from_docker_dict(image_dict)
示例#6
0
    def test_different_realm(self):
        manager = ContainerManager(docker_config={}, realm="anotherrealm")
        manager._docker_client._sync_client = \
            VirtualDockerClient.with_containers()

        result = yield manager.find_container(
            user_name="johndoe", mapping_id="5b34ce60d95742fa828cdced12b4c342")
        self.assertIsNone(result)

        result = yield manager.find_containers()
        self.assertEqual(result, [])
示例#7
0
    def test_from_docker_dict_images(self):
        docker_client = VirtualDockerClient.with_containers()
        image_dict = docker_client.images()[0]
        image = Image.from_docker_dict(image_dict)

        self.assertEqual(image.docker_id, image_dict["Id"])
        self.assertEqual(image.name, image_dict["RepoTags"][0])
        self.assertEqual(image.description,
                         image_dict["Labels"][SIMPHONY_NS.description])
        self.assertEqual(image.ui_name,
                         image_dict["Labels"][SIMPHONY_NS.ui_name])
        self.assertEqual(image.type, 'vncapp')
    def test_different_realm(self):
        manager = ContainerManager(docker_config={},
                                   realm="anotherrealm")
        manager._docker_client._sync_client = \
            VirtualDockerClient.with_containers()

        result = yield manager.find_container(
            user_name="johndoe", mapping_id="5b34ce60d95742fa828cdced12b4c342")
        self.assertIsNone(result)

        result = yield manager.find_containers()
        self.assertEqual(result, [])
示例#9
0
def create_container_manager(params=None):
    ''' Return a dummy ContainerManager object

    Parameters
    ----------
    params : dict
        keyword arguments for initialising ContainerManager

    Returns
    -------
    manager : remoteappmanager.docker.container_manager.ContainerManager
    '''
    if params is None:
        params = {'docker_config': {}, "realm": "myrealm"}

    manager = ContainerManager(**params)
    manager._docker_client._sync_client = VirtualDockerClient.with_containers()
    return manager
示例#10
0
def create_container_manager(params=None):
    ''' Return a dummy ContainerManager object

    Parameters
    ----------
    params : dict
        keyword arguments for initialising ContainerManager

    Returns
    -------
    manager : remoteappmanager.docker.container_manager.ContainerManager
    '''
    if params is None:
        params = {'docker_config': {}, "realm": "myrealm"}

    manager = ContainerManager(**params)
    manager._docker_client._sync_client = VirtualDockerClient.with_containers()
    return manager
示例#11
0
    def test_from_docker_dict_inspect_container(self):
        client = VirtualDockerClient.with_containers()
        actual = Container.from_docker_dict(
            client.inspect_container('d2b56bffb5655cb7668b685b80116041a20ee8662ebfa5b5cb68cfc423d9dc30'))  # noqa

        expected = Container(
            docker_id='d2b56bffb5655cb7668b685b80116041a20ee8662ebfa5b5cb68cfc423d9dc30',  # noqa
            name="/myrealm-johndoe-5b34ce60d95742fa828cdced12b4c342-ascvbefsda",  # noqa
            image_name='simphonyproject/simphony-mayavi:0.6.0',
            image_id='sha256:2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824',  # noqa
            user="******",
            ip='0.0.0.0',
            port=666,
            url_id="20dcb84cdbea4b1899447246789093d0",
            mapping_id="5b34ce60d95742fa828cdced12b4c342",
            realm="myrealm",
            urlpath="/user/johndoe/containers/20dcb84cdbea4b1899447246789093d0"  # noqa
        )

        assert_containers_equal(self, actual, expected)
示例#12
0
    def test_from_docker_dict_inspect_image(self):
        docker_client = VirtualDockerClient.with_containers()
        image_dict = docker_client.inspect_image(
            'simphonyproject/simphony-mayavi:0.6.0')  # noqa

        labels = image_dict['Config']['Labels']
        # Insert an unpalatable label for the envs.
        labels[SIMPHONY_NS_ENV["x11-height"] + ".whatever"] = None

        image = Image.from_docker_dict(image_dict)

        self.assertEqual(image.docker_id, image_dict["Id"])
        self.assertEqual(image.name, image_dict["RepoTags"][0])
        self.assertEqual(
            image.description,
            image_dict['Config']["Labels"][SIMPHONY_NS.description])
        self.assertEqual(image.ui_name,
                         image_dict['Config']["Labels"][SIMPHONY_NS.ui_name])
        self.assertEqual(image.type, 'vncapp')
        self.assertEqual(image.env, {
            "X11_WIDTH": "",
            "X11_DEPTH": "",
            "X11_HEIGHT": "",
        })
def create_docker_client():
    return VirtualDockerClient.with_containers()
示例#14
0
 def setUp(self):
     super().setUp()
     self.manager = ContainerManager(docker_config={}, realm="myrealm")
     self.mock_docker_client = VirtualDockerClient.with_containers()
     self.manager._docker_client._sync_client = self.mock_docker_client
 def setUp(self):
     super().setUp()
     self.manager = ContainerManager(docker_config={}, realm="myrealm")
     self.mock_docker_client = VirtualDockerClient.with_containers()
     self.manager._docker_client._sync_client = self.mock_docker_client