Ejemplo n.º 1
0
 def test_log_query(self):
     backends.reset_search_queries()
     self.assertEqual(len(backends.queries), 0)
     
     # Stow.
     old_site = haystack.site
     old_debug = settings.DEBUG
     test_site = SearchSite()
     test_site.register(MockModel)
     haystack.site = test_site
     settings.DEBUG = False
     
     msq = MockSearchQuery(backend=MockSearchBackend())
     self.assertEqual(len(msq.get_results()), 100)
     self.assertEqual(len(backends.queries), 0)
     
     settings.DEBUG = True
     # Redefine it to clear out the cached results.
     msq2 = MockSearchQuery(backend=MockSearchBackend())
     self.assertEqual(len(msq2.get_results()), 100)
     self.assertEqual(len(backends.queries), 1)
     self.assertEqual(backends.queries[0]['query_string'], '')
     
     msq3 = MockSearchQuery(backend=MockSearchBackend())
     msq3.add_filter(SQ(foo='bar'))
     len(msq3.get_results())
     self.assertEqual(len(backends.queries), 2)
     self.assertEqual(backends.queries[0]['query_string'], '')
     self.assertEqual(backends.queries[1]['query_string'], '')
     
     # Restore.
     haystack.site = old_site
     settings.DEBUG = old_debug
Ejemplo n.º 2
0
 def test_more_like_this(self):
     mock = MockModel()
     mock.id = 1
     msq = MockSearchQuery(backend=MockSearchBackend())
     msq.more_like_this(mock)
     
     self.assertEqual(msq.get_count(), 100)
     self.assertEqual(msq.get_results()[0], MOCK_SEARCH_RESULTS[0])
Ejemplo n.º 3
0
 def setUp(self):
     super(ModelSearchIndexTestCase, self).setUp()
     self.msb = MockSearchBackend()
     self.bmsi = BasicModelSearchIndex(MockModel, backend=self.msb)
     self.fmsi = FieldsModelSearchIndex(MockModel, backend=self.msb)
     self.emsi = ExcludesModelSearchIndex(MockModel, backend=self.msb)
     self.fwomsi = FieldsWithOverrideModelSearchIndex(MockModel,
                                                      backend=self.msb)
     self.yabmsi = YetAnotherBasicModelSearchIndex(AThirdMockModel,
                                                   backend=self.msb)
Ejemplo n.º 4
0
    def test_more_like_this(self):
        mock = MockModel()
        mock.id = 1
        msq = MockSearchQuery()
        msq.backend = MockSearchBackend('mlt')
        ui = connections['default'].get_unified_index()
        bmmsi = BasicMockModelSearchIndex()
        ui.build(indexes=[bmmsi])
        bmmsi.update()
        msq.more_like_this(mock)

        self.assertEqual(msq.get_count(), 23)
        self.assertEqual(int(msq.get_results()[0].pk), MOCK_SEARCH_RESULTS[0].pk)
Ejemplo n.º 5
0
 def test_run(self):
     # Stow.
     old_site = haystack.site
     test_site = SearchSite()
     test_site.register(MockModel)
     haystack.site = test_site
     
     msq = MockSearchQuery(backend=MockSearchBackend())
     self.assertEqual(len(msq.get_results()), 100)
     self.assertEqual(msq.get_results()[0], MOCK_SEARCH_RESULTS[0])
     
     # Restore.
     haystack.site = old_site
Ejemplo n.º 6
0
 def setUp(self):
     super(PickleSearchQuerySetTestCase, self).setUp()
     self.bsqs = SearchQuerySet(query=DummySearchQuery(backend=DummySearchBackend()))
     self.msqs = SearchQuerySet(query=MockSearchQuery(backend=MockSearchBackend()))
     self.mmsqs = SearchQuerySet(query=MockSearchQuery(backend=MixedMockSearchBackend()))
     
     # Stow.
     self.old_debug = settings.DEBUG
     settings.DEBUG = True
     self.old_site = haystack.site
     test_site = SearchSite()
     test_site.register(MockModel)
     test_site.register(CharPKMockModel)
     haystack.site = test_site
     
     backends.reset_search_queries()
Ejemplo n.º 7
0
 def setUp(self):
     super(SearchIndexTestCase, self).setUp()
     self.msb = MockSearchBackend()
     self.mi = GoodMockSearchIndex(MockModel, backend=self.msb)
     self.cmi = GoodCustomMockSearchIndex(MockModel, backend=self.msb)
     self.cnmi = GoodNullableMockSearchIndex(MockModel, backend=self.msb)
     self.gfmsi = GoodFacetedMockSearchIndex(MockModel, backend=self.msb)
     self.sample_docs = {
         u'core.mockmodel.1': {
             'content': u'Indexed!\n1',
             'django_id': u'1',
             'django_ct': u'core.mockmodel',
             'extra': u'Stored!\n1',
             'author': u'daniel1',
             'pub_date': datetime.datetime(2009, 3, 17, 6, 0),
             'id': u'core.mockmodel.1'
         },
         u'core.mockmodel.2': {
             'content': u'Indexed!\n2',
             'django_id': u'2',
             'django_ct': u'core.mockmodel',
             'extra': u'Stored!\n2',
             'author': u'daniel2',
             'pub_date': datetime.datetime(2009, 3, 17, 7, 0),
             'id': u'core.mockmodel.2'
         },
         u'core.mockmodel.3': {
             'content': u'Indexed!\n3',
             'django_id': u'3',
             'django_ct': u'core.mockmodel',
             'extra': u'Stored!\n3',
             'author': u'daniel3',
             'pub_date': datetime.datetime(2009, 3, 17, 8, 0),
             'id': u'core.mockmodel.3'
         }
     }
Ejemplo n.º 8
0
 def test_contentfield_present(self):
     try:
         mi = GoodMockSearchIndex(MockModel, backend=MockSearchBackend())
     except:
         self.fail()
Ejemplo n.º 9
0
 def test_too_many_contentfields_present(self):
     self.assertRaises(SearchFieldError, BadSearchIndex2, MockModel,
                       MockSearchBackend())
Ejemplo n.º 10
0
 def test_no_contentfield_present(self):
     self.assertRaises(SearchFieldError, BadSearchIndex1, MockModel,
                       MockSearchBackend())