Skip to content

Commit

Permalink
tests/integration: Automate manual 'extends' test
Browse files Browse the repository at this point in the history
Signed-off-by: Monika Kairaityte <monika@kibit.lt>
  • Loading branch information
mokibit committed Aug 1, 2024
1 parent 348461c commit 6ccf44a
Showing 1 changed file with 106 additions and 0 deletions.
106 changes: 106 additions & 0 deletions tests/integration/test_podman_compose_extends.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
# 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():
return os.path.join(os.path.join(test_path(), "extends"), "docker-compose.yaml")


class TestComposeExteds(unittest.TestCase, RunSubprocessMixin):
def test_extends_service_launch_echo(self):
try:
self.run_subprocess_assert_returncode([
podman_compose_path(),
"-f",
compose_yaml_path(),
"up",
"echo",
])
output, _ = self.run_subprocess_assert_returncode([
podman_compose_path(),
"-f",
compose_yaml_path(),
"logs",
"echo",
])
self.assertEqual(output, b"Zero\n")
finally:
self.run_subprocess_assert_returncode([
podman_compose_path(),
"-f",
compose_yaml_path(),
"down",
])

def test_extends_service_launch_echo1(self):
try:
self.run_subprocess_assert_returncode([
podman_compose_path(),
"-f",
compose_yaml_path(),
"up",
"echo1",
])
output, _ = self.run_subprocess_assert_returncode([
podman_compose_path(),
"-f",
compose_yaml_path(),
"logs",
"echo1",
])
self.assertEqual(output, b"One\n")
finally:
self.run_subprocess_assert_returncode([
podman_compose_path(),
"-f",
compose_yaml_path(),
"down",
])

def test_extends_service_launch_env1(self):
try:
self.run_subprocess_assert_returncode([
podman_compose_path(),
"-f",
compose_yaml_path(),
"up",
"env1",
])
output, _ = self.run_subprocess_assert_returncode([
podman_compose_path(),
"-f",
compose_yaml_path(),
"logs",
"env1",
])
lines = output.decode('utf-8').split('\n')
# HOSTNAME name is random number so is ignored in asserting
lines = [line for line in lines if not line.startswith("HOSTNAME")]
lines.sort()

self.assertEqual(
lines,
[
'',
'BAR=local',
'BAZ=local',
'FOO=original',
'HOME=/root',
'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'TERM=xterm',
'container=podman',
],
)
finally:
self.run_subprocess_assert_returncode([
podman_compose_path(),
"-f",
compose_yaml_path(),
"down",
])

0 comments on commit 6ccf44a

Please sign in to comment.