Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
 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
Ejemplo n.º 4
0
    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