def test_serialize_and_deserialize_1():
transcoder = UnifiedTranscoder(json_encoder_cls=DjangoJSONEncoder)
# test serialize
created = SampleAggregate.Created(entity_id='b089a0a6-e0b3-480d-9382-c47f99103b3d', attr1='val1', attr2='val2',
metadata={'command_id': 123})
created_stored_event = transcoder.serialize(created)
assert created_stored_event.event_type == 'sample_aggregate_created'
assert created_stored_event.event_version == 1
assert created_stored_event.event_data == '{"attr1":"val1","attr2":"val2"}'
assert created_stored_event.aggregate_id == 'b089a0a6-e0b3-480d-9382-c47f99103b3d'
assert created_stored_event.aggregate_version == 0
assert created_stored_event.aggregate_type == 'SampleAggregate'
assert created_stored_event.module_name == 'djangoevents.tests.test_unifiedtranscoder'
assert created_stored_event.class_name == 'SampleAggregate.Created'
assert created_stored_event.metadata == '{"command_id":123}'
# test deserialize
created_copy = transcoder.deserialize(created_stored_event)
assert 'metadata' not in created_copy.__dict__
created.__dict__.pop('metadata') # metadata is not included in deserialization
assert created.__dict__ == created_copy.__dict__
test_unifiedtranscoder.py 文件源码
python
阅读 20
收藏 0
点赞 0
评论 0
评论列表
文章目录