コード例 #1
0
 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()
コード例 #2
0
    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)
コード例 #3
0
    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()
コード例 #4
0
    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)
コード例 #5
0
    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)
コード例 #6
0
 def test_get_es_doc(self):
     token = Token(name="token")
     self.assertIsNone(token.get_es_doc())
     token.save()
     self.assertIsNotNone(token.get_es_doc())
コード例 #7
0
 def test_get_indexable_queryset(self):
     self.assertEqual(
         str(Token.get_indexable_queryset().query),
         str(Token.objects.all().query)
     )
コード例 #8
0
    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)