Remove test_rest_serializers_and_types.py and test_websocket_serializers_and_types.py. Add new test_rest_serializers.py and test_websocket_serializers.py unit tests. Edit bfxapi.tests.__init__.py's test suite.

This commit is contained in:
Davide Casale
2023-02-17 04:29:26 +01:00
parent fde27e933f
commit 16d0ee525e
5 changed files with 38 additions and 38 deletions

View File

@@ -1,6 +1,6 @@
import unittest import unittest
from .test_rest_serializers_and_types import TestRestSerializersAndTypes from .test_rest_serializers import TestRestSerializers
from .test_websocket_serializers_and_types import TestWebsocketSerializersAndTypes from .test_websocket_serializers import TestWebsocketSerializers
from .test_labeler import TestLabeler from .test_labeler import TestLabeler
from .test_notification import TestNotification from .test_notification import TestNotification
@@ -8,8 +8,8 @@ NAME = "tests"
def suite(): def suite():
return unittest.TestSuite([ return unittest.TestSuite([
unittest.makeSuite(TestRestSerializersAndTypes), unittest.makeSuite(TestRestSerializers),
unittest.makeSuite(TestWebsocketSerializersAndTypes), unittest.makeSuite(TestWebsocketSerializers),
unittest.makeSuite(TestLabeler), unittest.makeSuite(TestLabeler),
unittest.makeSuite(TestNotification), unittest.makeSuite(TestNotification),
]) ])

View File

@@ -0,0 +1,17 @@
import unittest
from ..labeler import _Type
from ..rest import serializers
class TestRestSerializers(unittest.TestCase):
def test_rest_serializers(self):
for serializer in map(serializers.__dict__.get, serializers.__serializers__):
self.assertTrue(issubclass(serializer.klass, _Type),
f"_Serializer <{serializer.name}>: .klass field must be a subclass of _Type (got {serializer.klass}).")
self.assertListEqual(serializer.get_labels(), list(serializer.klass.__annotations__),
f"_Serializer <{serializer.name}> and _Type <{serializer.klass.__name__}> must have matching labels and fields.")
if __name__ == "__main__":
unittest.main()

View File

@@ -1,17 +0,0 @@
import unittest
from ..rest import serializers, types
class TestRestSerializersAndTypes(unittest.TestCase):
def test_consistency(self):
for serializer in map(serializers.__dict__.get, serializers.__serializers__):
type = types.__dict__.get(serializer.name)
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.")
if __name__ == "__main__":
unittest.main()

View File

@@ -0,0 +1,17 @@
import unittest
from ..labeler import _Type
from ..websocket import serializers
class TestWebsocketSerializers(unittest.TestCase):
def test_websocket_serializers(self):
for serializer in map(serializers.__dict__.get, serializers.__serializers__):
self.assertTrue(issubclass(serializer.klass, _Type),
f"_Serializer <{serializer.name}>: .klass field must be a subclass of _Type (got {serializer.klass}).")
self.assertListEqual(serializer.get_labels(), list(serializer.klass.__annotations__),
f"_Serializer <{serializer.name}> and _Type <{serializer.klass.__name__}> must have matching labels and fields.")
if __name__ == "__main__":
unittest.main()

View File

@@ -1,17 +0,0 @@
import unittest
from ..websocket import serializers, types
class TestWebsocketSerializersAndTypes(unittest.TestCase):
def test_consistency(self):
for serializer in map(serializers.__dict__.get, serializers.__serializers__):
type = types.__dict__.get(serializer.name)
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.")
if __name__ == "__main__":
unittest.main()