From eb715168f652698a9ba9bdf735edd6d01a55723f Mon Sep 17 00:00:00 2001 From: Ali Behjati Date: Wed, 25 Jan 2023 21:15:40 +0100 Subject: [PATCH] Add ignored status and bump v (#30) --- pythclient/pythaccounts.py | 1 + setup.py | 2 +- tests/test_price_info.py | 26 +++++++++++++++++++++++++- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/pythclient/pythaccounts.py b/pythclient/pythaccounts.py index d92ef0b..fa36598 100644 --- a/pythclient/pythaccounts.py +++ b/pythclient/pythaccounts.py @@ -32,6 +32,7 @@ class PythPriceStatus(Enum): TRADING = 1 HALTED = 2 AUCTION = 3 + IGNORED = 4 class PythPriceType(Enum): diff --git a/setup.py b/setup.py index bde7049..32338a2 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ setup( name='pythclient', - version='0.1.3', + version='0.1.4', packages=['pythclient'], author='Pyth Developers', author_email='contact@pyth.network', diff --git a/tests/test_price_info.py b/tests/test_price_info.py index 7d7c08e..83be17e 100644 --- a/tests/test_price_info.py +++ b/tests/test_price_info.py @@ -20,6 +20,21 @@ def price_info_trading_bytes(): return base64.b64decode(b'EKH74A0AAABkU5ECAAAAAAEAAAAAAAAAQchHBgAAAAA=') +@pytest.fixture +def price_info_ignored(): + return PythPriceInfo( + raw_price=59609162000, + raw_confidence_interval=43078500, + price_status=PythPriceStatus.IGNORED, + pub_slot=105367617, + exponent=-8, + ) + + +@pytest.fixture +def price_info_ignored_bytes(): + return base64.b64decode(b'EKH74A0AAABkU5ECAAAAAAQAAAAAAAAAQchHBgAAAAA=') + @pytest.mark.parametrize( "raw_price,raw_confidence_interval,price_status,pub_slot,exponent,price,confidence_interval", [ @@ -88,7 +103,7 @@ def test_price_info_iter( assert actual == expected -def test_price_info_deserialise(price_info_trading, price_info_trading_bytes): +def test_price_info_deserialise_trading(price_info_trading, price_info_trading_bytes): actual = PythPriceInfo.deserialise( buffer=price_info_trading_bytes, offset=0, @@ -97,6 +112,15 @@ def test_price_info_deserialise(price_info_trading, price_info_trading_bytes): assert asdict(actual) == asdict(price_info_trading) +def test_price_info_deserialise_ignored(price_info_ignored, price_info_ignored_bytes): + actual = PythPriceInfo.deserialise( + buffer=price_info_ignored_bytes, + offset=0, + exponent=price_info_ignored.exponent, + ) + assert asdict(actual) == asdict(price_info_ignored) + + def test_price_info_str(price_info_trading): expected = "PythPriceInfo status PythPriceStatus.TRADING price 596.09162" assert str(price_info_trading) == expected