Example #1
0
    def test_migration_collections(self):
        provider = factories.CollectionProviderFactory()
        collection_one = factories.CollectionFactory(is_public=True, provider=provider)
        collection_two = factories.CollectionFactory(is_public=True, provider=provider)
        node = factories.NodeFactory(creator=self.user, title='Ali Bomaye', is_public=True)
        collection_one.collect_object(node, self.user)
        collection_two.collect_object(node, self.user)
        assert node.is_collected

        docs = query_collections('*')['results']
        assert len(docs) == 2

        docs = query_collections('Bomaye')['results']
        assert len(docs) == 2

        count_query = {}
        count_query['aggregations'] = {
            'counts': {
                'terms': {
                    'field': '_type',
                }
            }
        }

        migrate(delete=True, index=settings.ELASTIC_INDEX, app=self.app.app)

        docs = query_collections('*')['results']
        assert len(docs) == 2

        docs = query_collections('Bomaye')['results']
        assert len(docs) == 2

        res = self.es.search(index=settings.ELASTIC_INDEX, doc_type='collectionSubmission', search_type='count', body=count_query)
        assert res['hits']['total'] == 2
Example #2
0
 def test_first_migration_with_remove(self):
     migrate(delete=False,
             remove=True,
             index=settings.ELASTIC_INDEX,
             app=self.app.app)
     var = self.es.indices.get_aliases()
     assert_equal(var[settings.ELASTIC_INDEX + '_v1']['aliases'].keys()[0],
                  settings.ELASTIC_INDEX)
Example #3
0
    def test_multiple_migrations_no_delete(self):
        migrate(delete=False, index=settings.ELASTIC_INDEX)
        var = self.es.indices.get_aliases()
        assert_equal(var[settings.ELASTIC_INDEX + '_v1']['aliases'].keys()[0], settings.ELASTIC_INDEX)

        migrate(delete=False, index=settings.ELASTIC_INDEX)
        var = self.es.indices.get_aliases()
        assert_equal(var[settings.ELASTIC_INDEX + '_v2']['aliases'].keys()[0], settings.ELASTIC_INDEX)
Example #4
0
 def test_multiple_migrations_no_delete(self):
     for n in xrange(1, 21):
         migrate(delete=False, index=settings.ELASTIC_INDEX)
         var = self.es.indices.get_aliases()
         assert_equal(
             var[settings.ELASTIC_INDEX +
                 '_v{}'.format(n)]['aliases'].keys()[0],
             settings.ELASTIC_INDEX)
Example #5
0
    def test_multiple_migrations_no_delete(self):
        migrate(delete=False, index=settings.ELASTIC_INDEX)
        var = self.es.indices.get_aliases()
        assert_equal(var[settings.ELASTIC_INDEX + '_v1']['aliases'].keys()[0],
                     settings.ELASTIC_INDEX)

        migrate(delete=False, index=settings.ELASTIC_INDEX)
        var = self.es.indices.get_aliases()
        assert_equal(var[settings.ELASTIC_INDEX + '_v2']['aliases'].keys()[0],
                     settings.ELASTIC_INDEX)
    def test_multiple_migrations_with_delete(self):
        for n in xrange(1, 21, 2):
            migrate(delete=True, index=settings.ELASTIC_INDEX, app=self.app.app)
            var = self.es.indices.get_aliases()
            assert_equal(var[settings.ELASTIC_INDEX + '_v{}'.format(n)]['aliases'].keys()[0], settings.ELASTIC_INDEX)

            migrate(delete=True, index=settings.ELASTIC_INDEX, app=self.app.app)
            var = self.es.indices.get_aliases()
            assert_equal(var[settings.ELASTIC_INDEX + '_v{}'.format(n + 1)]['aliases'].keys()[0], settings.ELASTIC_INDEX)
            assert not var.get(settings.ELASTIC_INDEX + '_v{}'.format(n))
Example #7
0
    def test_multiple_migrations_with_delete(self):
        for n in xrange(1, 21, 2):
            migrate(delete=True, index=settings.ELASTIC_INDEX, app=self.app.app)
            var = self.es.indices.get_aliases()
            assert_equal(var[settings.ELASTIC_INDEX + '_v{}'.format(n)]['aliases'].keys()[0], settings.ELASTIC_INDEX)

            migrate(delete=True, index=settings.ELASTIC_INDEX, app=self.app.app)
            var = self.es.indices.get_aliases()
            assert_equal(var[settings.ELASTIC_INDEX + '_v{}'.format(n + 1)]['aliases'].keys()[0], settings.ELASTIC_INDEX)
            assert not var.get(settings.ELASTIC_INDEX + '_v{}'.format(n))
Example #8
0
def migrate_search(ctx, delete=True, remove=False, index=settings.ELASTIC_INDEX):
    """Migrate the search-enabled models."""
    from website.app import init_app
    init_app(routes=False, set_backends=False)
    from website.search_migration.migrate import migrate

    # NOTE: Silence the warning:
    # "InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised."
    SILENT_LOGGERS = ['py.warnings']
    for logger in SILENT_LOGGERS:
        logging.getLogger(logger).setLevel(logging.ERROR)

    migrate(delete, remove=remove, index=index)
