diff --git a/tests/conftest.py b/tests/conftest.py index a55d60684..35538180f 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -4,15 +4,26 @@ from unittest.mock import MagicMock, PropertyMock, patch import pytest from supervisor.bootstrap import initialize_coresys +from supervisor.docker import DockerAPI # pylint: disable=redefined-outer-name, protected-access @pytest.fixture def docker(): - """Mock Docker API.""" - with patch("supervisor.coresys.DockerAPI") as mock: - yield mock + """Mock DockerAPI.""" + images = [MagicMock(tags=["homeassistant/amd64-hassio-supervisor:latest"])] + + with patch("docker.DockerClient", return_value=MagicMock()), patch( + "supervisor.docker.DockerAPI.images", return_value=MagicMock() + ), patch("supervisor.docker.DockerAPI.containers", return_value=MagicMock()), patch( + "supervisor.docker.DockerAPI.api", return_value=MagicMock() + ), patch( + "supervisor.docker.DockerAPI.images.list", return_value=images + ): + docker_obj = DockerAPI() + + yield docker_obj @pytest.fixture diff --git a/tests/docker/test_denylist.py b/tests/docker/test_denylist.py new file mode 100644 index 000000000..be40ddce9 --- /dev/null +++ b/tests/docker/test_denylist.py @@ -0,0 +1,15 @@ +"""Test tags in denylist.""" + +from unittest.mock import MagicMock, patch + + +def test_has_images_in_denylist(docker): + """Test tags in denylist exsist.""" + images = [MagicMock(tags=["containrrr/watchtower:latest"])] + with patch("supervisor.docker.DockerAPI.images.list", return_value=images): + assert docker.check_denylist_images() + + +def test_no_images_in_denylist(docker): + """Test tags in denylist does not exsist.""" + assert not docker.check_denylist_images()