diff --git a/tests/integration/ports/docker-compose.yml b/tests/integration/ports/docker-compose.yml index e89bd05..71a33b0 100644 --- a/tests/integration/ports/docker-compose.yml +++ b/tests/integration/ports/docker-compose.yml @@ -1,35 +1,30 @@ version: "3" services: - web1: - image: nopush/podman-compose-test - hostname: web1 - command: ["dumb-init", "/bin/busybox", "httpd", "-f", "-h", "/var/www/html", "-p", "8001"] - working_dir: /var/www/html - ports: - - 8001:8001 - volumes: - - ./test1.txt:/var/www/html/index.txt:ro,z - web2: - image: nopush/podman-compose-test - hostname: web2 - command: ["dumb-init", "/bin/busybox", "httpd", "-f", "-h", "/var/www/html", "-p", "8002"] - working_dir: /var/www/html - ports: - - 8002:8002 - - target: 8003 - host_ip: 127.0.0.1 - published: 8003 - protocol: udp - - target: 8004 - host_ip: 127.0.0.1 - published: 8004 - protocol: tcp - - target: 8005 - published: 8005 - - target: 8006 - protocol: udp - - target: 8007 - host_ip: 127.0.0.1 - volumes: - - ./test2.txt:/var/www/html/index.txt:ro,z + web1: + image: nopush/podman-compose-test + hostname: web1 + command: ["dumb-init", "sleep", "infinity"] + ports: + - 8000:8000 + - 8001 + web2: + image: nopush/podman-compose-test + hostname: web2 + command: ["dumb-init", "sleep", "infinity"] + ports: + - 8002:8002 + - target: 8003 + host_ip: 127.0.0.1 + published: 8003 + protocol: udp + - target: 8004 + host_ip: 127.0.0.1 + published: 8004 + protocol: tcp + - target: 8005 + published: 8005 + - target: 8006 + protocol: udp + - target: 8007 + host_ip: 127.0.0.1 diff --git a/tests/integration/ports/test1.txt b/tests/integration/ports/test1.txt deleted file mode 100644 index a5bce3f..0000000 --- a/tests/integration/ports/test1.txt +++ /dev/null @@ -1 +0,0 @@ -test1 diff --git a/tests/integration/ports/test2.txt b/tests/integration/ports/test2.txt deleted file mode 100644 index 180cf83..0000000 --- a/tests/integration/ports/test2.txt +++ /dev/null @@ -1 +0,0 @@ -test2 diff --git a/tests/integration/ports/test_podman_compose_ports.py b/tests/integration/ports/test_podman_compose_ports.py index aa0b13e..3aa630d 100644 --- a/tests/integration/ports/test_podman_compose_ports.py +++ b/tests/integration/ports/test_podman_compose_ports.py @@ -1,12 +1,11 @@ # SPDX-License-Identifier: GPL-2.0 """ -test_podman_compose_up_down.py +test_podman_compose_ports.py -Tests the podman compose up and down commands used to create and remove services. +Tests the podman compose port command used to show the host port. """ -# pylint: disable=redefined-outer-name import os import unittest @@ -35,51 +34,45 @@ class TestPodmanCompose(unittest.TestCase, RunSubprocessMixin): "-f", os.path.join(test_path(), "ports", "docker-compose.yml"), "down", - "--volumes", ] + port_cmd = [ + podman_compose_path(), + "-f", + os.path.join(test_path(), "ports", "docker-compose.yml"), + "port", + ] + + udp_arg = ["--protocol", "udp"] + + tcp_arg = ["--protocol", "tcp"] + try: self.run_subprocess_assert_returncode(up_cmd) + port = self.run_subprocess_assert_returncode(port_cmd + ["web1", "8000"]) + self.assertEqual(port[0].decode().strip(), "8000") + + port = self.run_subprocess_assert_returncode(port_cmd + ["web1", "8001"]) + self.assertNotEqual(port[0].decode().strip(), "8001") + + port = self.run_subprocess_assert_returncode(port_cmd + ["web2", "8002"]) + self.assertEqual(port[0].decode().strip(), "8002") + + port = self.run_subprocess_assert_returncode(port_cmd + udp_arg + ["web2", "8003"]) + self.assertEqual(port[0].decode().strip(), "8003") + + port = self.run_subprocess_assert_returncode(port_cmd + ["web2", "8004"]) + self.assertEqual(port[0].decode().strip(), "8004") + + port = self.run_subprocess_assert_returncode(port_cmd + tcp_arg + ["web2", "8005"]) + self.assertEqual(port[0].decode().strip(), "8005") + + port = self.run_subprocess_assert_returncode(port_cmd + udp_arg + ["web2", "8006"]) + self.assertNotEqual(port[0].decode().strip(), "8006") + + port = self.run_subprocess_assert_returncode(port_cmd + ["web2", "8007"]) + self.assertNotEqual(port[0].decode().strip(), "8007") + finally: self.run_subprocess_assert_returncode(down_cmd) - - def test_down_with_orphans(self): - container_id, _ = self.run_subprocess_assert_returncode([ - "podman", - "run", - "--rm", - "-d", - "nopush/podman-compose-test", - "dumb-init", - "/bin/busybox", - "httpd", - "-f", - "-h", - "/etc/", - "-p", - "8000", - ]) - - down_cmd = [ - "coverage", - "run", - podman_compose_path(), - "-f", - os.path.join(test_path(), "ports", "docker-compose.yml"), - "down", - "--volumes", - "--remove-orphans", - ] - - self.run_subprocess_assert_returncode(down_cmd) - - self.run_subprocess_assert_returncode( - [ - "podman", - "container", - "exists", - container_id.decode("utf-8"), - ], - 1, - )