Example #1
0
    def test_repository_name_is_replaced(self, monkeypatch):
        task = ListImages(repository_name="original")

        api = MagicMock()
        monkeypatch.setattr("docker.APIClient", api)

        task.run(repository_name="test")
        assert api.return_value.images.call_args[1]["name"] == "test"
Example #2
0
    def test_repository_name_run_value_is_used(self, monkeypatch):
        task = ListImages()

        api = MagicMock()
        monkeypatch.setattr("prefect.tasks.docker.containers.docker.APIClient",
                            api)

        task.run(repository_name="test")
        assert api.return_value.images.call_args[1]["name"] == "test"
Example #3
0
    def test_logs_twice_on_success(self, monkeypatch, caplog):
        repo_name = "test repo"
        task = ListImages(repository_name=repo_name)

        api = MagicMock()
        monkeypatch.setattr("docker.APIClient", api)
        self.assert_logs_twice_on_success(task, caplog)
Example #4
0
 def test_filled_initialization(self):
     task = ListImages(repository_name="test",
                       all_layers=True,
                       docker_server_url="test")
     assert task.repository_name == "test"
     assert task.all_layers == True
     assert task.docker_server_url == "test"
Example #5
0
    def test_returns_list_images_value(self, monkeypatch, caplog):
        repo_name = "test repo"
        task = ListImages(repository_name=repo_name)

        api = MagicMock()
        expected_docker_output = [
            "A real image", "A second, equally real image"
        ]

        api.return_value.images = MagicMock(
            return_value=expected_docker_output)
        monkeypatch.setattr("docker.APIClient", api)

        with caplog.at_level(logging.DEBUG, logger=task.logger.name):

            result = task.run()
            assert result == expected_docker_output

            assert len(caplog.records) == 2
Example #6
0
    def test_logs_once_on_docker_api_failure(self, monkeypatch, caplog):
        repo_name = "test_repo"
        task = ListImages(repository_name=repo_name)

        api = MagicMock()
        images_mock = MagicMock(
            side_effect=docker.errors.DockerException("Docker specific error"))
        api.return_value.images = images_mock

        monkeypatch.setattr("docker.APIClient", api)
        self.assert_logs_once_on_docker_api_failure(task, caplog)
Example #7
0
 def test_empty_initialization(self):
     task = ListImages()
     assert not task.repository_name
     assert not task.all_layers
     assert not task.filters
     assert task.docker_server_url == "unix:///var/run/docker.sock"