Source code for fhirpack.base_test

import pytest as pt

from fhirpy.lib import SyncFHIRResource, SyncFHIRReference

import tests as ts
import fhirpack as fp


[docs]def test_guessOutputResourceType_resource(packUnconnected, patientResourceList): expected = "Patient" result = packUnconnected.guessOutputResourceType(patientResourceList) ok = expected == result assert ok
[docs]def test_guessOutputResourceType_reference(packUnconnected, patientReferenceList): expected = "Patient" result = packUnconnected.guessOutputResourceType(patientReferenceList) ok = expected == result assert ok
[docs]def test_guessOutputResourceType_dict(packUnconnected, patientAsDict): """Testing with dictionary input, the dict got to have the resourceTpye key""" input = {"resourceType": "Patient"} expected = "Patient" result = packUnconnected.guessOutputResourceType([patientAsDict]) ok = expected == result assert ok
[docs]def test_guessOutputResourceType_uninitializedType(packUnconnected): # other type than dic, resource or reference input = ["random string"] expected = "Uninitialized" result = packUnconnected.guessOutputResourceType(input) ok = expected == result assert ok
[docs]def test_guessOutputResourceType_mixed( packUnconnected, observationResourceList, patientResourceList ): input = [patientResourceList[0], observationResourceList[0]] expected = "Mixed" result = packUnconnected.guessOutputResourceType(input) ok = expected == result assert ok
# # TODO: Test prepareCompositeOutput # # TODO: Add more tests for prepareOutput
[docs]def test_prepareOutput_noResourceType(packUnconnected, patientResourceList): p = packUnconnected.prepareOutput(patientResourceList).data[0] checks = { "pid": p["id"] == "1", "pname": p["name"] == [ { "use": "official", "family": "Koepp", "given": ["Abdul"], "prefix": ["Mr."], } ], "pbirth": p["birthDate"] == "1954-10-02", } assert all(checks.values())
[docs]def test_parseReference_stringSlash(packUnconnected, patientReference): d = packUnconnected input = "Patient/1" expected = patientReference result = d.parseReference(input) ok = result == expected assert ok
# # TODO: Implement test for string without /id
[docs]def test_parseReference_stringNoSlashWithResourceType( packUnconnected, patientReference ): d = packUnconnected input = "Patient/1" expected = patientReference result = d.parseReference(input) ok = result == expected assert ok
[docs]def test_parseReference_reference(packUnconnected, patientReference): d = packUnconnected # .reference gives the string representation of a SyncFHIRReference input = patientReference.reference expected = patientReference result = d.parseReference(input) ok = result == expected assert ok
[docs]def test_prepareReferences_sinlgeReference(packUnconnected, patientReference): d = packUnconnected input = [patientReference] expected = [patientReference] result = d.prepareReferences(input) ok = result == expected assert ok
[docs]def test_prepareReferences_twoStrings(packUnconnected, patientReference): d = packUnconnected input = ["Patient/1", "Patient/1"] expected = [patientReference] * 2 result = d.prepareReferences(input) ok = result == expected assert ok
# # TODO test prepareOperationInput
[docs]@pt.mark.reqdocker def test_castOperand_stringToResource(packDocker): input = {"input": ["Patient/1"], "target": SyncFHIRResource} expected = SyncFHIRResource d = packDocker result = d.castOperand(**input) ok = isinstance(result[0], expected) assert ok
[docs]def test_castOperand_stringToReference(packUnconnected): input = {"input": ["Patient/1"], "target": SyncFHIRReference} expected = SyncFHIRReference d = packUnconnected result = d.castOperand(**input) ok = isinstance(result[0], expected) assert ok
[docs]@pt.mark.reqdocker def test_castOperand_resourceToReference(patientResource, packUnconnected): input = {"input": [patientResource], "target": SyncFHIRReference} expected = SyncFHIRReference d = packUnconnected result = d.castOperand(**input) ok = isinstance(result[0], expected) assert ok
[docs]@pt.mark.reqdocker def test_castOperand_referenceToResource(patientReference, packDocker): input = {"input": [patientReference.reference], "target": SyncFHIRResource} expected = SyncFHIRResource d = packDocker result = d.castOperand(**input) ok = isinstance(result[0], expected) assert ok
[docs]def test_frame_resourceTypeIsTrue(patientFrame): expected = "patient" ok = patientFrame.resourceTypeIs(expected) assert ok
[docs]def test_frame_resourceTypeIsFalse(patientFrame): expected = "observation" ok = not patientFrame.resourceTypeIs(expected) assert ok
# TODO test Frame.explode # TODO test Frame.keys # TODO test Frame.explode # TODO test Frame.print