Esempio n. 1
0
    def test_purge_reuses(self):
        reuse = ReuseFactory(title='test-reuse')

        # Upload reuse's image
        file = create_test_image()
        user = AdminFactory()
        self.login(user)
        response = self.post(url_for('api.reuse_image', reuse=reuse),
                             {'file': (file, 'test.png')},
                             json=False)
        self.assert200(response)

        # Delete reuse
        response = self.delete(url_for('api.reuse', reuse=reuse))
        self.assert204(response)

        user = UserFactory()
        transfer = Transfer.objects.create(
            owner=user,
            recipient=user,
            subject=reuse,
            comment='comment',
        )

        tasks.purge_reuses()

        assert Transfer.objects.filter(id=transfer.id).count() == 0

        # Check reuse's image is deleted
        self.assertEqual(list(storages.images.list_files()), [])

        deleted_reuse = Reuse.objects(title='test-reuse').first()
        self.assertIsNone(deleted_reuse)
Esempio n. 2
0
def purge():
    '''permanently remove data flagged as deleted'''
    log.info('Purging datasets')
    purge_datasets()

    log.info('Purging reuses')
    purge_reuses()

    log.info('Purging organizations')
    purge_organizations()

    log.info('Done')
Esempio n. 3
0
def purge():
    '''permanently remove data flagged as deleted'''
    log.info('Purging datasets')
    purge_datasets()

    log.info('Purging reuses')
    purge_reuses()

    log.info('Purging organizations')
    purge_organizations()

    log.info('Done')
Esempio n. 4
0
def purge(datasets=False, reuses=False, organizations=False):
    '''
    Permanently remove data flagged as deleted.

    If no model flag is given, all models are purged.
    '''
    purge_all = not any((datasets, reuses, organizations))

    if purge_all or datasets:
        log.info('Purging datasets')
        purge_datasets()

    if purge_all or reuses:
        log.info('Purging reuses')
        purge_reuses()

    if purge_all or organizations:
        log.info('Purging organizations')
        purge_organizations()

    log.info('Done')
Esempio n. 5
0
def purge(datasets, reuses, organizations):
    '''
    Permanently remove data flagged as deleted.

    If no model flag is given, all models are purged.
    '''
    purge_all = not any((datasets, reuses, organizations))

    if purge_all or datasets:
        log.info('Purging datasets')
        purge_datasets()

    if purge_all or reuses:
        log.info('Purging reuses')
        purge_reuses()

    if purge_all or organizations:
        log.info('Purging organizations')
        purge_organizations()

    success('Done')
Esempio n. 6
0
    def test_purge_reuses(self):
        reuse = ReuseFactory(title='test-reuse')

        # Upload reuse's image
        file = create_test_image()
        user = AdminFactory()
        self.login(user)
        response = self.post(url_for('api.reuse_image', reuse=reuse),
                             {'file': (file, 'test.png')},
                             json=False)
        self.assert200(response)

        # Delete reuse
        response = self.delete(url_for('api.reuse', reuse=reuse))
        self.assert204(response)

        tasks.purge_reuses()

        # Check reuse's image is deleted
        self.assertEqual(list(storages.images.list_files()), [])

        organization = Reuse.objects(title='test-reuse').first()
        self.assertIsNone(organization)