def test_links_with_volumes(self, mock_rmtree, mock_symlink, mock_makedirs, mock_get_rootfs, mock_inspect, mocked_get_runtime_env, mocked_dockerps): inspect = { "Id": "valid_rootfs_id", "Created": "2016-07-06T16:38:05.479090842Z", "State": { "Status": "running", "Running": True, "Pid": 11186 }, "Image": "sha256:07c86167cdc4264926fa5d2894e34a339ad27", "Name": "/pensive_rosalind", # /var in the container is mapped to /mount/in/the/host # container was started with -v /var/in/the/host:/var "Volumes": { '/var': '/var/in/the/host' }, "Config": { "Cmd": ["bash"], "Image": "ubuntu:trusty" }, "NetworkSettings": {} } c = DockerContainer("valid_rootfs_id", inspect) c.link_logfiles() mock_symlink.assert_called_with( '/var/in/the/host/log/2', '/var/log/crawler_container_logs/random_prefix/var/log/2') c.unlink_logfiles() assert mock_symlink.call_count == 4
def _test_non_implemented_methods(self): c = DockerContainer("some_id") with self.assertRaises(NotImplementedError): c.get_memory_cgroup_path() with self.assertRaises(NotImplementedError): c.get_cpu_cgroup_path() with self.assertRaises(NotImplementedError): c.link_logfiles() with self.assertRaises(NotImplementedError): c.unlink_logfiles()
def test_link_and_unlink_logfiles_failed_rmtree( self, mock_rmtree, mock_symlink, mock_makedirs, mock_get_rootfs, mock_inspect, mocked_get_runtime_env, mocked_dockerps): c = DockerContainer("valid_rootfs_id") c.link_logfiles() mock_symlink.assert_called_with( '/tmp/something/docker/valid_rootfs_id/var/log/2', '/var/log/crawler_container_logs/random_prefix/var/log/2') c.unlink_logfiles() assert mock_symlink.call_count == 4 assert mock_rmtree.call_count == 1
def test_link_and_unlink_docker_json_logfile(self, mock_json_logs, mock_rmtree, mock_symlink, mock_makedirs, mock_get_rootfs, mock_inspect, mocked_get_runtime_env, mocked_dockerps): c = DockerContainer("valid_rootfs_id") c.link_logfiles() mock_symlink.assert_called_with( '/var/lib/docker/abc/container/log.json', '/var/log/crawler_container_logs/random_prefix/docker.log') c.unlink_logfiles() assert mock_symlink.call_count == 5 assert mock_rmtree.call_count == 1
def test_link_and_unlink_docker_json_logfile( self, mock_json_logs, mock_rmtree, mock_symlink, mock_makedirs, mock_get_rootfs, mock_inspect, mocked_get_runtime_env, mocked_dockerps): c = DockerContainer("valid_rootfs_id") c.link_logfiles() mock_symlink.assert_called_with( '/var/lib/docker/abc/container/log.json', '/var/log/crawler_container_logs/random_prefix/docker.log') c.unlink_logfiles() assert mock_symlink.call_count == 5 assert mock_rmtree.call_count == 1
def test_links_with_mounts( self, mock_rmtree, mock_symlink, mock_makedirs, mock_get_rootfs, mock_inspect, mocked_get_runtime_env, mocked_dockerps): inspect = { "Id": "valid_rootfs_id", "Created": "2016-07-06T16:38:05.479090842Z", "State": { "Status": "running", "Running": True, "Pid": 11186 }, "Image": "sha256:07c86167cdc4264926fa5d2894e34a339ad27", "Name": "/pensive_rosalind", # /var in the container is mapped to /mount/in/the/host # container was started with -v /var/in/the/host:/var "Mounts": [{'Source': '/var/in/the/host', 'Destination': '/var'}], "Config": { "Cmd": [ "bash" ], "Image": "ubuntu:trusty" }, "NetworkSettings": { } } c = DockerContainer("valid_rootfs_id", inspect) c.link_logfiles() mock_symlink.assert_called_with( '/var/in/the/host/log/2', '/var/log/crawler_container_logs/random_prefix/var/log/2') c.unlink_logfiles() assert mock_symlink.call_count == 4