mirror of
https://github.com/containers/podman-compose.git
synced 2024-11-25 09:23:31 +01:00
18472b53ac
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
71 lines
2.6 KiB
Python
71 lines
2.6 KiB
Python
# SPDX-License-Identifier: GPL-2.0
|
|
import unittest
|
|
|
|
from parameterized import parameterized
|
|
|
|
from podman_compose import normalize_service
|
|
|
|
|
|
class TestNormalizeService(unittest.TestCase):
|
|
@parameterized.expand([
|
|
({"test": "test"}, {"test": "test"}),
|
|
({"build": "."}, {"build": {"context": "."}}),
|
|
({"build": "./dir-1"}, {"build": {"context": "./dir-1"}}),
|
|
({"build": {"context": "./dir-1"}}, {"build": {"context": "./dir-1"}}),
|
|
(
|
|
{"build": {"dockerfile": "dockerfile-1"}},
|
|
{"build": {"dockerfile": "dockerfile-1"}},
|
|
),
|
|
(
|
|
{"build": {"context": "./dir-1", "dockerfile": "dockerfile-1"}},
|
|
{"build": {"context": "./dir-1", "dockerfile": "dockerfile-1"}},
|
|
),
|
|
(
|
|
{"build": {"additional_contexts": ["ctx=../ctx", "ctx2=../ctx2"]}},
|
|
{"build": {"additional_contexts": ["ctx=../ctx", "ctx2=../ctx2"]}},
|
|
),
|
|
(
|
|
{"build": {"additional_contexts": {"ctx": "../ctx", "ctx2": "../ctx2"}}},
|
|
{"build": {"additional_contexts": ["ctx=../ctx", "ctx2=../ctx2"]}},
|
|
),
|
|
])
|
|
def test_simple(self, input, expected):
|
|
self.assertEqual(normalize_service(input), expected)
|
|
|
|
@parameterized.expand([
|
|
({"test": "test"}, {"test": "test"}),
|
|
({"build": "."}, {"build": {"context": "./sub_dir/."}}),
|
|
({"build": "./dir-1"}, {"build": {"context": "./sub_dir/dir-1"}}),
|
|
({"build": {"context": "./dir-1"}}, {"build": {"context": "./sub_dir/dir-1"}}),
|
|
(
|
|
{"build": {"dockerfile": "dockerfile-1"}},
|
|
{"build": {"context": "./sub_dir", "dockerfile": "dockerfile-1"}},
|
|
),
|
|
(
|
|
{"build": {"context": "./dir-1", "dockerfile": "dockerfile-1"}},
|
|
{"build": {"context": "./sub_dir/dir-1", "dockerfile": "dockerfile-1"}},
|
|
),
|
|
])
|
|
def test_normalize_service_with_sub_dir(self, input, expected):
|
|
self.assertEqual(normalize_service(input, sub_dir="./sub_dir"), expected)
|
|
|
|
@parameterized.expand([
|
|
([], []),
|
|
(["sh"], ["sh"]),
|
|
(["sh", "-c", "date"], ["sh", "-c", "date"]),
|
|
("sh", ["sh"]),
|
|
("sleep infinity", ["sleep", "infinity"]),
|
|
(
|
|
"bash -c 'sleep infinity'",
|
|
["bash", "-c", "sleep infinity"],
|
|
),
|
|
])
|
|
def test_command_like(self, input, expected):
|
|
for key in ['command', 'entrypoint']:
|
|
input_service = {}
|
|
input_service[key] = input
|
|
|
|
expected_service = {}
|
|
expected_service[key] = expected
|
|
self.assertEqual(normalize_service(input_service), expected_service)
|