def test__populate_by_parsing(self): mt103 = MT103(MESSAGE1) self.assertTrue(mt103) self.assertEqual(mt103.basic_header, "F01ASDFJK20AXXX0987654321") self.assertEqual(mt103.application_header, "I103ASDFJK22XXXXN") self.assertFalse(mt103.user_header) self.assertEqual(mt103.trailer, None) self.assertEqual(str(mt103.text), MESSAGE1[54:-3]) mt103 = MT103(MESSAGE2) self.assertTrue(mt103) self.assertEqual(mt103.basic_header, "F01QWERTY22AXXX1234567890") self.assertEqual(mt103.application_header, "I103QWERTY33XXXXA7") self.assertEqual(str(mt103.user_header), "{108:MT103}") self.assertEqual(mt103.text.raw, MESSAGE2[70:-3]) self.assertEqual(mt103.trailer, None) mt103 = MT103(MESSAGE3) self.assertTrue(mt103) self.assertEqual(mt103.basic_header, "F01QWERTY22AXXX1234567890") self.assertEqual(mt103.application_header, "I103QWERTY33XXXXA7") self.assertEqual( str(mt103.user_header), "{113:SEPA}{111:001}{121:d2d62e74-4f7d-45dc-a230-85fa259e1694}") self.assertEqual(mt103.text.raw, MESSAGE3[120:-3]) self.assertEqual(mt103.trailer, None)
def test__populate_by_parsing(self): mt103 = MT103(MESSAGE1) self.assertTrue(mt103) self.assertFalse(mt103.user_header) mt103 = MT103(MESSAGE2) self.assertTrue(mt103) self.assertTrue(mt103.user_header) self.assertIsNone(mt103.user_header.bank_priority_code) self.assertIsNone(mt103.user_header.bpc) self.assertEqual(mt103.user_header.message_user_reference, "MT103") self.assertEqual(mt103.user_header.mur, "MT103") self.assertIsNone(mt103.user_header.service_type_identifier) self.assertIsNone(mt103.user_header.sti) self.assertIsNone( mt103.user_header.unique_end_to_end_transaction_reference ) # NOQA: E501 self.assertIsNone(mt103.user_header.uetr) mt103 = MT103(MESSAGE3) self.assertTrue(mt103) self.assertTrue(mt103.user_header) self.assertEqual(mt103.user_header.bank_priority_code, "SEPA") self.assertEqual(mt103.user_header.bpc, "SEPA") self.assertIsNone(mt103.user_header.message_user_reference) self.assertIsNone(mt103.user_header.mur) self.assertEqual(mt103.user_header.service_type_identifier, "001") self.assertEqual(mt103.user_header.sti, "001") self.assertEqual( "d2d62e74-4f7d-45dc-a230-85fa259e1694", mt103.user_header.unique_end_to_end_transaction_reference, ) self.assertEqual("d2d62e74-4f7d-45dc-a230-85fa259e1694", mt103.user_header.uetr)
def test__populate_by_parsing_message4(self): mt103 = MT103(MESSAGE4) self.assertTrue(mt103) self.assertTrue(mt103.text) self.assertEqual(mt103.text.transaction_reference, "5387354") self.assertEqual(mt103.text.interbank_settled_currency, "USD") self.assertEqual(mt103.text.original_ordered_currency, "USD") self.assertEqual(mt103.text.bank_operation_code, "CRED") self.assertEqual(mt103.text.date, date(2000, 5, 26)) self.assertEqual(mt103.text.ordering_customer, "FRANZ HOLZAPFEL GMBH\nVIENNA") self.assertIsNone(mt103.text.regulatory_reporting) self.assertEqual(mt103.text.sender_to_receiver_information, "/INS/CHASUS33") self.assertEqual(mt103.text.original_ordered_amount, "1121,50") self.assertEqual( mt103.text.beneficiary, "723491524\nC. KLEIN\nBLOEMENGRACHT 15\nAMSTERDAM", ) self.assertIsNone(mt103.text.remittance_information) self.assertEqual(mt103.text.details_of_charges, "SHA") self.assertIsNone(mt103.text.sender_correspondent) self.assertIsNone(mt103.text.intermediary) self.assertEqual(mt103.text.receiver_correspondent, None) self.assertEqual(mt103.text.interbank_settled_amount, "1101,50") self.assertEqual(mt103.text.ordering_institution, "BKAUATWW") self.assertIsNone(mt103.text.account_with_institution)
def test__populate_by_parsing_message1(self): mt103 = MT103(MESSAGE1) self.assertTrue(mt103) self.assertTrue(mt103.text) self.assertEqual(mt103.text.transaction_reference, "20180101-ABCDEF") self.assertEqual(mt103.text.interbank_settled_currency, "CAD") self.assertEqual(mt103.text.original_ordered_currency, "EUR") self.assertEqual(mt103.text.bank_operation_code, "GHIJ") self.assertEqual(mt103.text.date, date(2018, 1, 17)) self.assertEqual( mt103.text.ordering_customer, "/123456-75901 SOMEWHERE New York 999999 GR", ) self.assertEqual(mt103.text.regulatory_reporting, "Test this") self.assertEqual(mt103.text.sender_to_receiver_information, None) self.assertEqual(mt103.text.original_ordered_amount, "9999,0") self.assertEqual( mt103.text.beneficiary, "/201001020 First Name Last Name a12345bc6d789ef01a23 Nowhere NL", ) self.assertEqual( mt103.text.remittance_information, "test reference test reason payment group: 1234567-ABCDEF", ) self.assertEqual(mt103.text.details_of_charges, "SHA") self.assertEqual(mt103.text.sender_correspondent, "/20100213012345") self.assertEqual(mt103.text.intermediary, None) self.assertEqual(mt103.text.receiver_correspondent, None) self.assertEqual(mt103.text.interbank_settled_amount, "5432,1") self.assertEqual(mt103.text.ordering_institution, None) self.assertEqual(mt103.text.account_with_institution, "//SC200123")
def test__populate_by_parsing_message2(self): mt103 = MT103(MESSAGE2) self.assertTrue(mt103) self.assertEqual(mt103.basic_header, "F01QWERTY22AXXX1234567890") self.assertEqual(mt103.application_header, "I103QWERTY33XXXXA7") self.assertEqual(str(mt103.user_header), "{108:MT103}") self.assertEqual(mt103.text.raw, MESSAGE2[70:-3]) self.assertEqual(mt103.trailer, None)
def test__populate_by_parsing(self): mt103 = MT103(MESSAGE1) self.assertTrue(mt103) self.assertEqual(mt103.basic_header, "F01ASDFJK20AXXX0987654321") self.assertEqual(mt103.application_header, "I103ASDFJK22XXXXN") self.assertEqual(mt103.user_header, None) self.assertEqual(mt103.trailer, None) self.assertEqual(str(mt103.text), MESSAGE1[54:-3]) mt103 = MT103(MESSAGE2) self.assertTrue(mt103) self.assertEqual(mt103.basic_header, "F01QWERTY22AXXX1234567890") self.assertEqual(mt103.application_header, "I103QWERTY33XXXXA7") self.assertEqual(mt103.user_header, "{108:MT103}") self.assertEqual(mt103.text.raw, MESSAGE2[70:-3]) self.assertEqual(mt103.trailer, None)
def test__populate_by_parsing_message3(self): mt103 = MT103(MESSAGE3) self.assertTrue(mt103) self.assertEqual(mt103.basic_header, "F01QWERTY22AXXX1234567890") self.assertEqual(mt103.application_header, "I103QWERTY33XXXXA7") self.assertEqual( str(mt103.user_header), "{113:SEPA}{111:001}{121:d2d62e74-4f7d-45dc-a230-85fa259e1694}") self.assertEqual(mt103.text.raw, MESSAGE3[120:-3]) self.assertEqual(mt103.trailer, None)
def test__populate_by_parsing_message1(self): mt103 = MT103(MESSAGE1) self.assertTrue(mt103) self.assertEqual(mt103.basic_header, "F01ASDFJK20AXXX0987654321") self.assertEqual(mt103.application_header, "I103ASDFJK22XXXXN") self.assertFalse(mt103.user_header) self.assertEqual(mt103.trailer, None) self.assertEqual(str(mt103.text), MESSAGE1[54:-3])
def test__populate_by_parsing_message4(self): mt103 = MT103(MESSAGE4) self.assertTrue(mt103) self.assertEqual(mt103.basic_header, "F01AAAAGRA0AXXX0057000289") self.assertEqual(mt103.application_header, "O1030919010321BBBBGRA0AXXX00570001710103210920N") self.assertEqual( str(mt103.user_header), "{108:MT103 003 OF 045}{121:c8b66b47-2bd9-48fe-be90-93c2096f27d2}") self.assertEqual(mt103.text.raw, MESSAGE4[152:-39]) self.assertEqual(mt103.trailer, "{MAC:75D138E4}{CHK:DE1B0D71FA96}")
def test___init__(self): keys = ( "basic_header", "application_header", "user_header", "text", "trailer", ) with mock.patch.object(MT103, "_populate_by_parsing") as m: mt103 = MT103("test") self.assertFalse(mt103) self.assertEqual(m.call_count, 1) for key in keys: self.assertIsNone(getattr(mt103, key)) self.assertEqual(mt103.raw, "test")
from mt103 import MT103 with open("mt_sample.txt") as f: s = f.read() #print(s) mt103 = MT103(s) print("basic header: {}, bank op code: {}, complete message: {}".format( mt103.basic_header, mt103.text.bank_operation_code, mt103)) print(mt103)
writer.write(record[1:len(record)]) writer.write("\n") file = open("BlockTrainingData.csv", "r") # file = open("/Users/coder/Downloads/TestingData.csv", "r") for line in file: print(line) data = line.split(",") if len(line) < 10: break if "score" in data[1]: continue data[3] = line[line.index("\""):len(line)] data[3] = data[3].replace("\"", "") mt103 = MT103(data[3]) print("=============") print(mt103.text) print("======****=======") # my_dict = {} # my_dict['bank_operation_code'] = mt103.text.bank_operation_code # my_dict['beneficiary'] = mt103.text.beneficiary # my_dict['day'] = mt103.text.date.day # my_dict['month'] = mt103.text.date.month # my_dict['year'] = mt103.text.date.year # my_dict['details_of_charges'] = mt103.text.details_of_charges # my_dict['interbank_settled_amount'] = mt103.text.interbank_settled_amount # my_dict['interbank_settled_currency'] = mt103.text.interbank_settled_currency # my_dict['intermediary'] = mt103.text.intermediary # my_dict['ordering_customer'] = mt103.text.ordering_customer # my_dict['ordering_institution'] = mt103.text.ordering_institution
def getMTMessages(transactions): mt_messages = [] for transaction in transactions: mt_messages.append(MT103(transaction)) return mt_messages
def test_truthyness(self): self.assertFalse(Text("")) self.assertFalse(Text("test")) self.assertFalse(MT103("").text) self.assertFalse(MT103("test").text) self.assertTrue(MT103(MESSAGE1).text)
def __init__(self, message): self.transaction = MT103(message) self.appId = ["A", "F", "L"] self.serviceId = ["01", "03", "21"]
for value in myFields: record = record + "," + str(value) # writer.writeheader() writer.write(record[1:len(record)]) writer.write("\n") file = open("validation_set_random.csv", "r") # file = open("/Users/coder/Downloads/TestingData.csv", "r") for line in file: print(line) data = line.split("|") if len(line) < 10: break if "score" in data[1]: continue mt103 = MT103(data[2]) print("=============") print(mt103.text) print("======****=======") # my_dict = {} # my_dict['bank_operation_code'] = mt103.text.bank_operation_code # my_dict['beneficiary'] = mt103.text.beneficiary # my_dict['day'] = mt103.text.date.day # my_dict['month'] = mt103.text.date.month # my_dict['year'] = mt103.text.date.year # my_dict['details_of_charges'] = mt103.text.details_of_charges # my_dict['interbank_settled_amount'] = mt103.text.interbank_settled_amount # my_dict['interbank_settled_currency'] = mt103.text.interbank_settled_currency # my_dict['intermediary'] = mt103.text.intermediary # my_dict['ordering_customer'] = mt103.text.ordering_customer # my_dict['ordering_institution'] = mt103.text.ordering_institution
def test___str__(self): self.assertEqual(str(MT103(MESSAGE1)), MESSAGE1) self.assertEqual(str(MT103(MESSAGE2)), MESSAGE2) self.assertEqual(str(MT103(MESSAGE3)), MESSAGE3) self.assertEqual(str(MT103(MESSAGE4)), MESSAGE4)
def test_truthyness(self): self.assertFalse(MT103("")) self.assertFalse(MT103("test"))