Ejemplo n.º 1
0
    def test_delete_model(self):
        doc = Document.objects.create(title="test")
        index.add_or_update_document(doc)
        self.assertIsNotNone(self.get_document_from_index(doc))

        self.doc_admin.delete_model(None, doc)

        self.assertRaises(Document.DoesNotExist,
                          Document.objects.get,
                          id=doc.id)
        self.assertIsNone(self.get_document_from_index(doc))
Ejemplo n.º 2
0
    def test_delete_queryset(self):
        docs = []
        for i in range(42):
            doc = Document.objects.create(
                title="Many documents with the same title", checksum=f"{i:02}")
            docs.append(doc)
            index.add_or_update_document(doc)

        self.assertEqual(Document.objects.count(), 42)

        for doc in docs:
            self.assertIsNotNone(self.get_document_from_index(doc))

        self.doc_admin.delete_queryset(None, Document.objects.all())

        self.assertEqual(Document.objects.count(), 0)

        for doc in docs:
            self.assertIsNone(self.get_document_from_index(doc))
Ejemplo n.º 3
0
    def test_auto_complete(self):

        doc1 = Document.objects.create(title="doc1",
                                       checksum="A",
                                       content="test test2 test3")
        doc2 = Document.objects.create(title="doc2",
                                       checksum="B",
                                       content="test test2")
        doc3 = Document.objects.create(title="doc3",
                                       checksum="C",
                                       content="test2")

        index.add_or_update_document(doc1)
        index.add_or_update_document(doc2)
        index.add_or_update_document(doc3)

        ix = index.open_index()

        self.assertListEqual(index.autocomplete(ix, "tes"),
                             [b"test3", b"test", b"test2"])
        self.assertListEqual(index.autocomplete(ix, "tes", limit=3),
                             [b"test3", b"test", b"test2"])
        self.assertListEqual(index.autocomplete(ix, "tes", limit=1),
                             [b"test3"])
        self.assertListEqual(index.autocomplete(ix, "tes", limit=0), [])
Ejemplo n.º 4
0
 def update(self, request, *args, **kwargs):
     response = super(DocumentViewSet, self).update(request, *args,
                                                    **kwargs)
     from documents import index
     index.add_or_update_document(self.get_object())
     return response
Ejemplo n.º 5
0
 def save_model(self, request, obj, form, change):
     from documents import index
     index.add_or_update_document(obj)
     super(DocumentAdmin, self).save_model(request, obj, form, change)
Ejemplo n.º 6
0
def add_to_index(sender, document, **kwargs):
    from documents import index

    index.add_or_update_document(document)