Skip to content

Commit

Permalink
tests/integration: Automate manual 'interpolation' 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 Sep 10, 2024
1 parent 229650c commit 8d0dd21
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 2 deletions.
4 changes: 2 additions & 2 deletions tests/integration/interpolation/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ services:
image: busybox
command: ["/bin/busybox", "sh", "-c", "export | grep EXAMPLE"]
environment:
EXAMPLE_VARIABLE: "Host user: $USER"
EXAMPLE_BRACES: "Host user: ${USER}"
EXAMPLE_VARIABLE: "Host user: $EXAMPLE_VARIABLE_USER"
EXAMPLE_BRACES: "Host user: ${EXAMPLE_VARIABLE_USER}"
EXAMPLE_COLON_DASH_DEFAULT: ${NOT_A_VARIABLE:-My default}
EXAMPLE_DASH_DEFAULT: ${NOT_A_VARIABLE-My other default}
EXAMPLE_DOT_ENV: $DOT_ENV_VARIABLE
Expand Down
45 changes: 45 additions & 0 deletions tests/integration/test_podman_compose_interpolation.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# 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(), "interpolation"), "docker-compose.yml")


class TestComposeInterpolation(unittest.TestCase, RunSubprocessMixin):
def test_interpolation(self):
try:
self.run_subprocess_assert_returncode([
"env",
"EXAMPLE_VARIABLE_USER=test_user",
podman_compose_path(),
"-f",
compose_yaml_path(),
"up",
])
output, _ = self.run_subprocess_assert_returncode([
podman_compose_path(),
"-f",
compose_yaml_path(),
"logs",
])
self.assertIn("EXAMPLE_VARIABLE='Host user: test_user'", str(output))
self.assertIn("EXAMPLE_BRACES='Host user: test_user'", str(output))
self.assertIn("EXAMPLE_COLON_DASH_DEFAULT='My default'", str(output))
self.assertIn("EXAMPLE_DASH_DEFAULT='My other default'", str(output))
self.assertIn("EXAMPLE_DOT_ENV='This value is from the .env file'", str(output))
self.assertIn("EXAMPLE_EMPTY=''", str(output))
self.assertIn("EXAMPLE_LITERAL='This is a $literal'", str(output))
finally:
self.run_subprocess_assert_returncode([
podman_compose_path(),
"-f",
compose_yaml_path(),
"down",
])

0 comments on commit 8d0dd21

Please sign in to comment.