def setUp(self): super().setUp() self.client = DTOneClient("mrrapid", "234325")
class DTOneClientTest(TembaTest): def setUp(self): super().setUp() self.client = DTOneClient("mrrapid", "234325") @patch("temba.airtime.dtone.DTOneClient._request_key") @patch("requests.post") def test_ping(self, mock_post, mock_request_key): mock_request_key.return_value = "123456" mock_post.return_value = MockResponse( 200, "info_txt=pong\r\n" "authentication_key=123456\r\n" "error_code=0\r\n" "error_txt=Transaction successful\r\n", ) response = self.client.ping() self.assertEqual( { "authentication_key": "123456", "error_code": "0", "error_txt": "Transaction successful", "info_txt": "pong", }, response, ) mock_post.assert_called_once_with( "https://airtime-api.dtone.com/cgi-bin/shop/topup", {"login": "******", "key": "123456", "md5": "4ff2ddfae96f8d902eb7d5b2c7b490c9", "action": "ping"}, ) @patch("temba.airtime.dtone.DTOneClient._request_key") @patch("requests.post") def test_check_wallet(self, mock_post, mock_request_key): mock_request_key.return_value = "123456" mock_post.return_value = MockResponse( 200, "type=Master\r\n" "authentication_key=123456\r\n" "error_code=0\r\n" "error_txt=Transaction successful\r\n" "balance=15000\r\n" "currency=RWF\r\n", ) response = self.client.check_wallet() self.assertEqual( { "type": "Master", "authentication_key": "123456", "error_code": "0", "error_txt": "Transaction successful", "balance": "15000", "currency": "RWF", }, response, ) mock_post.assert_called_once_with( "https://airtime-api.dtone.com/cgi-bin/shop/topup", {"login": "******", "key": "123456", "md5": "4ff2ddfae96f8d902eb7d5b2c7b490c9", "action": "check_wallet"}, )