From c381e118ee5702366c1ee7c8037ac109fc1da9ad Mon Sep 17 00:00:00 2001 From: Elsa Date: Tue, 8 Apr 2025 21:05:36 +0800 Subject: [PATCH] Add unittest for pid limits Signed-off-by: Elsa --- tests/unit/test_container_to_args.py | 79 ++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/tests/unit/test_container_to_args.py b/tests/unit/test_container_to_args.py index beb21ca..e6d38e2 100644 --- a/tests/unit/test_container_to_args.py +++ b/tests/unit/test_container_to_args.py @@ -612,3 +612,82 @@ class TestContainerToArgs(unittest.IsolatedAsyncioTestCase): "busybox", ], ) + + async def test_pids_limit_container_level(self): + c = create_compose_mock() + cnt = get_minimal_container() + cnt["pids_limit"] = 100 + + args = await container_to_args(c, cnt) + self.assertEqual( + args, + [ + "--name=project_name_service_name1", + "-d", + "--network=bridge:alias=service_name", + "--pids-limit", "100", + "busybox", + ], + ) + + async def test_pids_limit_deploy_section(self): + c = create_compose_mock() + cnt = get_minimal_container() + cnt["deploy"] = { + "resources": { + "limits": { + "pids": 100 + } + } + } + + args = await container_to_args(c, cnt) + self.assertEqual( + args, + [ + "--name=project_name_service_name1", + "-d", + "--network=bridge:alias=service_name", + "--pids-limit", "100", + "busybox", + ], + ) + + async def test_pids_limit_both_same(self): + c = create_compose_mock() + cnt = get_minimal_container() + cnt["pids_limit"] = 100 + cnt["deploy"] = { + "resources": { + "limits": { + "pids": 100 + } + } + } + + args = await container_to_args(c, cnt) + self.assertEqual( + args, + [ + "--name=project_name_service_name1", + "-d", + "--network=bridge:alias=service_name", + "--pids-limit", "100", + "busybox", + ], + ) + + async def test_pids_limit_both_different(self): + c = create_compose_mock() + cnt = get_minimal_container() + cnt["pids_limit"] = 100 + cnt["deploy"] = { + "resources": { + "limits": { + "pids": 200 + } + } + } + + with self.assertRaises(ValueError): + await container_to_args(c, cnt)