Beispiel #1
0
 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 assertAdmin(self, user, admin_users, expected_allowed, groups=None):
        group_provider = PreconfiguredGroupProvider(
            groups) if groups else EmptyGroupProvider()
        authorizer = Authorizer([], admin_users, group_provider)

        allowed = authorizer.is_admin(user)
        if allowed != expected_allowed:
            self.fail('Expected ' + user + ' to be admin=' +
                      str(expected_allowed) + ' for ' + str(admin_users) +
                      ' but was ' + str(allowed))
Beispiel #3
0
    def assert_has_access(self,
                          user,
                          admin_users,
                          history_access_users,
                          expected_allowed,
                          groups=None):
        group_provider = PreconfiguredGroupProvider(
            groups) if groups else EmptyGroupProvider()
        authorizer = Authorizer([], admin_users, history_access_users, [],
                                group_provider)

        has_access = authorizer.has_full_history_access(user)
        if has_access != expected_allowed:
            self.fail('Expected ' + user + ' to has_access=' +
                      str(expected_allowed) + ' for ' +
                      str(history_access_users) + ' but was ' +
                      str(has_access))
 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'])
Beispiel #7
0
 def test_known_groups_when_single_provider(self):
     provider = CombinedGroupProvider(
         PreconfiguredGroupProvider({'group1': ['user1', '@lazy1']}))
     self.assertCountEqual(provider.get_groups('user2', ['lazy1']),
                           ['group1'])
Beispiel #8
0
 def test_multiple_providers_when_same_groups(self):
     provider = CombinedGroupProvider(
         PreconfiguredGroupProvider({'group1': ['user1', 'user2']}),
         PreconfiguredGroupProvider({'group2': ['user3', 'user4']}),
         PreconfiguredGroupProvider({'group1': ['user2', 'user5']}))
     self.assertCountEqual(provider.get_groups('user2'), ['group1'])
Beispiel #9
0
 def test_single_provider(self):
     provider = CombinedGroupProvider(
         PreconfiguredGroupProvider({'group1': ['user1', 'user2']}))
     self.assertCountEqual(provider.get_groups('user1'), ['group1'])
Beispiel #10
0
 def test_known_group_when_username_starts_with_at(self):
     provider = PreconfiguredGroupProvider({'group1': ['@group2', 'user2']})
     self.assertCountEqual(provider.get_groups('@group2'), [])
Beispiel #11
0
 def test_known_group_when_not_exists(self):
     provider = PreconfiguredGroupProvider({'group1': ['@group2', 'user2']})
     self.assertCountEqual(
         provider.get_groups('user1', known_groups=['group3']), [])
Beispiel #12
0
 def test_single_user_in_single_group_ignore_case(self):
     provider = PreconfiguredGroupProvider({'group1': ['USER1']})
     self.assertCountEqual(provider.get_groups('User1'), ['group1'])
 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_user_in_multiple_groups(self):
     provider = PreconfiguredGroupProvider({'group1': ['user1'], 'group2': ['user1'], 'group3': ['user1']})
     self.assertCountEqual(provider.get_groups('user1'), ['group1', 'group2', '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'])