def test_2_users_in_recursive_groups_when_cyclic(self): provider = PreconfiguredGroupProvider({ 'group1': ['@group2', 'user2'], 'group2': ['@group1', 'user1'] }) self.assertCountEqual(provider.get_groups('user1'), ['group1', 'group2']) self.assertCountEqual(provider.get_groups('user2'), ['group1', 'group2'])
def test_known_group_when_multiple_parents(self): provider = PreconfiguredGroupProvider( {'group1': ['@lazy1', 'user1'], 'group2': ['@lazy1', '@lazy2', 'user2'], 'group3': ['@lazy3', 'user3']}) actual_groups = provider.get_groups('userX', known_groups=['lazy1']) self.assertCountEqual(actual_groups, ['group1', 'group2'])
def test_two_users_in_different_groups(self): provider = PreconfiguredGroupProvider({ 'group1': ['user1'], 'group2': ['user2'] }) self.assertCountEqual(provider.get_groups('user1'), ['group1']) self.assertCountEqual(provider.get_groups('user2'), ['group2'])
def test_user_in_recursive_group_when_2_levels(self): provider = PreconfiguredGroupProvider({ 'group1': ['user1'], 'group2': ['@group1'] }) self.assertCountEqual(provider.get_groups('user1'), ['group1', 'group2'])
def test_user_in_multiple_groups(self): provider = PreconfiguredGroupProvider({ 'group1': ['user1'], 'group2': ['user1'], 'group3': ['user1'] }) self.assertCountEqual(provider.get_groups('user1'), ['group1', 'group2', 'group3'])
def test_known_group_when_exists_and_multiple_and_mixed(self): provider = PreconfiguredGroupProvider( {'group1': ['@lazy1', 'user2'], 'group2': ['@lazy2', 'user3'], 'group3': ['@lazy3', 'user1'], 'group4': ['@lazy4', 'user4']}) actual_groups = provider.get_groups('user1', known_groups=['lazy2', 'lazy4']) self.assertCountEqual(actual_groups, ['group2', 'group3', 'group4'])
def test_empty_groups_config(self): provider = PreconfiguredGroupProvider({}) self.assertCountEqual(provider.get_groups('user1'), [])
def test_user_without_groups(self): provider = PreconfiguredGroupProvider({'group1': ['user1']}) self.assertCountEqual(provider.get_groups('user2'), [])
def test_single_user_in_single_group(self): provider = PreconfiguredGroupProvider({'group1': ['user1']}) self.assertCountEqual(provider.get_groups('user1'), ['group1'])
def test_known_group_when_username_starts_with_at(self): provider = PreconfiguredGroupProvider({'group1': ['@group2', 'user2']}) self.assertCountEqual(provider.get_groups('@group2'), [])
def test_known_group_when_not_exists(self): provider = PreconfiguredGroupProvider({'group1': ['@group2', 'user2']}) self.assertCountEqual( provider.get_groups('user1', known_groups=['group3']), [])
def test_two_users_in_different_groups(self): provider = PreconfiguredGroupProvider( {'group1': ['user1'], 'group2': ['user2']}) self.assertCountEqual(provider.get_groups('user1'), ['group1']) self.assertCountEqual(provider.get_groups('user2'), ['group2'])
def test_2_users_in_recursive_groups_when_cyclic(self): provider = PreconfiguredGroupProvider({'group1': ['@group2', 'user2'], 'group2': ['@group1', 'user1']}) self.assertCountEqual(provider.get_groups('user1'), ['group1', 'group2']) self.assertCountEqual(provider.get_groups('user2'), ['group1', 'group2'])
def test_user_in_recursive_group_when_3_levels(self): provider = PreconfiguredGroupProvider({'group1': ['@group2'], 'group2': ['@group3'], 'group3': ['user1']}) self.assertCountEqual(provider.get_groups('user1'), ['group1', 'group2', 'group3'])
def test_empty_groups_config(self): provider = PreconfiguredGroupProvider({}) self.assertCountEqual(provider.get_groups('user1'), [])
def test_user_in_multiple_groups(self): provider = PreconfiguredGroupProvider({'group1': ['user1'], 'group2': ['user1'], 'group3': ['user1']}) self.assertCountEqual(provider.get_groups('user1'), ['group1', 'group2', 'group3'])
def test_user_without_groups(self): provider = PreconfiguredGroupProvider({'group1': ['user1']}) self.assertCountEqual(provider.get_groups('user2'), [])
def test_single_user_in_single_group_ignore_case(self): provider = PreconfiguredGroupProvider({'group1': ['USER1']}) self.assertCountEqual(provider.get_groups('User1'), ['group1'])
def test_single_user_in_single_group(self): provider = PreconfiguredGroupProvider({'group1': ['user1']}) self.assertCountEqual(provider.get_groups('user1'), ['group1'])