def setUp(self): super(TestMixins, self).setUp() self.doc_type = Token.get_es_doc_type() self.index = Index(self.doc_type._doc_type.index) self.index.doc_type(self.doc_type) self.index.create() self.refresh()
def test_es_create_documents(self): # Index name required. with self.assertRaises(SystemExit): call_command('es_create_documents') # index_name not in settings. with self.assertRaises(SystemExit): call_command('es_create_documents', index_name='barfoo') # Index doesn't exist. with self.assertRaises(SystemExit): call_command('es_create_documents', index_name='foobar') index = Index('foobar') doc_type = Token.get_es_doc_type() index.doc_type(doc_type) index.create() self.refresh() token = Token.objects.create(name="token") token.es_delete() token_not_indexable = Token.objects.create(name="not_indexable") # Dry run. call_command('es_create_documents', index_name='foobar', dry_run=True) self.assertDocDoesntExist(token) self.assertDocDoesntExist(token_not_indexable) call_command('es_create_documents', index_name='foobar') self.assertDocExists(token) self.assertDocDoesntExist(token_not_indexable)
def setUp(self): super(TestPaginator, self).setUp() self.doc_type = Token.get_es_doc_type() self.index = Index(self.doc_type._doc_type.index) self.index.doc_type(self.doc_type) self.index.create() self.refresh() for i in range(3): Token.objects.create(name='token {0}'.format(i)) self.refresh()
def test_es_create_documents(self): # Index name required. with self.assertRaises(SystemExit): call_command('es_create_documents') # index_name not in settings. with self.assertRaises(SystemExit): call_command( 'es_create_documents', index_name='barfoo' ) # Index doesn't exist. with self.assertRaises(SystemExit): call_command( 'es_create_documents', index_name='foobar' ) index = Index('foobar') doc_type = Token.get_es_doc_type() index.doc_type(doc_type) index.create() self.refresh() # Disable auto indexing while creating objects. settings.TRAMPOLINE['OPTIONS']['disabled'] = True token = Token.objects.create(name="token") token_not_indexable = Token.objects.create(name='not_indexable') token_raise_exception = Token.objects.create(name='raise_exception') settings.TRAMPOLINE['OPTIONS']['disabled'] = False # Dry run. call_command( 'es_create_documents', index_name='foobar', dry_run=True ) self.assertDocDoesntExist(token) self.assertDocDoesntExist(token_not_indexable) self.assertDocDoesntExist(token_raise_exception) call_command( 'es_create_documents', index_name='foobar', verbosity=3 ) self.assertDocExists(token) self.assertDocDoesntExist(token_not_indexable) self.assertDocDoesntExist(token_raise_exception)
def test_es_create_documents(self): # Index name required. with self.assertRaises(SystemExit): call_command('es_create_documents') # index_name not in settings. with self.assertRaises(SystemExit): call_command('es_create_documents', index_name='barfoo') # Index doesn't exist. with self.assertRaises(SystemExit): call_command('es_create_documents', index_name='foobar') index = Index('foobar') doc_type = Token.get_es_doc_type() index.doc_type(doc_type) index.create() self.refresh() # Disable auto indexing while creating objects. settings.TRAMPOLINE['OPTIONS']['disabled'] = True token = Token.objects.create(name="token") token_not_indexable = Token.objects.create(name='not_indexable') token_raise_exception = Token.objects.create(name='raise_exception') settings.TRAMPOLINE['OPTIONS']['disabled'] = False # Dry run. call_command('es_create_documents', index_name='foobar', dry_run=True) self.assertDocDoesntExist(token) self.assertDocDoesntExist(token_not_indexable) self.assertDocDoesntExist(token_raise_exception) call_command('es_create_documents', index_name='foobar', verbosity=3) self.assertDocExists(token) self.assertDocDoesntExist(token_not_indexable) self.assertDocDoesntExist(token_raise_exception)
def test_get_es_doc(self): token = Token(name="token") self.assertIsNone(token.get_es_doc()) token.save() self.assertIsNotNone(token.get_es_doc())
def test_get_indexable_queryset(self): self.assertEqual( str(Token.get_indexable_queryset().query), str(Token.objects.all().query) )
def test_save(self): token = Token(name='token') settings.TRAMPOLINE['OPTIONS']['disabled'] = True token.save() settings.TRAMPOLINE['OPTIONS']['disabled'] = False self.assertDocDoesntExist(token) token.save() doc = token.get_es_doc() self.assertEqual(doc.name, 'token') self.assertEqual(doc._id, str(token.pk)) # Update model and synchronise doc. token.name = 'kento' token.save() doc = token.get_es_doc() self.assertEqual(doc.name, 'kento') # Instance is not indexable. token = Token.objects.create(name='not_indexable') self.assertDocDoesntExist(token)