def test_group_without_members(self): """ L{UserProvider.get_groups} should include groups without members. """ provider = FakeUserProvider(groups=[("jdoe", "x", 1000, [])]) self.assertEqual(provider.get_groups(), [{ "name": "jdoe", "gid": 1000, "members": [] }])
def test_group_with_members(self): """L{UserProvider.get_groups} should include groups with members.""" users = [("jdoe", "x", 1000, 1000, "JD,,,,", "/home/jdoe", "/bin/zsh")] groups = [("sales", "x", 50, ["jdoe"])] provider = FakeUserProvider(users=users, shadow_file=self.shadow_file, groups=groups) self.assertEqual(provider.get_groups(), [{ "name": "sales", "gid": 50, "members": ["jdoe"] }])
def test_group_with_unknown_members(self): """L{UserProvider.get_groups} should include groups with members. If a member's userid isn't known to the system, it shouldn't be returned. """ users = [("jdoe", "x", 1000, 1000, "JD,,,,", "/home/jdoe", "/bin/zsh")] groups = [("sales", "x", 50, ["jdoe", "kevin"])] provider = FakeUserProvider(users=users, shadow_file=self.shadow_file, groups=groups) self.assertEqual(provider.get_groups(), [{ "name": "sales", "gid": 50, "members": ["jdoe"] }])
def test_group_with_duplicate_members(self): """ L{UserProvider.get_groups} should only report groups once. If duplicates exist they should be removed. The problem reported in bug #118799 is related to duplicates being reported to the server. """ users = [("jdoe", "x", 1000, 1000, "JD,,,,", "/home/jdoe", "/bin/zsh")] groups = [("sales", "x", 50, ["jdoe", "jdoe"])] provider = FakeUserProvider(users=users, shadow_file=self.shadow_file, groups=groups) self.assertEqual(provider.get_groups(), [{ "name": "sales", "gid": 50, "members": ["jdoe"] }])