def test_get_patient_everything(test_dataset, test_fhir_store, capsys): fhir_resources.create_resource(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type) resource = fhir_resources.search_resources_get(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type) # Save the resource_id from the object returned by search_resources() # because you need to pass it into get_resource() and delete_resource() resource_id = resource["entry"][0]["resource"]["id"] fhir_resources.get_patient_everything(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_id) fhir_resources.delete_resource(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) out, _ = capsys.readouterr() assert 'id' in out
def test_delete_patient(test_dataset, test_fhir_store, test_patient, capsys): fhir_resources.delete_resource(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, test_patient) out, _ = capsys.readouterr() print(out) assert "Deleted Patient resource" in out
def test_conditional_update_resource(test_dataset, test_fhir_store, test_patient, capsys): # The conditional method tests use an Observation, so we have to create an # Encounter from test_patient and then create an Observation from the # Encounter. encounter_response = fhir_resources.create_encounter( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, test_patient, ) encounter_resource_id = encounter_response.json()["id"] observation_response = fhir_resources.create_observation( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, test_patient, encounter_resource_id, ) observation_resource_id = observation_response.json()["id"] fhir_resources.conditional_update_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, test_patient, encounter_resource_id, ) # In accordance with the FHIR spec, if conditional patch or conditional update # can only be applied to one resource at a time. If the search criteria # identify more than one match, the request returns a 412 Precondition Failed # error. Every time the tests create an Observation resource, the resource is # identical, therefore you have to delete each Observation after it's created # or else conditional patch/update will detect more than one Observation # that matches. fhir_resources.delete_resource(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, 'Observation', observation_resource_id) out, _ = capsys.readouterr() assert "Conditionally updated" in out
def test_delete_patient(test_dataset, test_fhir_store, test_patient, capsys): fhir_resources.delete_resource( project_id, location, dataset_id, fhir_store_id, resource_type, test_patient, ) out, _ = capsys.readouterr() assert "Deleted Patient resource" in out
def test_get_patient_everything(test_dataset, test_fhir_store, capsys): fhir_resources.create_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type) resource = fhir_resources.search_resources_get( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type) # Save the resource_id from the object returned by search_resources() # because you need to pass it into get_resource() and delete_resource() resource_id = resource["entry"][0]["resource"]["id"] fhir_resources.get_patient_everything( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_id) fhir_resources.delete_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) out, _ = capsys.readouterr() assert 'id' in out
def test_get_patient_everything(test_dataset, test_fhir_store, capsys): response = fhir_resources.create_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type) # Save the resource_id because you need to pass it into later tests resource_id = response.json()['id'] fhir_resources.search_resources_get( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type) fhir_resources.get_patient_everything( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_id) fhir_resources.delete_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) out, _ = capsys.readouterr() assert 'id' in out
def test_get_patient_everything(test_dataset, test_fhir_store, capsys): response = fhir_resources.create_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type) # Save the resource_id because you need to pass it into later tests resource_id = response.json()['id'] fhir_resources.search_resources_get( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type) fhir_resources.get_patient_everything( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_id) fhir_resources.delete_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) out, _ = capsys.readouterr() assert 'id' in out
def clean_up(): try: fhir_resources.delete_resource( project_id, location, dataset_id, fhir_store_id, resource_type, patient_resource_id, ) except HttpError as err: # The API returns 200 whether the resource exists or was # successfully deleted or not. if err.resp.status > 200: print( "Got exception {} while deleting FHIR store".format(err.resp.status) ) else: raise
def test_CRUD_search_resource(test_dataset, test_fhir_store, capsys): fhir_resources.create_resource(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type) resource = fhir_resources.search_resources_get(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type) # Save the resource_id from the object returned by search_resources() # because you need to pass it into get_resource() and delete_resource() resource_id = resource["entry"][0]["resource"]["id"] fhir_resources.get_resource(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.update_resource(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.patch_resource(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.delete_resource(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) out, _ = capsys.readouterr() # Check that create/search worked assert 'Created Resource' in out assert 'id' in out assert 'search' in out assert resource_id in out assert 'Deleted Resource' in out
def test_patient(): patient_response = fhir_resources.create_patient( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, ) patient_resource_id = patient_response.json()["id"] yield patient_resource_id # Clean up fhir_resources.delete_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, patient_resource_id, )
def test_CRUD_search_resource(test_dataset, test_fhir_store, capsys): response = fhir_resources.create_resource(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type) # Save the resource_id because you need to pass it into later tests resource_id = response.json()['id'] fhir_resources.search_resources_get(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type) fhir_resources.get_resource(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.update_resource(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.conditional_update_resource(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.patch_resource(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.conditional_patch_resource(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) history = fhir_resources.list_resource_history(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.get_resource_history( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id, history['entry'][-1]['resource']['meta']['versionId']) fhir_resources.delete_resource_purge(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.conditional_delete_resource(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.delete_resource(service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) out, _ = capsys.readouterr() # Check that create/search worked assert 'Created Resource' in out assert 'id' in out assert 'Conditionally updated' in out assert 'search' in out assert 'link' in out assert ' deleted' in out assert resource_id in out assert 'Deleted Resource' in out
def test_CRUD_search_resource(test_dataset, test_fhir_store, capsys): fhir_resources.create_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type) resource = fhir_resources.search_resources_get( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type) # Save the resource_id from the object returned by search_resources() # because you need to pass it into get_resource() and delete_resource() resource_id = resource["entry"][0]["resource"]["id"] fhir_resources.get_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.update_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.patch_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.delete_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) out, _ = capsys.readouterr() # Check that create/search worked assert 'Created Resource' in out assert 'id' in out assert 'search' in out assert resource_id in out assert 'Deleted Resource' in out
def test_CRUD_search_resource(test_dataset, test_fhir_store, capsys): response = fhir_resources.create_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type) # Save the resource_id because you need to pass it into later tests resource_id = response.json()['id'] fhir_resources.search_resources_get( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type) fhir_resources.get_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.update_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.conditional_update_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.patch_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.conditional_patch_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) history = fhir_resources.list_resource_history( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.get_resource_history( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id, history['entry'][-1]['resource']['meta']['versionId']) fhir_resources.delete_resource_purge( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.conditional_delete_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) fhir_resources.delete_resource( service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id, resource_type, resource_id) out, _ = capsys.readouterr() # Check that create/search worked assert 'Created Resource' in out assert 'id' in out assert 'Conditionally updated' in out assert 'search' in out assert 'link' in out assert ' deleted' in out assert resource_id in out assert 'Deleted Resource' in out