Exemplo n.º 1
0
 def __init__(
     self,
     request,
     separate_replies=False,
     separate_wildcard_uri_keys=True,
     _replies_limit=200,
 ):
     self.es = request.es
     self.separate_replies = separate_replies
     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.HiddenFilter(request),
         query.AnyMatcher(),
         query.TagsMatcher(),
         query.UriCombinedWildcardFilter(
             request, separate_keys=separate_wildcard_uri_keys
         ),
         query.KeyValueMatcher(),
     ]
     self._aggregations = []
Exemplo n.º 2
0
 def test_visibility_of_moderated_and_nipsaed_annotations(
     self,
     index,
     Annotation,
     pyramid_request,
     search,
     user,
     AnnotationSearchIndexPresenter,
     nipsa,
     hidden,
     should_show_annotation,
 ):
     pyramid_request.user = user
     search.append_modifier(query.HiddenFilter(pyramid_request))
     presenter = AnnotationSearchIndexPresenter.return_value
     presenter.asdict.return_value = {
         "id": "ann1",
         "hidden": hidden,
         "nipsa": nipsa
     }
     Annotation(id="ann1")
     presenter.asdict.return_value = {
         "id": "ann2",
         "hidden": False,
         "nipsa": False
     }
     Annotation(id="ann2", userid=user.userid)
     expected_ids = ["ann2"]
     if should_show_annotation:
         expected_ids.append("ann1")
     result = search.run({})
     assert sorted(result.annotation_ids) == sorted(expected_ids)
Exemplo n.º 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_modifier(query.HiddenFilter(pyramid_request))
        expected_ids = [Annotation(userid=banned_user.userid).id]

        result = search.run(webob.multidict.MultiDict({}))

        assert sorted(result.annotation_ids) == sorted(expected_ids)
Exemplo n.º 4
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_modifier(query.HiddenFilter(pyramid_request))
        expected_ids = [
            Annotation(groupid="created_by_banneduser", userid=banned_user.userid).id
        ]

        result = search.run(webob.multidict.MultiDict({}))

        assert sorted(result.annotation_ids) == sorted(expected_ids)
Exemplo n.º 5
0
 def test_visibility_of_moderated_and_nipsaed_annotations(
     self, index, Annotation, pyramid_request, search, user,
     AnnotationSearchIndexPresenter, nipsa, hidden, should_show_annotation
 ):
     pyramid_request.user = user
     search.append_modifier(query.HiddenFilter(pyramid_request))
     presenter = AnnotationSearchIndexPresenter.return_value
     presenter.asdict.return_value = {'id': 'ann1',
                                      'hidden': hidden,
                                      'nipsa': nipsa}
     Annotation(id='ann1')
     presenter.asdict.return_value = {'id': 'ann2',
                                      'hidden': False,
                                      'nipsa': False}
     Annotation(id='ann2', userid=user.userid)
     expected_ids = ['ann2']
     if should_show_annotation:
         expected_ids.append('ann1')
     result = search.run({})
     assert sorted(result.annotation_ids) == sorted(expected_ids)
Exemplo n.º 6
0
Arquivo: core.py Projeto: ghurson/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.
     if request.feature('replace_nipsa_with_hidden_filter'):
         self._modifiers = [
             query.Sorter(),
             query.Limiter(),
             query.DeletedFilter(),
             query.AuthFilter(request),
             query.GroupFilter(),
             query.GroupAuthFilter(request),
             query.UserFilter(),
             query.HiddenFilter(request),
             query.AnyMatcher(),
             query.TagsMatcher(),
             query.KeyValueMatcher()
         ]
     else:
         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 = []
Exemplo n.º 7
0
    def search(self, search, pyramid_request):
        # This filter is the code under test
        search.append_modifier(query.HiddenFilter(pyramid_request))

        return search