示例#1
0
文件: core.py 项目: kael/h
 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 = []
示例#2
0
    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)
示例#3
0
    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)
示例#4
0
    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)
示例#5
0
文件: core.py 项目: afrilya53/h
 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
示例#6
0
    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)
示例#7
0
    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)
示例#8
0
    def test_call_returns_nipsa_filter(self, pyramid_request, nipsa_filter):
        f = query.NipsaFilter(pyramid_request)

        assert f({}) == nipsa_filter.return_value
示例#9
0
 def search(self, search, pyramid_request):
     search.append_filter(query.NipsaFilter(pyramid_request))
     return search