コード例 #1
0
 def test_filter_empty(self):
     """Test filtering for empty query"""
     portal = self.layer['portal']
     req = test_request()
     # Search.filter_query() will get SearchableText from form if not
     # passed in explicit query argument:
     req.form['SearchableText'] = 'spam'
     view = getMultiAdapter((portal, req), name=u'search')
     res = view.results(batch=False)
     self.failUnless('my-page1' in [r.getId() for r in res],
                     'Test document is not found in the results.')
     # filter_query() will return None on invalid query (no real indexes):
     req = test_request()
     req.form['garbanzo'] = 'chickpea'  # just noise, no index for this
     view = getMultiAdapter((portal, req), name=u'search')
     self.assertIsNone(view.filter_query({'b_start':0, 'b_size':10}))
     # resulting empty query, ergo no search performed, empty result:
     self.assertFalse(view.results(batch=False))
     # filter_query() succeeds if 1+ real index name added to request:
     req.form['portal_type'] = 'Document'
     self.assertIsNotNone(view.filter_query({'b_start':0, 'b_size':10}))
     res = view.results(batch=False)
     self.failUnless('my-page1' in [r.getId() for r in res],
                     'Test document is not found in the results.')
     # filter_query() also succeeds if 1+ real index name is in the original query:
     req = test_request()
     view = getMultiAdapter((portal, req), name=u'search')
     query = {'portal_type': 'Document'}
     self.assertEqual(view.filter_query(query), query)
     res = view.results(query)
     self.failUnless('my-page1' in [r.getId() for r in res],
                     'Test document is not found in the results.')
コード例 #2
0
 def test_filter_empty(self):
     """Test filtering for empty query"""
     portal = self.layer['portal']
     req = test_request()
     # Search.filter_query() will get SearchableText from form if not
     # passed in explicit query argument:
     req.form['SearchableText'] = 'spam'
     view = getMultiAdapter((portal, req), name=u'search')
     res = view.results(batch=False)
     result_ids = [r.getId() for r in res]
     self.failUnless(
         'my-page1' in result_ids,
         'Test document is not found in the results: %r.' % result_ids)
     # filter_query() will return None on invalid query (no real indexes):
     req = test_request()
     req.form['garbanzo'] = 'chickpea'  # just noise, no index for this
     view = getMultiAdapter((portal, req), name=u'search')
     self.assertIsNone(view.filter_query({'b_start': 0, 'b_size': 10}))
     # resulting empty query, ergo no search performed, empty result:
     self.assertFalse(view.results(batch=False))
     # filter_query() succeeds if 1+ real index name added to request:
     req.form['portal_type'] = 'Document'
     self.assertIsNotNone(view.filter_query({'b_start': 0, 'b_size': 10}))
     res = view.results(batch=False)
     result_ids = [r.getId() for r in res]
     self.failUnless(
         'my-page1' in result_ids,
         'Test document is not found in the results: %r.' % result_ids)
     # filter_query() also succeeds if 1+ real index name is in the original query:
     req = test_request()
     view = getMultiAdapter((portal, req), name=u'search')
     query = {'portal_type': 'Document'}
     self.assertEqual(view.filter_query(query), query)
     res = view.results(query, batch=False)
     result_ids = [r.getId() for r in res]
     self.failUnless(
         'my-page1' in result_ids,
         'Test document is not found in the results: %r' % result_ids)
コード例 #3
0
 def test_filter_with_plone3_query(self):
     """Filter should ignore obsolete query parameters, not error. """
     portal = self.layer['portal']
     req = test_request()
     # Search.filter_query() will get SearchableText from form if not
     # passed in explicit query argument:
     req.form['SearchableText'] = 'jobs'
     req.form['Title'] = 'Human resource'
     req.form['Description'] = ''
     req.form['created'] = [DateTime('1970/02/01 00:00:00 GMT+0')]
     req.form['created_usage'] = 'range:min'
     req.form['submit'] = 'Search'
     view = getMultiAdapter((portal, req), name=u'search')
     res = view.results(batch=False)
     self.assertEqual([], [r for r in res])
コード例 #4
0
 def test_filter_with_plone3_query(self):
     """Filter should ignore obsolete query parameters, not error. """
     portal = self.layer['portal']
     req = test_request()
     # Search.filter_query() will get SearchableText from form if not
     # passed in explicit query argument:
     req.form['SearchableText'] = 'jobs'
     req.form['Title'] = 'Human resource'
     req.form['Description'] = ''
     req.form['created'] = [DateTime('1970/02/01 00:00:00 GMT+0')]
     req.form['created_usage'] = 'range:min'
     req.form['submit'] = 'Search'
     view = getMultiAdapter((portal, req), name=u'search')
     res = view.results(batch=False)
     self.assertEqual([], [r for r in res])