diff --git a/pytests/test_can_merge_build.py b/pytests/test_can_merge_build.py index b89c53e..3f728e2 100644 --- a/pytests/test_can_merge_build.py +++ b/pytests/test_can_merge_build.py @@ -9,44 +9,9 @@ import yaml from parameterized import parameterized from podman_compose import PodmanCompose -from podman_compose import normalize_service class TestCanMergeBuild(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"}}, - ), - ]) - 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([ ({}, {}, {}), ({}, {"test": "test"}, {"test": "test"}), diff --git a/pytests/test_can_merge_cmd_ent.py b/pytests/test_can_merge_cmd_ent.py index 9f49a96..866f41e 100644 --- a/pytests/test_can_merge_cmd_ent.py +++ b/pytests/test_can_merge_cmd_ent.py @@ -10,32 +10,11 @@ import yaml from parameterized import parameterized from podman_compose import PodmanCompose -from podman_compose import normalize_service test_keys = ["command", "entrypoint"] class TestCanMergeCmdEnt(unittest.TestCase): - @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) - @parameterized.expand([ ({}, {"$$$": []}, {"$$$": []}), ({"$$$": []}, {}, {"$$$": []}), diff --git a/pytests/test_normalize_service.py b/pytests/test_normalize_service.py new file mode 100644 index 0000000..c9b0e94 --- /dev/null +++ b/pytests/test_normalize_service.py @@ -0,0 +1,62 @@ +# 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"}}, + ), + ]) + 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)