Ejemplo n.º 1
0
    def test_export_to_import_new_provider_with_models_out_of_sync(self):
        update_taxonomies('test_bepress_taxonomy.json')

        res = self.view.get(self.request)
        content_dict = json.loads(res.content)

        content_dict['fields']['_id'] = 'new_id'
        content_dict['fields']['name'] = 'Awesome New Name'
        content_dict['fields'][
            'new_field'] = 'this is a new field, not in the model'
        del content_dict['fields'][
            'description']  # this is a old field, removed from the model JSON

        data = StringIO(unicode(json.dumps(content_dict), 'utf-8'))
        self.import_request.FILES['file'] = InMemoryUploadedFile(
            data, None, 'data', 'application/json', 500, None, {})

        res = self.import_view.post(self.import_request)

        provider_id = ''.join([i for i in res.url if i.isdigit()])
        new_provider = PreprintProvider.objects.get(id=provider_id)

        nt.assert_equal(res.status_code, 302)
        nt.assert_equal(new_provider._id, 'new_id')
        nt.assert_equal(new_provider.name, 'Awesome New Name')
Ejemplo n.º 2
0
    def test_export_to_import_new_provider(self):
        update_taxonomies('test_bepress_taxonomy.json')

        res = self.view.get(self.request)
        content_dict = json.loads(res.content)

        content_dict['fields']['_id'] = 'new_id'
        content_dict['fields']['name'] = 'Awesome New Name'
        data = StringIO(unicode(json.dumps(content_dict), 'utf-8'))
        self.import_request.FILES['file'] = InMemoryUploadedFile(
            data, None, 'data', 'application/json', 500, None, {})

        res = self.import_view.post(self.import_request)

        provider_id = ''.join([i for i in res.url if i.isdigit()])
        new_provider = PreprintProvider.objects.get(id=provider_id)

        nt.assert_equal(res.status_code, 302)
        nt.assert_equal(new_provider._id, 'new_id')
        nt.assert_equal(new_provider.name, 'Awesome New Name')
        nt.assert_equal(new_provider.subjects.all().count(), 1)
        nt.assert_equal(new_provider.licenses_acceptable.all().count(), 1)
        nt.assert_equal(new_provider.subjects.all()[0].text, self.subject.text)
        nt.assert_equal(new_provider.licenses_acceptable.all()[0].license_id,
                        'NONE')
 def handle(self, *args, **options):
     reverse = options.get('reverse', False)
     dry_run = options.get('dry_run', False)
     add_data = options.get('add_data', False)
     if not dry_run:
         script_utils.add_file_logger(logger, __file__)
     with transaction.atomic():
         if reverse:
             remove_preprint_providers()
             remove_registration_providers()
             remove_collection_providers()
         else:
             if not PreprintProvider.load('osf'):
                 update_taxonomies('bepress_taxonomy.json')
             populate_preprint_providers()
             populate_registration_providers()
             populate_collection_providers(add_data)
         if dry_run:
             raise RuntimeError('Dry run, transaction rolled back.')
Ejemplo n.º 4
0
 def handle(self, *args, **options):
     reverse = options.get('reverse', False)
     dry_run = options.get('dry_run', False)
     add_data = options.get('add_data', False)
     if not dry_run:
         script_utils.add_file_logger(logger, __file__)
     with transaction.atomic():
         if reverse:
             remove_preprint_providers()
             remove_registration_providers()
             remove_collection_providers()
         else:
             if not PreprintProvider.load('osf'):
                 update_taxonomies('bepress_taxonomy.json')
             populate_preprint_providers()
             populate_registration_providers()
             populate_collection_providers(add_data)
         if dry_run:
             raise RuntimeError('Dry run, transaction rolled back.')
Ejemplo n.º 5
0
    def test_export_to_import_new_provider_with_models_out_of_sync(self):
        update_taxonomies('test_bepress_taxonomy.json')

        res = self.view.get(self.request)
        content_dict = json.loads(res.content)

        content_dict['fields']['name'] = 'Awesome New Name'
        content_dict['fields']['new_field'] = 'this is a new field, not in the model'
        del content_dict['fields']['description']  # this is a old field, removed from the model JSON

        data = StringIO(unicode(json.dumps(content_dict), 'utf-8'))
        self.import_request.FILES['file'] = InMemoryUploadedFile(data, None, 'data', 'application/json', 500, None, {})

        res = self.import_view.post(self.import_request)

        provider_id = ''.join([i for i in res.url if i.isdigit()])
        new_provider = PreprintProvider.objects.get(id=provider_id)

        nt.assert_equal(res.status_code, 302)
        nt.assert_equal(new_provider.name, 'Awesome New Name')
Ejemplo n.º 6
0
    def test_export_to_import_new_provider(self):
        update_taxonomies('test_bepress_taxonomy.json')

        res = self.view.get(self.request)
        content_dict = json.loads(res.content)

        content_dict['fields']['name'] = 'Awesome New Name'
        data = StringIO(unicode(json.dumps(content_dict), 'utf-8'))
        self.import_request.FILES['file'] = InMemoryUploadedFile(data, None, 'data', 'application/json', 500, None, {})

        res = self.import_view.post(self.import_request)

        provider_id = ''.join([i for i in res.url if i.isdigit()])
        new_provider = PreprintProvider.objects.get(id=provider_id)

        nt.assert_equal(res.status_code, 302)
        nt.assert_equal(new_provider.name, 'Awesome New Name')
        nt.assert_equal(new_provider.subjects.all().count(), 1)
        nt.assert_equal(new_provider.licenses_acceptable.all().count(), 1)
        nt.assert_equal(new_provider.subjects.all()[0].text, self.subject.text)
        nt.assert_equal(new_provider.licenses_acceptable.all()[0].license_id, 'NONE')