@@ -163,11 +163,73 @@ def test_delete_paths_logs_info(self, mock_logger):
163163 first_call_args , _ = mock_logger .info .call_args_list [0 ]
164164 second_call_args , _ = mock_logger .info .call_args_list [1 ]
165165
166- assert first_call_args [0 ] == "Deleting key : %s"
167- assert first_call_args [1 ] == "a"
166+ assert first_call_args [0 ] == "Removing path : %s"
167+ assert first_call_args [1 ] == "$. a"
168168
169- assert second_call_args [0 ] == "Deleting key: %s"
170- assert second_call_args [1 ] == "c"
169+ assert second_call_args [0 ] == "Removing path: %s"
170+ assert second_call_args [1 ] == "$.b.c"
171+
172+ @patch ("converter.utils.logger" )
173+ def test_delete_array_logs_info (self , mock_logger ):
174+ # Arrange
175+ data = {
176+ "a" : [
177+ {
178+ "b" : 1 ,
179+ },
180+ {
181+ "b" : 2 ,
182+ "c" : 3 ,
183+ },
184+ ],
185+ }
186+
187+ # Act
188+ delete_paths (data , ["a[].b" ])
189+
190+ # Assert logger has been called twice
191+ assert mock_logger .info .call_count == 2
192+
193+ # Check the log message content
194+ first_call_args , _ = mock_logger .info .call_args_list [0 ]
195+ second_call_args , _ = mock_logger .info .call_args_list [1 ]
196+
197+ assert first_call_args [0 ] == "Removing path: %s"
198+ assert first_call_args [1 ] == "$.a[0].b"
199+
200+ assert second_call_args [0 ] == "Removing path: %s"
201+ assert second_call_args [1 ] == "$.a[1].b"
202+
203+ @patch ("converter.utils.logger" )
204+ def test_delete_empty_dict_logs_info (self , mock_logger ):
205+ # Arrange
206+ data = {
207+ "a" : {
208+ "b" : {
209+ "c" : 1 ,
210+ },
211+ }
212+ }
213+
214+ # Act
215+ delete_paths (data , ["a.b.c" ])
216+
217+ # Assert logger has been called three times
218+ assert mock_logger .info .call_count == 3
219+
220+ # Check the log message content
221+ first_call_args , _ = mock_logger .info .call_args_list [0 ]
222+ second_call_args , _ = mock_logger .info .call_args_list [1 ]
223+ third_call_args , _ = mock_logger .info .call_args_list [2 ]
224+
225+ assert first_call_args [0 ] == "Removing path: %s"
226+ assert first_call_args [1 ] == "$.a.b.c"
227+
228+ assert second_call_args [0 ] == "Removing path: %s"
229+ assert second_call_args [1 ] == "$.a.b"
230+
231+ assert third_call_args [0 ] == "Removing path: %s"
232+ assert third_call_args [1 ] == "$.a"
171233
172234
173235def test_translate_keys ():
@@ -356,7 +418,7 @@ def test_update_json_value_logs_info(self, mock_logger):
356418
357419 # Check the log message content
358420 args , kwargs = mock_logger .info .call_args
359- assert args [0 ] == "Updating value from %s to %s at path %s"
421+ assert args [0 ] == "Updating value from %s to %s at path $. %s"
360422 assert args [1 ] == "P1"
361423 assert args [2 ] == "P2"
362424 assert str (args [3 ]) == "qualification.details.priority"
0 commit comments