]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
tests/system/tests/test_groupmod.py: add test for groupmod -U with empty string
authorIker Pedrosa <ipedrosa@redhat.com>
Mon, 15 Dec 2025 11:42:46 +0000 (12:42 +0100)
committerSerge Hallyn <serge@hallyn.com>
Mon, 29 Dec 2025 03:08:51 +0000 (21:08 -0600)
Test verifies that groupmod -U '' correctly clears group membership.

Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com>
tests/system/tests/test_groupmod.py

index 999ddc0cbfdb4f51489df5884f412d8ddadd87bf..6617602f5bf54592a791c896699f453657fb7bae 100644 (file)
@@ -38,3 +38,34 @@ def test_groupmod__change_gid(shadow: Shadow):
         assert gshadow_entry is not None, "Group should be found"
         assert gshadow_entry.name == "tgroup", "Incorrect groupname"
         assert gshadow_entry.password == "!", "Incorrect password"
+
+
+@pytest.mark.topology(KnownTopology.Shadow)
+def test_groupmod__u_option_empty_string_clears_members(shadow: Shadow):
+    """
+    :title: Test groupmod -U option with empty user list
+    :setup:
+        1. Create test group
+    :steps:
+        1. Run groupmod with -U option and empty string parameter
+        2. Verify group exists after operation
+        3. Confirm group has no members
+    :expectedresults:
+        1. groupmod -U '' command completes successfully
+        2. Group entry remains valid and accessible
+        3. Group member list is empty (no users assigned to group)
+    :customerscenario: False
+    """
+    shadow.groupadd("tgroup")
+    shadow.groupmod("-U '' tgroup")
+
+    group_entry = shadow.tools.getent.group("tgroup")
+    assert group_entry is not None, "Group should be found"
+    assert group_entry.name == "tgroup", "Incorrect groupname"
+    assert not group_entry.members, "Group should have no members"
+
+    if shadow.host.features["gshadow"]:
+        gshadow_entry = shadow.tools.getent.gshadow("tgroup")
+        assert gshadow_entry is not None, "Group should be found"
+        assert gshadow_entry.name == "tgroup", "Incorrect groupname"
+        assert not gshadow_entry.members, "Group should have no members"