Exemplo n.º 1
0
    def testGetResource_withAddedPackages_retrievesResource(self):
        vs_1 = value_set_pb2.ValueSet()
        vs_1.url.value = 'vs1'

        vs_2 = value_set_pb2.ValueSet()
        vs_2.url.value = 'vs2'

        package_1 = fhir_package.FhirPackage(
            package_info=mock.MagicMock(),
            structure_definitions=mock_resource_collection_containing([]),
            search_parameters=mock_resource_collection_containing([]),
            code_systems=mock_resource_collection_containing([]),
            value_sets=mock_resource_collection_containing([vs_1]),
        )
        package_2 = fhir_package.FhirPackage(
            package_info=mock.MagicMock(),
            structure_definitions=mock_resource_collection_containing([]),
            search_parameters=mock_resource_collection_containing([]),
            code_systems=mock_resource_collection_containing([]),
            value_sets=mock_resource_collection_containing([vs_2]),
        )

        manager = fhir_package.FhirPackageManager()
        manager.add_package(package_1)
        manager.add_package(package_2)

        self.assertEqual(manager.get_resource('vs1'), vs_1)
        self.assertEqual(manager.get_resource('vs2'), vs_2)
Exemplo n.º 2
0
 def testFhirPackageEquality_withNonEqualOperands_succeeds(self):
     lhs = fhir_package.FhirPackage(
         package_info=profile_config_pb2.PackageInfo(proto_package='Foo'),
         structure_definitions=[],
         search_parameters=[],
         code_systems=[],
         value_sets=[])
     rhs = fhir_package.FhirPackage(
         package_info=profile_config_pb2.PackageInfo(proto_package='Bar'),
         structure_definitions=[],
         search_parameters=[],
         code_systems=[],
         value_sets=[])
     self.assertNotEqual(lhs, rhs)
Exemplo n.º 3
0
 def testValueSetsFromFhirPackage_withEmptyPackage_returnsEmpty(self):
   package = fhir_package.FhirPackage(
       package_info=unittest.mock.MagicMock(),
       structure_definitions=[],
       search_parameters=[],
       code_systems=[],
       value_sets=[],
   )
   self.assertEqual(
       list(get_resolver().value_sets_from_fhir_package(package)), [])
Exemplo n.º 4
0
 def testFhirPackageGetResource_forMissingUri_isNone(self):
     """Ensure we return None when requesting non-existent resource URIs."""
     package = fhir_package.FhirPackage(
         package_info=profile_config_pb2.PackageInfo(proto_package='Foo'),
         structure_definitions=fhir_package.ResourceCollection(''),
         search_parameters=fhir_package.ResourceCollection(''),
         code_systems=fhir_package.ResourceCollection(''),
         value_sets=fhir_package.ResourceCollection(''),
     )
     self.assertIsNone(package.get_resource('some_uri'))
Exemplo n.º 5
0
  def testValueSetsFromFhirPackage_withValueSets_succeeds(self):
    definition = structure_definition_pb2.StructureDefinition()
    element = definition.differential.element.add()
    element.binding.value_set.value = 'http://hl7.org/fhir/ValueSet/financial-taskcode'

    another_definition = structure_definition_pb2.StructureDefinition()
    another_element = definition.differential.element.add()
    another_element.binding.value_set.value = 'http://hl7.org/fhir/ValueSet/action-participant-role'

    value_set = value_set_pb2.ValueSet()
    value_set.url.value = 'a-url'

    another_value_set = value_set_pb2.ValueSet()
    another_value_set.url.value = 'another-url'

    duplicate_value_set = value_set_pb2.ValueSet()
    duplicate_value_set.url.value = 'http://hl7.org/fhir/ValueSet/action-participant-role'

    package = fhir_package.FhirPackage(
        package_info=unittest.mock.MagicMock(),
        structure_definitions=[definition, another_definition],
        search_parameters=[],
        code_systems=[],
        value_sets=[value_set, another_value_set, duplicate_value_set],
    )

    result = get_resolver().value_sets_from_fhir_package(package)

    self.assertCountEqual(
        [vs.url.value for vs in result],
        [
            element.binding.value_set.value,
            another_element.binding.value_set.value,
            value_set.url.value,
            another_value_set.url.value,
        ],
    )