def test__send_order_should_send_correct_limit_order_with_opt_mode_when_query_failed( self): trader = UpbitTrader() class DummyResponse: pass dummy_response = DummyResponse() dummy_response.raise_for_status = MagicMock() dummy_response.json = MagicMock(return_value="mango_response") self.post_mock.return_value = dummy_response self.get_mock.side_effect = requests.exceptions.RequestException() trader.is_opt_mode = True trader._create_jwt_token = MagicMock(return_value="mango_token") trader._create_limit_order_query = MagicMock( return_value="mango_query") response = trader._send_order("mango", True, 500, 0.555) self.assertEqual(response, "mango_response") dummy_response.raise_for_status.assert_called_once() dummy_response.json.assert_called_once() trader._create_limit_order_query.assert_called_once_with( "mango", True, 500, 0.555) trader._create_jwt_token.assert_called_once_with( trader.ACCESS_KEY, trader.SECRET_KEY, "mango_query") self.post_mock.assert_called_once_with( trader.SERVER_URL + "/v1/orders", params="mango_query", headers={"Authorization": "Bearer mango_token"}, )
def test__create_limit_order_query_return_correct_query(self): expected_query = { "market": "mango", "side": "bid", "volume": "0.76", "price": "500", "ord_type": "limit", } expected_query = urlencode(expected_query).encode() trader = UpbitTrader() query = trader._create_limit_order_query("mango", True, 500, 0.76) self.assertEqual(query, expected_query)