Refactored sheerka class: splitted to use sub handlers. Refactored unit tests to use classes.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,57 @@
|
||||
import pytest
|
||||
from dataclasses import dataclass
|
||||
|
||||
from sdp.sheerkaDataProvider import Event
|
||||
from sdp.sheerkaSerializer import Serializer, JsonSerializer, SerializerContext
|
||||
from datetime import datetime
|
||||
import core.utils
|
||||
|
||||
|
||||
@dataclass()
|
||||
class Obj:
|
||||
key: str = ""
|
||||
prop1: str = ""
|
||||
|
||||
def from_dict(self, json_object):
|
||||
self.prop1 = json_object["prop1"]
|
||||
self.key = json_object["key"]
|
||||
return self
|
||||
|
||||
def to_dict(self):
|
||||
return self.__dict__
|
||||
|
||||
|
||||
def test_i_can_serialize_an_event():
|
||||
event = Event("test", user="user", date=datetime.fromisoformat("2019-10-21T10:20:30.999"))
|
||||
serializer = Serializer()
|
||||
|
||||
stream = serializer.serialize(event, None)
|
||||
loaded = serializer.deserialize(stream, None)
|
||||
|
||||
assert event.version == loaded.version
|
||||
assert event.user == loaded.user
|
||||
assert event.date == loaded.date
|
||||
assert event.message == loaded.message
|
||||
|
||||
|
||||
def test_i_can_serialize_an_object():
|
||||
obj = Obj("10", "value")
|
||||
serializer = Serializer()
|
||||
serializer.register(JsonSerializer("tests.sdp.test_sheerkaSerializer.Obj"))
|
||||
context = SerializerContext("kodjo", "6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b")
|
||||
|
||||
stream = serializer.serialize(obj, context)
|
||||
loaded = serializer.deserialize(stream, context)
|
||||
|
||||
assert getattr(loaded, Serializer.HISTORY)[Serializer.USERNAME] == "kodjo"
|
||||
assert getattr(loaded, Serializer.HISTORY)[Serializer.MODIFICATION_DATE] != ""
|
||||
assert getattr(loaded, Serializer.HISTORY)[Serializer.PARENTS] == []
|
||||
assert loaded.key == "10"
|
||||
assert loaded.prop1 == "value"
|
||||
|
||||
|
||||
@pytest.mark.parametrize("obj, expected", [
|
||||
(Obj("10", "value"), "tests.sdp.test_sheerkaSerializer.Obj")
|
||||
])
|
||||
def test_get_full_qualified_name(obj, expected):
|
||||
assert expected == core.utils.get_full_qualified_name(obj)
|
||||
Reference in New Issue
Block a user