def test_process_siemens_file_mass_records(self, uow): siemens_file_handler = SiemensFileHandler() siemens_file_handler.logger = Mock() siemens_file_handler.date_str = Mock() good_record_file_mock = MagicMock() bad_record_file_mock = MagicMock() summary = ProcessSiemensRecordsSummaryReturn() summary.num_good_records = 200 summary.num_bad_records = 0 summary.num_global_vendor_point_records = 0 siemens_file_handler.process_siemens_records = Mock(return_value=summary) read_file_stream = io.StringIO() for i in range(400): read_file_stream.write(u'{"name": "record"}\n') # add extra record to force small batch for good measure read_file_stream.write(u'{"name": "record"}') read_file_stream.seek(0) parsed_list = [{"name": "record"} for i in range(200)] rv = siemens_file_handler.process_siemens_file(read_file_stream, good_record_file_mock, bad_record_file_mock) siemens_file_handler.process_siemens_records.assert_has_calls([call(parsed_list, good_record_file_mock, bad_record_file_mock), call(parsed_list, good_record_file_mock, bad_record_file_mock), call([{"name": "record"}], good_record_file_mock, bad_record_file_mock)]) assert rv.num_good_records == 600
def test_process_siemens_file(self, uow): siemens_file_handler = SiemensFileHandler() siemens_file_handler.logger = Mock() siemens_file_handler.date_str = Mock() good_record_file_mock = MagicMock() bad_record_file_mock = MagicMock() summary = ProcessSiemensRecordsSummaryReturn() summary.num_good_records = 3 summary.num_bad_records = 1 summary.num_global_vendor_point_records = 2 siemens_file_handler.process_siemens_records = Mock(return_value=summary) read_file_stream = io.StringIO() read_file_stream.write(u'{"name": "record0"}\n' u'{"name": "record1"}\n' u'{"name": "record2"}\n' u'{"name": "record3"}\n' u'{"name": "record4"}\n' u'{"name": "record5"}') read_file_stream.seek(0) parsed_list = [{"name": "record0"}, {"name": "record1"}, {"name": "record2"}, {"name": "record3"}, {"name": "record4"}, {"name": "record5"}] rv = siemens_file_handler.process_siemens_file(read_file_stream, good_record_file_mock, bad_record_file_mock) siemens_file_handler.process_siemens_records.assert_called_with(parsed_list, good_record_file_mock, bad_record_file_mock) assert rv.num_good_records == 3 and rv.num_bad_records == 1 and rv.num_global_vendor_point_records == 2