def test_stored_fields(self): # Stow. old_unified_index = connections['default']._index ui = UnifiedIndex() ui.build(indexes=[]) connections['default']._index = ui # Without registering, we should receive an empty dict. self.assertEqual(self.no_data_sr.get_stored_fields(), {}) self.assertEqual(self.extra_data_sr.get_stored_fields(), {}) self.assertEqual(self.no_overwrite_data_sr.get_stored_fields(), {}) from haystack import indexes class TestSearchIndex(indexes.SearchIndex, indexes.Indexable): stored = indexes.CharField(model_attr='author', document=True) def get_model(self): return MockModel # Include the index & try again. ui.document_field = 'stored' ui.build(indexes=[TestSearchIndex()]) self.assertEqual(self.no_data_sr.get_stored_fields(), {'stored': None}) self.assertEqual(self.extra_data_sr.get_stored_fields(), {'stored': 'I am stored data. How fun.'}) self.assertEqual(self.no_overwrite_data_sr.get_stored_fields(), {'stored': 'I am stored data. How fun.'}) # Restore. connections['default']._index = old_unified_index
def test_read_queryset(self): # The model is flagged deleted so not returned by the default manager. deleted1 = SearchResult('core', 'afifthmockmodel', 2, 2) self.assertEqual(deleted1.object, None) # Stow. old_unified_index = connections['default']._index ui = UnifiedIndex() ui.document_field = 'author' ui.build(indexes=[ReadQuerySetTestSearchIndex()]) connections['default']._index = ui # The soft delete manager returns the object. deleted2 = SearchResult('core', 'afifthmockmodel', 2, 2) self.assertNotEqual(deleted2.object, None) self.assertEqual(deleted2.object.author, 'sam2') # Restore. connections['default']._index = old_unified_index
def test_read_queryset(self): # The model is flagged deleted so not returned by the default manager. deleted1 = SearchResult("core", "afifthmockmodel", 2, 2) self.assertEqual(deleted1.object, None) # Stow. old_unified_index = connections["default"]._index ui = UnifiedIndex() ui.document_field = "author" ui.build(indexes=[ReadQuerySetTestSearchIndex()]) connections["default"]._index = ui # The soft delete manager returns the object. deleted2 = SearchResult("core", "afifthmockmodel", 2, 2) self.assertNotEqual(deleted2.object, None) self.assertEqual(deleted2.object.author, "sam2") # Restore. connections["default"]._index = old_unified_index