def setUp(self): # If migrations are off, then this is needed to get the indices installed. It has to # be called in the setUp() method, but multiple invocations should be safe. call_command("installwatson", verbosity=0) # Remove all the current registered models. self.registered_models = watson.get_registered_models() for model in self.registered_models: watson.unregister(model) # Register the test models. watson.register(self.model1) watson.register(self.model2, exclude=("id",)) complex_registration_search_engine.register(WatsonTestModel1, exclude=("content", "description",), store=("is_published",)) complex_registration_search_engine.register(WatsonTestModel2, fields=("title",)) # Create some test models. self.test11 = WatsonTestModel1.objects.create( title = "title model1 instance11", content = "content model1 instance11", description = "description model1 instance11", ) self.test12 = WatsonTestModel1.objects.create( title = "title model1 instance12", content = "content model1 instance12", description = "description model1 instance12", ) self.test21 = WatsonTestModel2.objects.create( title = "title model2 instance21", content = "content model2 instance21", description = "description model2 instance21", ) self.test22 = WatsonTestModel2.objects.create( title = "title model2 instance22", content = "content model2 instance22", description = "description model2 instance22", )
def ready(self): User = django.contrib.auth.get_user_model() if watson.is_registered(User): watson.unregister(User) watson.register(User, UserSearchAdapter, fields=('id', 'email', 'name', 'mdc', 'phone', 'group_str', 'owns', 'orgs'))
def testRegistration(self): # Register the model and test. watson.register(WatsonTestModel1) self.assertTrue(watson.is_registered(WatsonTestModel1)) self.assertRaises(watson.RegistrationError, lambda: watson.register(WatsonTestModel1)) self.assertTrue(WatsonTestModel1 in watson.get_registered_models()) self.assertTrue(isinstance(watson.get_adapter(WatsonTestModel1), watson.SearchAdapter)) # Unregister the model and text. watson.unregister(WatsonTestModel1) self.assertFalse(watson.is_registered(WatsonTestModel1)) self.assertRaises(watson.RegistrationError, lambda: watson.unregister(WatsonTestModel1)) self.assertTrue(WatsonTestModel1 not in watson.get_registered_models()) self.assertRaises(watson.RegistrationError, lambda: isinstance(watson.get_adapter(WatsonTestModel1)))
def setUp(self): # If migrations are off, then this is needed to get the indices installed. It has to # be called in the setUp() method, but multiple invocations should be safe. call_command("installwatson", verbosity=0) # Remove all the current registered models. self.registered_models = watson.get_registered_models() for model in self.registered_models: watson.unregister(model) # Register the test models. watson.register(self.model1) watson.register(self.model2, exclude=("id",)) watson.register(self.model3, exclude=("id",)) complex_registration_search_engine.register( WatsonTestModel1, exclude=("content", "description",), store=("is_published",) ) complex_registration_search_engine.register( WatsonTestModel2, fields=("title",) ) # Create some test models. self.test11 = WatsonTestModel1.objects.create( title="title model1 instance11", content="content model1 instance11", description="description model1 instance11", ) self.test12 = WatsonTestModel1.objects.create( title="title model1 instance12", content="content model1 instance12", description="description model1 instance12", ) self.test21 = WatsonTestModel2.objects.create( title="title model2 instance21", content="content model2 instance21", description="description model2 instance21", ) self.test22 = WatsonTestModel2.objects.create( title="title model2 instance22", content="content model2 instance22", description="description model2 instance22", ) self.test31 = WatsonTestModel3.objects.create( title="title model3 instance31", content="content model3 instance31", description="description model3 instance31", ) self.test32 = WatsonTestModel3.objects.create( title="title model3 instance32", content="content model3 instance32", description="description model3 instance32", )
def tearDown(self): # Re-register the old registered models. for model in self.registered_models: watson.register(model) # Unregister the test models. watson.unregister(self.model1) watson.unregister(self.model2) complex_registration_search_engine.unregister(WatsonTestModel1) complex_registration_search_engine.unregister(WatsonTestModel2) # Delete the test models. WatsonTestModel1.objects.all().delete() WatsonTestModel2.objects.all().delete() del self.test11 del self.test12 del self.test21 del self.test22 # Delete the search index. SearchEntry.objects.all().delete()