From ae1bb7b59f6fcd93198f1021f807ef55f284983a Mon Sep 17 00:00:00 2001 From: Martin Kersner Date: Wed, 1 Jul 2026 15:06:34 +0900 Subject: [PATCH] fix(premium): send snake_case source/target exchange+quote wire keys (#119) --- datamaxi/datamaxi/premium.py | 8 ++++---- tests/test_premium.py | 12 +++++++++--- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/datamaxi/datamaxi/premium.py b/datamaxi/datamaxi/premium.py index dbaa561..6e397df 100644 --- a/datamaxi/datamaxi/premium.py +++ b/datamaxi/datamaxi/premium.py @@ -162,19 +162,19 @@ def __call__( # noqa: C901 params = {} if source_exchange is not None: - params["sourceExchange"] = source_exchange + params["source_exchange"] = source_exchange if target_exchange is not None: - params["targetExchange"] = target_exchange + params["target_exchange"] = target_exchange if asset is not None: params["asset"] = asset if source_quote is not None: - params["sourceQuote"] = source_quote + params["source_quote"] = source_quote if target_quote is not None: - params["targetQuote"] = target_quote + params["target_quote"] = target_quote if sort is not None: params["sort"] = sort diff --git a/tests/test_premium.py b/tests/test_premium.py index 5ba5669..008b76e 100644 --- a/tests/test_premium.py +++ b/tests/test_premium.py @@ -55,10 +55,16 @@ def test_premium_call_param_name_translation(): json=_RESPONSE, status=200, ) - _client()(source_exchange="binance", conversion_base="USDT", page=2) + _client()( + source_exchange="binance", + target_quote="USDT", + conversion_base="USDT", + page=2, + ) qs = _qs(responses.calls[0]) - # camelCase wire keys for exchange params, snake_case for conversion_base - assert qs["sourceExchange"] == ["binance"] + # snake_case wire keys for all params (backend expects snake_case) + assert qs["source_exchange"] == ["binance"] + assert qs["target_quote"] == ["USDT"] assert qs["conversion_base"] == ["USDT"] assert qs["page"] == ["2"]