Esempio n. 1
0
 def testCanOverridePublication(self):
     # Unpublish two objects.
     with watson.update_index():
         self.test11.is_published = False
         self.test11.save()
     # This should still return 4, since we're overriding the publication.
     self.assertEqual(watson.search("tItle Content Description", models=(WatsonTestModel2, WatsonTestModel1._base_manager.all(),)).count(), 4)
Esempio n. 2
0
 def testSearchEmailParts(self):
     with watson.update_index():
         self.test11.content = "*****@*****.**"
         self.test11.save()
     self.assertEqual(watson.search("fooo").count(), 1)
     self.assertEqual(watson.search("baar.com").count(), 1)
     self.assertEqual(watson.search("*****@*****.**").count(), 1)
Esempio n. 3
0
 def testNestedUpdateInSkipContext(self):
     with watson.skip_index_update():
         self.test21.title = "baar"
         self.test21.save()
         with watson.update_index():
             self.test11.title = "fooo"
             self.test11.save()
     # We should get "fooo", but not "baar"
     self.assertEqual(watson.search("fooo").count(), 1)
     self.assertEqual(watson.search("baar").count(), 0)
Esempio n. 4
0
 def testSearchIndexUpdateAbandonedOnError(self):
     try:
         with watson.update_index():
             self.test11.title = "fooo"
             self.test11.save()
             raise Exception("Foo")
     except:
         pass
     # Test a search that should get not model.
     self.assertEqual(watson.search("fooo").count(), 0)
Esempio n. 5
0
 def testSearchIndexUpdateAbandonedOnError(self):
     try:
         with watson.update_index():
             self.test11.title = "fooo"
             self.test11.save()
             raise Exception("Foo")
     except:
         pass
     # Test a search that should get not model.
     self.assertEqual(watson.search("fooo").count(), 0)
Esempio n. 6
0
 def testNestedUpdateInSkipContext(self):
     with watson.skip_index_update():
         self.test21.title = "baar"
         self.test21.save()
         with watson.update_index():
             self.test11.title = "fooo"
             self.test11.save()
     # We should get "fooo", but not "baar"
     self.assertEqual(watson.search("fooo").count(), 1)
     self.assertEqual(watson.search("baar").count(), 0)
Esempio n. 7
0
 def testUnpublishedModelsNotFound(self):
     # Make sure that there are four to find!
     self.assertEqual(watson.search("tItle Content Description").count(), 4)
     # Unpublish two objects.
     with watson.update_index():
         self.test11.is_published = False
         self.test11.save()
         self.test21.is_published = False
         self.test21.save()
     # This should return 4, but two of them are unpublished.
     self.assertEqual(watson.search("tItle Content Description").count(), 2)
Esempio n. 8
0
 def testUpdateSearchIndex(self):
     # Update a model and make sure that the search results match.
     with watson.update_index():
         self.test11.title = "fooo"
         self.test11.save()
     # Test a search that should get one model.
     exact_search = watson.search("fooo")
     self.assertEqual(len(exact_search), 1)
     self.assertEqual(exact_search[0].title, "fooo")
     # Delete a model and make sure that the search results match.
     self.test11.delete()
     self.assertEqual(watson.search("fooo").count(), 0)
Esempio n. 9
0
 def testSearchIndexUpdateDeferredByContext(self):
     with watson.update_index():
         self.test11.title = "fooo"
         self.test11.save()
         self.assertEqual(watson.search("fooo").count(), 0)
     self.assertEqual(watson.search("fooo").count(), 1)
Esempio n. 10
0
 def testSearchIndexUpdateDeferredByContext(self):
     with watson.update_index():
         self.test11.title = "fooo"
         self.test11.save()
         self.assertEqual(watson.search("fooo").count(), 0)
     self.assertEqual(watson.search("fooo").count(), 1)
Esempio n. 11
0
def create_project(form, request):
    if form.is_valid():
        Project.objects.create(project_name=form.cleaned_data['project_name'],
                               project_user=request.user)
        watson.update_index()