def __init__(self, request, separate_replies=False, stats=None, _replies_limit=200): self.es = request.es self.separate_replies = separate_replies self.stats = stats self._replies_limit = _replies_limit # Order matters! The KeyValueMatcher must be run last, # after all other modifiers have popped off the params. self._modifiers = [ query.Sorter(), query.Limiter(), query.DeletedFilter(), query.AuthFilter(request), query.GroupFilter(), query.GroupAuthFilter(request), query.UserFilter(), query.NipsaFilter(request), query.AnyMatcher(), query.TagsMatcher(), query.KeyValueMatcher() ] self._aggregations = []
def test_call_passes_group_service(self, pyramid_request, nipsa_filter, group_service): f = query.NipsaFilter(pyramid_request) f({}) nipsa_filter.assert_called_once_with(group_service, mock.ANY)
def test_shows_banned_users_annotations_to_banned_user( self, pyramid_request, search, banned_user, user, Annotation): pyramid_request.user = banned_user search.append_filter(query.NipsaFilter(pyramid_request)) expected_ids = [Annotation(userid=banned_user.userid).id] result = search.run({}) assert sorted(result.annotation_ids) == sorted(expected_ids)
def test_hides_banned_users_annotations_from_other_users( self, pyramid_request, search, banned_user, user, Annotation): pyramid_request.user = user search.append_modifier(query.NipsaFilter(pyramid_request)) Annotation(userid=banned_user.userid) expected_ids = [Annotation(userid=user.userid).id] result = search.run(webob.multidict.MultiDict({})) assert sorted(result.annotation_ids) == sorted(expected_ids)
def _default_querybuilder(request, es): builder = query.Builder(es_version=es.version) builder.append_filter(query.DeletedFilter()) builder.append_filter(query.AuthFilter(request)) builder.append_filter(query.UriFilter(request)) builder.append_filter(query.GroupFilter()) builder.append_filter(query.GroupAuthFilter(request)) builder.append_filter(query.UserFilter()) builder.append_filter(query.NipsaFilter(request)) builder.append_matcher(query.AnyMatcher()) builder.append_matcher(query.TagsMatcher()) return builder
def test_shows_banned_users_annotations_in_groups_they_created( self, pyramid_request, search, banned_user, user, Annotation, group_service, ): pyramid_request.user = user group_service.groupids_created_by.return_value = ["created_by_banneduser"] search.append_filter(query.NipsaFilter(pyramid_request)) expected_ids = [Annotation(groupid="created_by_banneduser", userid=banned_user.userid).id] result = search.run({}) assert sorted(result.annotation_ids) == sorted(expected_ids)
def test_call_passes_request_user(self, pyramid_request, nipsa_filter): f = query.NipsaFilter(pyramid_request) f({}) nipsa_filter.assert_called_once_with(mock.ANY, pyramid_request.user)
def test_call_returns_nipsa_filter(self, pyramid_request, nipsa_filter): f = query.NipsaFilter(pyramid_request) assert f({}) == nipsa_filter.return_value
def search(self, search, pyramid_request): search.append_filter(query.NipsaFilter(pyramid_request)) return search