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
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])
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)
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)
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
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()
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' } }
def test_contentfield_present(self): try: mi = GoodMockSearchIndex(MockModel, backend=MockSearchBackend()) except: self.fail()
def test_too_many_contentfields_present(self): self.assertRaises(SearchFieldError, BadSearchIndex2, MockModel, MockSearchBackend())
def test_no_contentfield_present(self): self.assertRaises(SearchFieldError, BadSearchIndex1, MockModel, MockSearchBackend())