diff --git a/bfxapi/rest/types.py b/bfxapi/rest/types.py index 431778a..ab41fec 100644 --- a/bfxapi/rest/types.py +++ b/bfxapi/rest/types.py @@ -6,26 +6,6 @@ from .. labeler import _Type from .. notification import Notification from ..utils.JSONEncoder import JSON -__types__ = [ - "PlatformStatus", "TradingPairTicker", "FundingCurrencyTicker", - "TickersHistory", "TradingPairTrade", "FundingCurrencyTrade", - "TradingPairBook", "FundingCurrencyBook", "TradingPairRawBook", - "FundingCurrencyRawBook", "Statistic", "Candle", - "DerivativesStatus", "Liquidation", "Leaderboard", - "FundingStatistic", "PulseProfile", "PulseMessage", - "TradingMarketAveragePrice", "FundingMarketAveragePrice", "FxRate", - - "Order", "Position", "Trade", - "FundingTrade", "OrderTrade", "Ledger", - "FundingOffer", "FundingCredit", "FundingLoan", - "FundingAutoRenew", "FundingInfo", "Wallet", - "Transfer", "Withdrawal", "DepositAddress", - "Invoice", "Movement", "SymbolMarginInfo", - "BaseMarginInfo", "PositionClaim", "PositionIncreaseInfo", - "PositionIncrease", "PositionHistory", "PositionSnapshot", - "PositionAudit", "DerivativePositionCollateral", "DerivativePositionCollateralLimits", -] - #region Type hinting for Rest Public Endpoints @dataclass diff --git a/bfxapi/tests/__init__.py b/bfxapi/tests/__init__.py index eee78b7..bbf78c0 100644 --- a/bfxapi/tests/__init__.py +++ b/bfxapi/tests/__init__.py @@ -4,5 +4,11 @@ from .test_websocket_serializers_and_types import TestWebsocketSerializersAndTyp NAME = "tests" +def suite(): + return unittest.TestSuite([ + unittest.makeSuite(TestRestSerializersAndTypes), + unittest.makeSuite(TestWebsocketSerializersAndTypes), + ]) + if __name__ == "__main__": - unittest.main() \ No newline at end of file + unittest.TextTestRunner().run(suite()) \ No newline at end of file diff --git a/bfxapi/tests/test_rest_serializers_and_types.py b/bfxapi/tests/test_rest_serializers_and_types.py index ff1b427..7bc7242 100644 --- a/bfxapi/tests/test_rest_serializers_and_types.py +++ b/bfxapi/tests/test_rest_serializers_and_types.py @@ -4,20 +4,14 @@ from ..rest import serializers, types class TestRestSerializersAndTypes(unittest.TestCase): def test_consistency(self): - __types__ = list(map(types.__dict__.get, types.__types__)) - for serializer in map(serializers.__dict__.get, serializers.__serializers__): type = types.__dict__.get(serializer.name) - __types__.remove(type) self.assertIsNotNone(type, f"_Serializer <{serializer.name}>: no respective _Type found in bfxapi.rest.types.") self.assertEqual(serializer.klass, type, f"_Serializer <{serializer.name}>.klass: field does not match with respective _Type in bfxapi.rest.types.") self.assertListEqual(serializer.get_labels(), list(type.__annotations__), f"_Serializer <{serializer.name}> and _Type <{type.__name__}> must have matching labels and fields.") - for type in __types__: - self.fail(f"_Type <{type.__name__}>: no respective _Serializer found in bfxapi.rest.serializers.") - if __name__ == "__main__": unittest.main() \ No newline at end of file diff --git a/bfxapi/tests/test_websocket_serializers_and_types.py b/bfxapi/tests/test_websocket_serializers_and_types.py index 2d34d61..338b959 100644 --- a/bfxapi/tests/test_websocket_serializers_and_types.py +++ b/bfxapi/tests/test_websocket_serializers_and_types.py @@ -4,20 +4,14 @@ from ..websocket import serializers, types class TestWebsocketSerializersAndTypes(unittest.TestCase): def test_consistency(self): - __types__ = list(map(types.__dict__.get, types.__types__)) - for serializer in map(serializers.__dict__.get, serializers.__serializers__): type = types.__dict__.get(serializer.name) - - __types__.remove(type) + self.assertIsNotNone(type, f"_Serializer <{serializer.name}>: no respective _Type found in bfxapi.websocket.types.") self.assertEqual(serializer.klass, type, f"_Serializer <{serializer.name}>.klass: field does not match with respective _Type in bfxapi.websocket.types.") self.assertListEqual(serializer.get_labels(), list(type.__annotations__), f"_Serializer <{serializer.name}> and _Type <{type.__name__}> must have matching labels and fields.") - for type in __types__: - self.fail(f"_Type <{type.__name__}>: no respective _Serializer found in bfxapi.websocket.serializers.") - if __name__ == "__main__": unittest.main() \ No newline at end of file diff --git a/bfxapi/websocket/types.py b/bfxapi/websocket/types.py index d1c8ab4..0ffa870 100644 --- a/bfxapi/websocket/types.py +++ b/bfxapi/websocket/types.py @@ -6,17 +6,6 @@ from ..labeler import _Type from ..notification import Notification from ..utils.JSONEncoder import JSON -__types__ = [ - "TradingPairTicker", "FundingCurrencyTicker", "TradingPairTrade", - "FundingCurrencyTrade", "TradingPairBook", "FundingCurrencyBook", - "TradingPairRawBook", "FundingCurrencyRawBook", "Candle", - "DerivativesStatus", - - "Order", "Position", "Trade", - "FundingOffer", "FundingCredit", "FundingLoan", - "Wallet", "Balance", -] - #region Type hinting for Websocket Public Channels @dataclass