def test_get_group_queryset_admin(self): """Test get_group_queryset as an admin.""" self._create_groups() user = Mock(spec=User, admin=True) req = Mock(user=user, query_params={}) queryset = get_group_queryset(req) self.assertEquals(queryset.count(), 5)
def test_get_group_queryset_get_some(self): """Test get_group_queryset as a user with one group access.""" self._create_groups() access = { 'group': { 'read': [Group.objects.first().uuid] } } user = Mock(spec=User, admin=False, access=access) req = Mock(user=user, method='GET', query_params={}) queryset = get_group_queryset(req) self.assertEquals(queryset.count(), 1)
def test_get_group_queryset_get_all(self): """Test get_group_queryset as a user with all access.""" self._create_groups() access = { 'group': { 'read': ['*'] } } user = Mock(spec=User, admin=False, access=access) req = Mock(user=user, method='GET', query_params={}) queryset = get_group_queryset(req) self.assertEquals(queryset.count(), 5)
def test_get_group_queryset_put_none(self): """Test get_group_queryset as a user with no access.""" self._create_groups() access = { 'group': { 'write': [] } } user = Mock(spec=User, admin=False, access=access) req = Mock(user=user, method='PUT', query_params={}) queryset = get_group_queryset(req) self.assertEquals(queryset.count(), 0)
def test_get_user_group_queryset_admin(self): """Test get_group_queryset as an admin.""" self._create_groups() principal = Principal.objects.create(username="******") group = Group.objects.first() group.principals.add(principal) user = Mock(spec=User, admin=True, account="00001", username="******") req = Mock(user=user, query_params={"username": "******"}) queryset = get_group_queryset(req) self.assertEquals(queryset.count(), 1)
def test_get_group_queryset_get_users_own_groups(self): """Test get_group_queryset to get a users own groups.""" self._create_groups() principal = Principal.objects.create(username="******") group = Group.objects.first() group.principals.add(principal) user = Mock(spec=User, admin=False, account="00001", username="******") req = Mock(user=user, method="GET", query_params={"username": "******"}, path=reverse("group-list")) queryset = get_group_queryset(req) self.assertEquals(queryset.count(), 1)
def test_get_group_queryset_get_users_own_groups(self): """Test get_group_queryset to get a users own groups.""" self._create_groups() principal = Principal.objects.create(username='******') group = Group.objects.first() group.principals.add(principal) user = Mock(spec=User, admin=False, account='00001', username='******') req = Mock(user=user, method='GET', query_params={'username': '******'}, path=reverse('group-list')) queryset = get_group_queryset(req) self.assertEquals(queryset.count(), 1)
def test_get_group_queryset_get_users_other_users_groups(self): """Test get_group_queryset to get a users other users groups.""" self._create_groups() principal = Principal.objects.create(username='******') group = Group.objects.first() group.principals.add(principal) identity_header = { 'decoded': { 'identity': { 'user': { 'username': '******' } } } } user = Mock(spec=User, admin=False, identity_header=identity_header) req = Mock(user=user, method='GET', query_params={'username': '******'}) queryset = get_group_queryset(req) self.assertEquals(queryset.count(), 0)
def get_queryset(self): """Obtain queryset for requesting user based on access.""" return get_group_queryset(self.request)