def setUp(self): self.CebuanaRemittance = CebuanaRemittance()
class CebuanaCheckerTest(TestCase): def setUp(self): self.CebuanaRemittance = CebuanaRemittance() def tearDown(self): pass def test_check_if_transaction_is_paid(self): transaction_number = {'123456': True, '234567': False} for key, value in transaction_number.items(): is_paid = self.CebuanaRemittance.is_transaction_paid(key) self.assertEquals(value, is_paid) with self.assertRaises(SearchException): self.CebuanaRemittance.is_transaction_paid('345678') def test_tag_if_transaction_is_paid(self): self.assertTrue(self.CebuanaRemittance.tag_transaction_as_paid('123456')) self.assertFalse(self.CebuanaRemittance.tag_transaction_as_paid('123456789')) with self.assertRaises(TransactionDoesNotExistException): self.CebuanaRemittance.tag_transaction_as_paid('ABCDE') def test_accept_transaction_reference_number_that_has_leading_and_trailing_spaces(self): self.assertTrue(self.CebuanaRemittance.is_transaction_paid(' 123456 ')) self.assertTrue(self.CebuanaRemittance.tag_transaction_as_paid(' 123456 ')) def test_if_transaction_reference_number_is_valid(self): with self.assertRaises(TypeError): self.CebuanaRemittance.is_transaction_paid('!@#$%^') self.CebuanaRemittance.tag_transaction_as_paid('!@#$%^') def test_parse_response_from_cebuana(self): response = ("""<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <requestSessionResponse xmlns="http://www.bankcom.com.ph/"> <requestSessionResult> <transactionId>283JDIKSJWL4</transactionId> <ispaid>false</ispaid> <status>SUCCESSFUL</status> </requestSessionResult> </requestSessionResponse> </soap:Body> </soap:Envelope>""", """<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <requestSessionResponse xmlns="http://www.bankcom.com.ph/"> <requestSessionResult> <transactionId>KS893K2K3K4</transactionId> <ispaid>true</ispaid> <status>SUCCESSFUL</status> </requestSessionResult> </requestSessionResponse> </soap:Body> </soap:Envelope>""", """<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <requestSessionResponse xmlns="http://www.bankcom.com.ph/"> <requestSessionResult> <transactionId>283JDIKS00L4</transactionId> <ispaid>Not existing</ispaid> <status>UNSUCCESSFUL</status> </requestSessionResult> </requestSessionResponse> </soap:Body> </soap:Envelope>""" ) expected_value = ( ('283JDIKSJWL4', 'false', 'SUCCESSFUL'), ('KS893K2K3K4', 'true', 'SUCCESSFUL') ) self.assertEquals(self.CebuanaRemittance.parse_response_from_cebuana(response[0]), expected_value[0]) self.assertEquals(self.CebuanaRemittance.parse_response_from_cebuana(response[1]), expected_value[1]) with self.assertRaises(TransactionDoesNotExistException): self.CebuanaRemittance.parse_response_from_cebuana(response[2]) def test_sending_request_and_getting_response(self): request = ("""<?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> <soap12:Body> <requestInquiry xmlns="http://www.bankcom.com.ph/"> <transaction>283JDIKSJWL4</transaction> </requestInquiry> </soap12:Body> </soap12:Envelope>""", """<?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> <soap12:Body> <requestInquiry xmlns="http://www.bankcom.com.ph/"> <transaction>KS893K2K3K4</transaction> </requestInquiry> </soap12:Body> </soap12:Envelope>""", """<?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> <soap12:Body> <requestInquiry xmlns="http://www.bankcom.com.ph/"> <transactionId>283JDIKS00L4</transactionId> </requestInquiry> </soap12:Body> </soap12:Envelope>""", ) expected_response = ("""<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><requestSessionResponse xmlns="http://www.bankcom.com.ph/"><requestSessionResult><transactionId>283JDIKSJWL4</transactionId><ispaid>false</ispaid><status>SUCCESSFUL</status></requestSessionResult></requestSessionResponse></soap:Body></soap:Envelope>""", """<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><requestSessionResponse xmlns="http://www.bankcom.com.ph/"><requestSessionResult><transactionId>KS893K2K3K4</transactionId><ispaid>true</ispaid><status>SUCCESSFUL</status></requestSessionResult></requestSessionResponse></soap:Body></soap:Envelope>""", """<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><requestSessionResponse xmlns="http://www.bankcom.com.ph/"><requestSessionResult><transactionId>283JDIKS00L4</transactionId><ispaid></ispaid></requestSessionResult><status>UNSUCCESSFUL</status></requestSessionResponse></soap:Body></soap:Envelope>""" ) self.assertEquals(self.CebuanaRemittance.get_response_from_cebuana(request[0]), expected_response[0]) self.assertEquals(self.CebuanaRemittance.get_response_from_cebuana(request[1]), expected_response[1]) with self.assertRaises(NoXmlResponseException): self.assertFalse(self.CebuanaRemittance.get_response_from_cebuana(request[2])) def test_encode_request_to_cebuana(self): request_data = ('283JDIKSJWL4', 'KS893K2K3K4', '283JDIKS00L4') expected_encoded_data = (b"""<?xml version="1.0" encoding="utf-8"?><soap12:Envelope xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap12:Body><requestInquiry xmlns="http://www.bankcom.com.ph/"><transaction>283JDIKSJWL4</transaction></requestInquiry></soap12:Body></soap12:Envelope>""", b"""<?xml version="1.0" encoding="utf-8"?><soap12:Envelope xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap12:Body><requestInquiry xmlns="http://www.bankcom.com.ph/"><transaction>KS893K2K3K4</transaction></requestInquiry></soap12:Body></soap12:Envelope>""", b"""<?xml version="1.0" encoding="utf-8"?><soap12:Envelope xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap12:Body><requestInquiry xmlns="http://www.bankcom.com.ph/"><transaction>283JDIKS00L4</transaction></requestInquiry></soap12:Body></soap12:Envelope>""", ) self.assertEquals(self.CebuanaRemittance.encode_request(request_data[0]), bytes(expected_encoded_data[0])) self.assertEquals(self.CebuanaRemittance.encode_request(request_data[1]), bytes(expected_encoded_data[1])) self.assertEquals(self.CebuanaRemittance.encode_request(request_data[2]), bytes(expected_encoded_data[2]))