def test_get_emr_data(self): temp_folder = tempfile.mkdtemp('/') input_string = '''"NAME","COMPONENT_ID","RESULT","REFERENCE_UNIT","DATE_TIME_STAMP","STUDY_ID" "RNA","1905","<5","IU/mL","1907-05-21 05:50:00","999-0059" "EGFR","1740200","eGFR result is => 60 ml/min/1.73M2","ml/min/1.73M2","1903-11-27 15:13:00","999-0059" "HEMATOCRIT","1534436",">27&<30","%","","999-0059"''' with open(temp_folder+"raw.txt", 'w+') as f: f.write(input_string) props = EmrConnectionDetails('fake.server', 'username', 'password', 'tmp', 'output.csv' ) GetEmrData.get_emr_data(temp_folder, props) with open(temp_folder + 'raw.xml') as f: result = f.read() expected = '''<?xml version="1.0" encoding="utf8"?> <study> <subject> <NAME>RNA</NAME> <COMPONENT_ID>1905</COMPONENT_ID> <RESULT><5</RESULT> <REFERENCE_UNIT>IU/mL</REFERENCE_UNIT> <DATE_TIME_STAMP>1907-05-21 05:50:00</DATE_TIME_STAMP> <STUDY_ID>999-0059</STUDY_ID> </subject> <subject> <NAME>EGFR</NAME> <COMPONENT_ID>1740200</COMPONENT_ID> <RESULT>eGFR result is => 60 ml/min/1.73M2</RESULT> <REFERENCE_UNIT>ml/min/1.73M2</REFERENCE_UNIT> <DATE_TIME_STAMP>1903-11-27 15:13:00</DATE_TIME_STAMP> <STUDY_ID>999-0059</STUDY_ID> </subject> <subject> <NAME>HEMATOCRIT</NAME> <COMPONENT_ID>1534436</COMPONENT_ID> <RESULT>>27&<30</RESULT> <REFERENCE_UNIT>%</REFERENCE_UNIT> <DATE_TIME_STAMP></DATE_TIME_STAMP> <STUDY_ID>999-0059</STUDY_ID> </subject> </study> ''' self.assertEqual(result, expected) shutil.rmtree(temp_folder)
def test_get_emr_data(self): temp_folder = tempfile.mkdtemp('/') input_string = '''"NAME","COMPONENT_ID","RESULT","REFERENCE_UNIT","DATE_TIME_STAMP","STUDY_ID" "RNA","1905","<5","IU/mL","1907-05-21 05:50:00","999-0059" "EGFR","1740200","eGFR result is => 60 ml/min/1.73M2","ml/min/1.73M2","1903-11-27 15:13:00","999-0059" "HEMATOCRIT","1534436",">27&<30","%","","999-0059"''' with open(temp_folder + "raw.txt", 'w+') as f: f.write(input_string) props = EmrConnectionDetails('fake.server', 'username', 'password', 'tmp', 'output.csv') GetEmrData.get_emr_data(temp_folder, props) with open(temp_folder + 'raw.xml') as f: result = f.read() expected = '''<?xml version="1.0" encoding="utf8"?> <study> <subject> <NAME>RNA</NAME> <COMPONENT_ID>1905</COMPONENT_ID> <RESULT><5</RESULT> <REFERENCE_UNIT>IU/mL</REFERENCE_UNIT> <DATE_TIME_STAMP>1907-05-21 05:50:00</DATE_TIME_STAMP> <STUDY_ID>999-0059</STUDY_ID> </subject> <subject> <NAME>EGFR</NAME> <COMPONENT_ID>1740200</COMPONENT_ID> <RESULT>eGFR result is => 60 ml/min/1.73M2</RESULT> <REFERENCE_UNIT>ml/min/1.73M2</REFERENCE_UNIT> <DATE_TIME_STAMP>1903-11-27 15:13:00</DATE_TIME_STAMP> <STUDY_ID>999-0059</STUDY_ID> </subject> <subject> <NAME>HEMATOCRIT</NAME> <COMPONENT_ID>1534436</COMPONENT_ID> <RESULT>>27&<30</RESULT> <REFERENCE_UNIT>%</REFERENCE_UNIT> <DATE_TIME_STAMP></DATE_TIME_STAMP> <STUDY_ID>999-0059</STUDY_ID> </subject> </study> ''' self.assertEqual(result, expected) shutil.rmtree(temp_folder)
def test_get_emr_data(self): """ This test verifies only that the csv file on the sftp server can be transformed to an xml file. Note: This test is not concerned with testing the sftp communication""" temp_folder = tempfile.mkdtemp('/') temp_txt_file = os.path.join(temp_folder, "raw.txt") temp_xml_file = os.path.join(temp_folder, "raw.xml") input_string = '''"NAME","COMPONENT_ID","RESULT","REFERENCE_UNIT","DATE_TIME_STAMP","STUDY_ID" "RNA","1905","<5","IU/mL","1907-05-21 05:50:00","999-0059" "EGFR","1740200","eGFR result is => 60 ml/min/1.73M2","ml/min/1.73M2","1903-11-27 15:13:00","999-0059" "HEMATOCRIT","1534436",">27&<30","%","","999-0059"''' with open(temp_txt_file, 'w+') as f: f.write(input_string) props = EmrFileAccessDetails( emr_download_file='raw.csv', emr_host='localhost', emr_username='******', emr_password='******', emr_port='7788', emr_private_key=None, emr_private_key_pass=None, ) GetEmrData.get_emr_data(temp_folder, props) with open(temp_xml_file) as f: result = f.read() expected = '''<?xml version="1.0" encoding="utf8"?> <study> <subject> <NAME>RNA</NAME> <COMPONENT_ID>1905</COMPONENT_ID> <RESULT><5</RESULT> <REFERENCE_UNIT>IU/mL</REFERENCE_UNIT> <DATE_TIME_STAMP>1907-05-21 05:50:00</DATE_TIME_STAMP> <STUDY_ID>999-0059</STUDY_ID> </subject> <subject> <NAME>EGFR</NAME> <COMPONENT_ID>1740200</COMPONENT_ID> <RESULT>eGFR result is => 60 ml/min/1.73M2</RESULT> <REFERENCE_UNIT>ml/min/1.73M2</REFERENCE_UNIT> <DATE_TIME_STAMP>1903-11-27 15:13:00</DATE_TIME_STAMP> <STUDY_ID>999-0059</STUDY_ID> </subject> <subject> <NAME>HEMATOCRIT</NAME> <COMPONENT_ID>1534436</COMPONENT_ID> <RESULT>>27&<30</RESULT> <REFERENCE_UNIT>%</REFERENCE_UNIT> <DATE_TIME_STAMP></DATE_TIME_STAMP> <STUDY_ID>999-0059</STUDY_ID> </subject> </study> ''' self.assertEqual(result, expected) shutil.rmtree(temp_folder)