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)
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)
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)
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, [])
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 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
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)
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()
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