Add new bfxapi/tests/test_notification unit test.

This commit is contained in:
Davide Casale
2023-02-07 17:45:03 +01:00
parent 168b2eae25
commit 0a9384e670
3 changed files with 28 additions and 1 deletions

View File

@@ -19,7 +19,7 @@ class _Serializer(Generic[T]):
labels = list(filter(lambda label: label not in (skip or list()), self.__labels))
if len(labels) > len(args):
raise LabelerSerializerException("<labels> and <*args> arguments should contain the same amount of elements.")
raise LabelerSerializerException(f"{self.name} -> <labels> and <*args> arguments should contain the same amount of elements.")
for index, label in enumerate(labels):
if label not in self.__IGNORE:

View File

@@ -2,6 +2,7 @@ import unittest
from .test_rest_serializers_and_types import TestRestSerializersAndTypes
from .test_websocket_serializers_and_types import TestWebsocketSerializersAndTypes
from .test_labeler import TestLabeler
from .test_notification import TestNotification
NAME = "tests"
@@ -10,6 +11,7 @@ def suite():
unittest.makeSuite(TestRestSerializersAndTypes),
unittest.makeSuite(TestWebsocketSerializersAndTypes),
unittest.makeSuite(TestLabeler),
unittest.makeSuite(TestNotification),
])
if __name__ == "__main__":

View File

@@ -0,0 +1,25 @@
import unittest
from dataclasses import dataclass
from ..labeler import generate_labeler_serializer
from ..notification import _Type, _Notification, Notification
class TestNotification(unittest.TestCase):
def test_notification(self):
@dataclass
class Test(_Type):
A: int
B: float
C: str
test = generate_labeler_serializer("Test", Test,
[ "A", "_PLACEHOLDER", "B", "_PLACEHOLDER", "C" ])
notification = _Notification[Test](test)
self.assertEqual(notification.parse(*[1675787861506, "test", None, None, [ 5, None, 65.0, None, "X" ], 0, "SUCCESS", "This is just a test notification."]),
Notification[Test](1675787861506, "test", None, Test(5, 65.0, "X"), 0, "SUCCESS", "This is just a test notification."),
msg="_Notification should produce the right notification.")
if __name__ == "__main__":
unittest.main()