Example #1
0
 def test_import_job_for_one_invalid_record(self):
     stdout_stub = TestStream()
     stderr_stub = TestStream()
     invalid_json_file = open(
         './integration_tests/fixtures/one_invalid_mapping.json', 'rb')
     importer = MappingsImporter(self.source1, invalid_json_file,
                                 stdout_stub, stderr_stub, 'test')
     importer.import_mappings(total=1)
     self.assertTrue(
         'Cannot map concept to itself.' in stderr_stub.getvalue())
 def test_import_valid_invalid_mappings(self):
     stdout_stub = TestStream()
     stderr_stub = TestStream()
     invalid_json_file = open(
         './integration_tests/fixtures/valid_invalid_mapping.json', 'rb')
     importer = MappingsImporter(self.source1, invalid_json_file,
                                 stdout_stub, stderr_stub, 'test')
     importer.import_mappings(total=5)
     self.assertTrue(
         'Cannot map concept to itself.' in stderr_stub.getvalue())
     self.assertTrue("Must specify either 'to_concept' or 'to_source' & " in
                     stderr_stub.getvalue())
     self.assertEquals(3, Mapping.objects.count())
     self.assertEquals(3, MappingVersion.objects.count())
 def test_import_job_for_one_record(self):
     stdout_stub = TestStream()
     stderr_stub = TestStream()
     importer = MappingsImporter(self.source1, self.testfile, stdout_stub,
                                 stderr_stub, 'test')
     importer.import_mappings(total=1)
     self.assertTrue('Created new mapping:' in stdout_stub.getvalue())
     self.assertTrue('/users/user1/sources/source1/:413532003' in
                     stdout_stub.getvalue())
     inserted_mapping = Mapping.objects.get(to_concept_code='413532003')
     self.assertEquals(inserted_mapping.to_source, self.source1)
     self.assertEquals(inserted_mapping.from_source, self.source2)
     mapping_ids = SourceVersion.get_latest_version_of(
         self.source1).get_mapping_ids()
     mapping_version = MappingVersion.objects.get(
         versioned_object_id=inserted_mapping.id, is_latest_version=True)
     self.assertEquals(mapping_ids[0], mapping_version.id)
Example #4
0
    def handle(self, *args, **options):
        user = User.objects.filter(username='******').get()

        org = self.create_organization(user, 'CIEL')

        source = self.create_source(user, org, 'CIEL')

        demo_file = open('./demo-data/ciel_20180601_concepts_2k.json', 'rb')
        importer = ConceptsImporter(source,
                                    demo_file,
                                    user,
                                    OutputWrapper(sys.stdout),
                                    OutputWrapper(sys.stderr),
                                    save_validation_errors=False)
        importer.import_concepts(**options)

        demo_file = open('./demo-data/ciel_20180601_mappings_2k.json', 'rb')
        importer = MappingsImporter(source, demo_file,
                                    OutputWrapper(sys.stdout),
                                    OutputWrapper(sys.stderr), user)
        importer.import_mappings(**options)
    def test_update_mapping_with_invalid_record(self):
        mapping = Mapping(parent=self.source1,
                          map_type='SAME-AS',
                          from_concept=self.concept3,
                          to_concept=self.concept1)
        kwargs = {
            'parent_resource': self.source1,
        }

        Mapping.persist_new(mapping, self.user1, **kwargs)
        source_version = SourceVersion.get_latest_version_of(self.source1)
        source_version.mappings = [mapping.id]
        source_version.save()
        stderr_stub = TestStream()
        invalid_json_file = open(
            './integration_tests/fixtures/one_internal_invalid_mapping.json',
            'rb')
        importer = MappingsImporter(self.source1, invalid_json_file,
                                    TestStream(), stderr_stub, 'test')
        importer.import_mappings(total=1)
        self.assertTrue(
            "Must specify either 'to_concept' or 'to_source' & 'to_concept_code'. Cannot specify both."
            in stderr_stub.getvalue())
Example #6
0
    def handle(self, *args, **options):
        user = self.create_admin_user()

        version = 'v2019-07-01'

        source_version = SourceVersion.objects.filter(mnemonic=version)
        if source_version.exists():
            return

        org = self.create_organization(user, 'CIEL')

        source = self.create_source(user, org, 'CIEL')

        demo_file = open('./demo-data/ciel_' + version + '_c2k.json', 'rb')
        importer = ConceptsImporter(source,
                                    demo_file,
                                    user,
                                    OutputWrapper(sys.stdout),
                                    OutputWrapper(sys.stderr),
                                    save_validation_errors=False)
        importer.import_concepts(**options)

        demo_file = open('./demo-data/ciel_' + version + '_m2k.json', 'rb')
        importer = MappingsImporter(source, demo_file,
                                    OutputWrapper(sys.stdout),
                                    OutputWrapper(sys.stderr), user)
        importer.import_mappings(**options)

        new_version = SourceVersion.for_base_object(source,
                                                    version,
                                                    released=True)
        SourceVersion.persist_new(new_version,
                                  versioned_object=source,
                                  force_insert=True)
        update_children_for_resource_version.delay(new_version.id, 'source')

        export_source.delay(new_version.id)