11import json
22import unittest
3- import os
4- import time
5- from datetime import datetime , timedelta
6- from decimal import Decimal
73from copy import deepcopy
8- from unittest import TestCase
94from unittest .mock import patch , Mock
105from moto import mock_dynamodb , mock_sqs
11- from boto3 import resource as boto3_resource , client as boto3_client
6+ from boto3 import resource as boto3_resource
127from tests .utils_for_converter_tests import ValuesForTests , ErrorValuesForTests
13- from botocore .config import Config
14- from pathlib import Path
15- from zoneinfo import ZoneInfo
168from SchemaParser import SchemaParser
179from Converter import Converter
1810from ConversionChecker import ConversionChecker , RecordError
@@ -130,11 +122,16 @@ def assert_dynamodb_record(self, operation_flag, items, expected_values, expecte
130122 self .assertGreater (len (filtered_items ), 0 , f"No matching item found for { operation_flag } " )
131123
132124 imms_data = filtered_items [0 ]["Imms" ]
133- self .assertIsInstance (imms_data , str )
125+ self .assertIsInstance (imms_data , dict )
134126 self .assertGreater (len (imms_data ), 0 )
135127
136128 # Check Imms JSON structure matches exactly
137- self .assertEqual (imms_data , str (expected_imms ), "Imms data does not match expected JSON structure" )
129+ # self.assertEqual(imms_data, expected_imms, "Imms data does not match expected JSON structure")
130+ for key , expected_value in expected_imms .items ():
131+ actual = imms_data .get (key )
132+ print (f"Key: { key } , Actual: { actual } , Expected: { expected_value } " )
133+ self .assertEqual (actual , expected_value , f"{ key } mismatch" )
134+
138135
139136 for key , expected_value in expected_values .items ():
140137 self .assertIn (key , filtered_items [0 ], f"{ key } is missing" )
@@ -169,13 +166,12 @@ def test_fhir_converter_json_error_scenario(self):
169166 errorRecords = FHIRConverter .getErrorRecords ()
170167
171168 # Check if bad data creates error records
172- print (f"Error Test Case, { len (errorRecords )} " )
173169 self .assertTrue (len (errorRecords ) > 0 )
174170
175171 def test_handler_imms_convert_to_flat_json (self ):
176172 """Test that the Imms field contains the correct flat JSON data for CREATE, UPDATE, and DELETE operations."""
177173 expected_action_flags = [
178- {"Operation" : "CREATE" , "EXPECTED_ACTION_FLAG" : "NEW " },
174+ {"Operation" : "CREATE" , "EXPECTED_ACTION_FLAG" : "CREATE " },
179175 {"Operation" : "UPDATE" , "EXPECTED_ACTION_FLAG" : "UPDATE" },
180176 {"Operation" : "DELETE" , "EXPECTED_ACTION_FLAG" : "DELETE" },
181177 ]
@@ -435,7 +431,6 @@ def test_convert_to_date(self, MockLookUpData):
435431
436432 # 7 Validate all error logs of various responses
437433 messages = [err ["message" ] for err in checker .errorRecords ]
438- print (f"Error Test Case, { messages } " )
439434
440435 self .assertIn ("Value is not a string" , messages )
441436
@@ -486,7 +481,6 @@ def test_convert_to_date_time(self, MockLookUpData):
486481 self .assertEqual (result , "" )
487482
488483 messages = [err ["message" ] for err in checker .errorRecords ]
489- print (f"Error Test Case, { messages } " )
490484
491485 self .assertIn ("Unexpected exception [ValueError]" , messages [0 ])
492486 self .assertIn ("Unsupported Format or offset" , messages [1 ])
@@ -676,7 +670,7 @@ def _run_test(self, expected_forename):
676670 """Helper function to run the test"""
677671 self .converter = Converter (json .dumps (request_json_data ))
678672 flat_json = self .converter .runConversion (request_json_data , False , True )
679- self .assertEqual (flat_json [0 ][ "PERSON_FORENAME" ], expected_forename )
673+ self .assertEqual (flat_json ["PERSON_FORENAME" ], expected_forename )
680674
681675class TestPersonSurNameToFlatJson (unittest .TestCase ):
682676
@@ -764,7 +758,7 @@ def _run_test_surname(self, expected_forename):
764758 """Helper function to run the test"""
765759 self .converter = Converter (json .dumps (request_json_data ))
766760 flat_json = self .converter .runConversion (request_json_data , False , True )
767- self .assertEqual (flat_json [0 ][ "PERSON_SURNAME" ], expected_forename )
761+ self .assertEqual (flat_json ["PERSON_SURNAME" ], expected_forename )
768762
769763
770764class TestPersonPostalCodeToFlatJson (unittest .TestCase ):
@@ -853,7 +847,7 @@ def _run_postal_code_test(self, expected_postal_code):
853847 """Helper function to run the test"""
854848 self .converter = Converter (json .dumps (request_json_data ))
855849 flat_json = self .converter .runConversion (request_json_data , False , True )
856- self .assertEqual (flat_json [0 ][ "PERSON_POSTCODE" ], expected_postal_code )
850+ self .assertEqual (flat_json ["PERSON_POSTCODE" ], expected_postal_code )
857851
858852
859853class TestPersonSiteCodeToFlatJson (unittest .TestCase ):
@@ -972,7 +966,7 @@ def _run_site_code_test(self, expected_site_code):
972966 """Helper function to run the test"""
973967 self .converter = Converter (json .dumps (request_json_data ))
974968 flat_json = self .converter .runConversion (request_json_data , False , True )
975- self .assertEqual (flat_json [ 0 ] .get ("SITE_CODE" ), expected_site_code )
969+ self .assertEqual (flat_json .get ("SITE_CODE" ), expected_site_code )
976970
977971
978972class TestPersonSiteUriToFlatJson (unittest .TestCase ):
@@ -1063,7 +1057,7 @@ def _run_site_uri_test(self, expected_site_code):
10631057 """Helper function to run the test"""
10641058 self .converter = Converter (json .dumps (request_json_data ))
10651059 flat_json = self .converter .runConversion (request_json_data , False , True )
1066- self .assertEqual (flat_json [ 0 ] .get ("SITE_CODE_TYPE_URI" ), expected_site_code )
1060+ self .assertEqual (flat_json .get ("SITE_CODE_TYPE_URI" ), expected_site_code )
10671061
10681062
10691063class TestPractitionerForeNameToFlatJson (unittest .TestCase ):
@@ -1179,7 +1173,7 @@ def _run_practitioner_test(self, expected_forename):
11791173 """Helper function to run the test"""
11801174 self .converter = Converter (json .dumps (request_json_data ))
11811175 flat_json = self .converter .runConversion (request_json_data , False , True )
1182- self .assertEqual (flat_json [0 ][ "PERFORMING_PROFESSIONAL_FORENAME" ], expected_forename )
1176+ self .assertEqual (flat_json ["PERFORMING_PROFESSIONAL_FORENAME" ], expected_forename )
11831177
11841178
11851179class TestPractitionerSurNameToFlatJson (unittest .TestCase ):
@@ -1293,7 +1287,7 @@ def _run_test_practitioner_surname(self, expected_forename):
12931287 """Helper function to run the test"""
12941288 self .converter = Converter (json .dumps (request_json_data ))
12951289 flat_json = self .converter .runConversion (request_json_data , False , True )
1296- self .assertEqual (flat_json [0 ][ "PERFORMING_PROFESSIONAL_SURNAME" ], expected_forename )
1290+ self .assertEqual (flat_json ["PERFORMING_PROFESSIONAL_SURNAME" ], expected_forename )
12971291
12981292 if __name__ == "__main__" :
12991293 unittest .main ()
0 commit comments