|
| 1 | + |
| 2 | +import requests_mock |
| 3 | +import pytest |
| 4 | +import json |
| 5 | +from binance.client import Client, AsyncClient |
| 6 | +import re |
| 7 | + |
| 8 | +client = Client(api_key="api_key", api_secret="api_secret", ping=False) |
| 9 | + |
| 10 | +def test_futures_position_information(): |
| 11 | + with requests_mock.mock() as m: |
| 12 | + url_matcher = re.compile(r"https:\/\/fapi.binance.com\/fapi\/v3\/positionRisk\?.+") |
| 13 | + response = [{'symbol': 'LTCUSDT', 'positionSide': 'LONG', 'positionAmt': '0.700', 'entryPrice': '75.6', 'breakEvenPrice': '75.63024', 'markPrice': '73.18000000', 'unRealizedProfit': '-1.69400000', 'liquidationPrice': '0', 'isolatedMargin': '0', 'notional': '51.22600000', 'marginAsset': 'USDT', 'isolatedWallet': '0', 'initialMargin': '10.24520000', 'maintMargin': '0.33296900', 'positionInitialMargin': '10.24520000', 'openOrderInitialMargin': '0', 'adl': 0, 'bidNotional': '0', 'askNotional': '0', 'updateTime': 1729436057076}] |
| 14 | + m.register_uri("GET", url_matcher, json=json.dumps(response), status_code=200) |
| 15 | + pos = client.futures_position_information(symbol="LTCUSDT") |
| 16 | + assert m.last_request.qs['symbol'][0] == 'LTCUSDT'.lower() |
| 17 | + assert m.last_request.path == '/fapi/v3/positionrisk' |
| 18 | + |
| 19 | +def test_futures_position_information_version_override(): |
| 20 | + with requests_mock.mock() as m: |
| 21 | + url_matcher = re.compile(r"https:\/\/fapi.binance.com\/fapi\/v2\/positionRisk\?.+") |
| 22 | + response = [{'symbol': 'LTCUSDT', 'positionSide': 'LONG', 'positionAmt': '0.700', 'entryPrice': '75.6', 'breakEvenPrice': '75.63024', 'markPrice': '73.18000000', 'unRealizedProfit': '-1.69400000', 'liquidationPrice': '0', 'isolatedMargin': '0', 'notional': '51.22600000', 'marginAsset': 'USDT', 'isolatedWallet': '0', 'initialMargin': '10.24520000', 'maintMargin': '0.33296900', 'positionInitialMargin': '10.24520000', 'openOrderInitialMargin': '0', 'adl': 0, 'bidNotional': '0', 'askNotional': '0', 'updateTime': 1729436057076}] |
| 23 | + m.register_uri("GET", url_matcher, json=json.dumps(response), status_code=200) |
| 24 | + pos = client.futures_position_information(symbol="LTCUSDT", version=2) |
| 25 | + assert m.last_request.qs['symbol'][0] == 'LTCUSDT'.lower() |
| 26 | + assert m.last_request.path == '/fapi/v2/positionrisk' |
0 commit comments