From 35dc395483ec216b24def74c456041c634aecdc4 Mon Sep 17 00:00:00 2001 From: Monika Kairaityte Date: Tue, 29 Apr 2025 12:51:27 +0300 Subject: [PATCH] tests/integration: Add reset tag service test Signed-off-by: Monika Kairaityte --- .../reset_tag_service/__init__.py | 1 + .../docker-compose.reset_service.yaml | 6 ++ .../reset_tag_service/docker-compose.yaml | 5 ++ .../test_podman_compose_reset_tag_service.py | 59 +++++++++++++++++++ 4 files changed, 71 insertions(+) create mode 100644 tests/integration/merge/reset_and_override_tags/reset_tag_service/__init__.py create mode 100644 tests/integration/merge/reset_and_override_tags/reset_tag_service/docker-compose.reset_service.yaml create mode 100644 tests/integration/merge/reset_and_override_tags/reset_tag_service/docker-compose.yaml create mode 100644 tests/integration/merge/reset_and_override_tags/reset_tag_service/test_podman_compose_reset_tag_service.py diff --git a/tests/integration/merge/reset_and_override_tags/reset_tag_service/__init__.py b/tests/integration/merge/reset_and_override_tags/reset_tag_service/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/integration/merge/reset_and_override_tags/reset_tag_service/__init__.py @@ -0,0 +1 @@ + diff --git a/tests/integration/merge/reset_and_override_tags/reset_tag_service/docker-compose.reset_service.yaml b/tests/integration/merge/reset_and_override_tags/reset_tag_service/docker-compose.reset_service.yaml new file mode 100644 index 0000000..2a8b86f --- /dev/null +++ b/tests/integration/merge/reset_and_override_tags/reset_tag_service/docker-compose.reset_service.yaml @@ -0,0 +1,6 @@ +version: "3" +services: + app: !reset + app2: + image: busybox + command: ["/bin/busybox", "echo", "One"] diff --git a/tests/integration/merge/reset_and_override_tags/reset_tag_service/docker-compose.yaml b/tests/integration/merge/reset_and_override_tags/reset_tag_service/docker-compose.yaml new file mode 100644 index 0000000..f1e8ba6 --- /dev/null +++ b/tests/integration/merge/reset_and_override_tags/reset_tag_service/docker-compose.yaml @@ -0,0 +1,5 @@ +version: "3" +services: + app: + image: busybox + command: ["/bin/busybox", "echo", "Zero"] diff --git a/tests/integration/merge/reset_and_override_tags/reset_tag_service/test_podman_compose_reset_tag_service.py b/tests/integration/merge/reset_and_override_tags/reset_tag_service/test_podman_compose_reset_tag_service.py new file mode 100644 index 0000000..d840291 --- /dev/null +++ b/tests/integration/merge/reset_and_override_tags/reset_tag_service/test_podman_compose_reset_tag_service.py @@ -0,0 +1,59 @@ +# SPDX-License-Identifier: GPL-2.0 + +import os +import unittest + +from tests.integration.test_utils import RunSubprocessMixin +from tests.integration.test_utils import podman_compose_path +from tests.integration.test_utils import test_path + + +def compose_yaml_path(): + return os.path.join(os.path.join(test_path(), "reset_tag_service"), "docker-compose.yaml") + + +class TestComposeResetTagService(unittest.TestCase, RunSubprocessMixin): + # test if whole service from docker-compose.yaml file is reset + def test_reset_tag_service(self): + reset_file = os.path.join( + os.path.join(test_path(), "reset_tag_service"), "docker-compose.reset_service.yaml" + ) + try: + self.run_subprocess_assert_returncode([ + podman_compose_path(), + "-f", + compose_yaml_path(), + "-f", + reset_file, + "up", + ]) + + # app service was fully reset in docker-compose.reset_tag_service.yaml file, therefore + # does not exist. A new service was created instead. + output, _ = self.run_subprocess_assert_returncode([ + podman_compose_path(), + "-f", + compose_yaml_path(), + "-f", + reset_file, + "ps", + ]) + self.assertNotIn(b"reset_tag_service_app_1", output) + self.assertIn(b"reset_tag_service_app2_1", output) + + output, _ = self.run_subprocess_assert_returncode([ + podman_compose_path(), + "-f", + compose_yaml_path(), + "-f", + reset_file, + "logs", + ]) + self.assertEqual(output, b"One\n") + finally: + self.run_subprocess_assert_returncode([ + podman_compose_path(), + "-f", + compose_yaml_path(), + "down", + ])