mirror of
https://github.com/containers/podman-compose.git
synced 2025-02-19 03:41:49 +01:00
82 lines
2.6 KiB
Python
82 lines
2.6 KiB
Python
# SPDX-License-Identifier: GPL-2.0
|
|
import os
|
|
import unittest
|
|
|
|
from tests.integration.test_podman_compose import podman_compose_path
|
|
from tests.integration.test_podman_compose import test_path
|
|
from tests.integration.test_utils import RunSubprocessMixin
|
|
|
|
|
|
def compose_yaml_path(suffix=""):
|
|
return os.path.join(os.path.join(test_path(), "deps"), f"docker-compose{suffix}.yaml")
|
|
|
|
|
|
class TestComposeBaseDeps(unittest.TestCase, RunSubprocessMixin):
|
|
def test_deps(self):
|
|
try:
|
|
output, error = self.run_subprocess_assert_returncode([
|
|
podman_compose_path(),
|
|
"-f",
|
|
compose_yaml_path(),
|
|
"run",
|
|
"--rm",
|
|
"sleep",
|
|
"/bin/sh",
|
|
"-c",
|
|
"wget -O - http://web:8000/hosts",
|
|
])
|
|
self.assertIn(b"HTTP request sent, awaiting response... 200 OK", output)
|
|
self.assertIn(b"deps_web_1", output)
|
|
finally:
|
|
self.run_subprocess_assert_returncode([
|
|
podman_compose_path(),
|
|
"-f",
|
|
compose_yaml_path(),
|
|
"down",
|
|
])
|
|
|
|
|
|
class TestComposeConditionalDeps(unittest.TestCase, RunSubprocessMixin):
|
|
def test_deps_succeeds(self):
|
|
suffix = "-conditional-succeeds"
|
|
try:
|
|
output, error = self.run_subprocess_assert_returncode([
|
|
podman_compose_path(),
|
|
"-f",
|
|
compose_yaml_path(suffix),
|
|
"run",
|
|
"--rm",
|
|
"sleep",
|
|
"/bin/sh",
|
|
"-c",
|
|
"wget -O - http://web:8000/hosts",
|
|
])
|
|
self.assertIn(b"HTTP request sent, awaiting response... 200 OK", output)
|
|
self.assertIn(b"deps_web_1", output)
|
|
finally:
|
|
self.run_subprocess_assert_returncode([
|
|
podman_compose_path(),
|
|
"-f",
|
|
compose_yaml_path(suffix),
|
|
"down",
|
|
])
|
|
|
|
def test_deps_fails(self):
|
|
suffix = "-conditional-fails"
|
|
try:
|
|
output, error = self.run_subprocess_assert_returncode([
|
|
podman_compose_path(),
|
|
"-f",
|
|
compose_yaml_path(suffix),
|
|
"ps",
|
|
])
|
|
self.assertNotIn(b"HTTP request sent, awaiting response... 200 OK", output)
|
|
self.assertNotIn(b"deps_web_1", output)
|
|
finally:
|
|
self.run_subprocess_assert_returncode([
|
|
podman_compose_path(),
|
|
"-f",
|
|
compose_yaml_path(suffix),
|
|
"down",
|
|
])
|