Example #9
0
def migrate_search(ctx, delete=True, remove=False, index=settings.ELASTIC_INDEX):
    """Migrate the search-enabled models."""
    from website.app import init_app
    init_app(routes=False, set_backends=False)
    from website.search_migration.migrate import migrate

    # NOTE: Silence the warning:
    # "InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised."
    SILENT_LOGGERS = ['py.warnings']
    for logger in SILENT_LOGGERS:
        logging.getLogger(logger).setLevel(logging.ERROR)

    migrate(delete, remove=remove, index=index)
Example #10
0
    def test_migration_institutions(self):
        migrate(delete=True, index=settings.ELASTIC_INDEX, app=self.app.app)
        count_query = {}
        count_query['aggregations'] = {
            'counts': {
                'terms': {
                    'field': '_type',
                }
            }
        }
        institution_bucket_found = False
        res = self.es.search(index=settings.ELASTIC_INDEX, doc_type=None, search_type='count', body=count_query)
        for bucket in res['aggregations']['counts']['buckets']:
            if bucket['key'] == u'institution':
                institution_bucket_found = True

        assert_equal(institution_bucket_found, True)
Example #11
0
    def test_migration_institutions(self):
        migrate(delete=True, index=settings.ELASTIC_INDEX, app=self.app.app)
        count_query = {}
        count_query['aggregations'] = {
            'counts': {
                'terms': {
                    'field': '_type',
                }
            }
        }
        institution_bucket_found = False
        res = self.es.search(index=settings.ELASTIC_INDEX, doc_type=None, search_type='count', body=count_query)
        for bucket in res['aggregations']['counts']['buckets']:
            if bucket['key'] == u'institution':
                institution_bucket_found = True

        assert_equal(institution_bucket_found, True)
Example #12
0
    def test_migration_collections(self):
        provider = factories.CollectionProviderFactory()
        collection_one = factories.CollectionFactory(is_public=True,
                                                     provider=provider)
        collection_two = factories.CollectionFactory(is_public=True,
                                                     provider=provider)
        node = factories.NodeFactory(creator=self.user,
                                     title='Ali Bomaye',
                                     is_public=True)
        collection_one.collect_object(node, self.user)
        collection_two.collect_object(node, self.user)
        assert node.is_collected

        docs = query_collections('*')['results']
        assert len(docs) == 2

        docs = query_collections('Bomaye')['results']
        assert len(docs) == 2

        count_query = {}
        count_query['aggregations'] = {
            'counts': {
                'terms': {
                    'field': '_type',
                }
            }
        }

        migrate(delete=True, index=settings.ELASTIC_INDEX, app=self.app.app)

        docs = query_collections('*')['results']
        assert len(docs) == 2

        docs = query_collections('Bomaye')['results']
        assert len(docs) == 2

        res = self.es.search(index=settings.ELASTIC_INDEX,
                             doc_type='collectionSubmission',
                             search_type='count',
                             body=count_query)
        assert res['hits']['total'] == 2
Example #13
0
def migrate_search(delete=False, index=settings.ELASTIC_INDEX):
    """Migrate the search-enabled models."""
    from website.search_migration.migrate import migrate
    migrate(delete, index=index)
Example #14
0
def migrate_search(delete=False, index=settings.ELASTIC_INDEX):
    '''Migrate the search-enabled models.'''
    from website.search_migration.migrate import migrate
    migrate(delete, index=index)
Example #15
0
 def test_first_migration_with_delete(self):
     migrate(delete=True, index=settings.ELASTIC_INDEX, app=self.app.app)
     var = self.es.indices.get_aliases()
     assert_equal(var[settings.ELASTIC_INDEX + '_v1']['aliases'].keys()[0], settings.ELASTIC_INDEX)
Example #16
0
 def test_multiple_migrations_no_delete(self):
     for n in xrange(1, 21):
         migrate(delete=False, index=settings.ELASTIC_INDEX)
         var = self.es.indices.get_aliases()
         assert_equal(var[settings.ELASTIC_INDEX + "_v{}".format(n)]["aliases"].keys()[0], settings.ELASTIC_INDEX)
Example #17
0
 def test_first_migration_with_delete(self):
     migrate(delete=True, index=settings.ELASTIC_INDEX)
     var = self.es.indices.get_aliases()
     assert_equal(var[settings.ELASTIC_INDEX + "_v1"]["aliases"].keys()[0], settings.ELASTIC_INDEX)
Example #18
0
 def test_multiple_migrations_no_remove(self):
     for n in xrange(1, 21):
         migrate(delete=False, remove=False, index=settings.ELASTIC_INDEX, app=self.app.app)
         var = self.es.indices.get_aliases()
         assert_equal(var[settings.ELASTIC_INDEX + '_v{}'.format(n)]['aliases'].keys()[0], settings.ELASTIC_INDEX)