def test_config_errors(self): api = PayerPostAPI(agent_id=None, key_1=None, key_2=None) # Checksums (keys 1 & 2) self.assertRaises(PayerPostAPIError, api.get_checksum, "data") api.key_1 = "key1" self.assertRaises(PayerPostAPIError, api.get_checksum, "data") api.key_2 = "key2" raised = False try: api.get_checksum("data") except: raised = True try: api.get_post_data() except PayerPostAPIError as e: self.assertEqual(e.code, PayerPostAPIError.ERROR_MISSING_ORDER) api.set_order(self.getOrder()) self.assertFalse(raised, 'Exception raised') self.assertIsNotNone(api.get_checksum("data")) # Order, Processing control, agent ID self.assertRaises(PayerPostAPIError, api.get_post_data) try: api.get_post_data() except PayerPostAPIError as e: self.assertEqual( e.code, PayerPostAPIError.ERROR_MISSING_PROCESSING_CONTROL) self.assertEqual( str(e), repr("Error %s: %s" % (e.code, e.ERROR_MESSAGES.get(e.code, "Unknown Error")))) api.agent_id = "AGENT_ID" api.set_processing_control(self.getProcessingControl()) raised = False try: api.get_post_data() except: raised = True self.assertFalse(raised, 'Exception raised') api.agent_id = None self.assertRaises(PayerPostAPIError, api._generate_xml)