def test_serialize_ActionDescription_DEFAULT(self): obj = ActionDescription('archiving') obj.icon = 'places/folder-remote' obj.label = 'edit the content' res = Context(CTX.DEFAULT).toDict(obj) eq_(res.__class__, DictLikeClass) eq_(obj.id, res.id) eq_(obj.label, res.label) eq_(obj.icon, res.icon) eq_(3, len(res.keys()))
def test_serialize_ActionDescription_DEFAULT(self): obj = ActionDescription('archiving') obj.icon = 'places/folder-remote' obj.label = 'edit the content' res = Context(CTX.DEFAULT).toDict(obj) eq_(res.__class__, DictLikeClass) eq_(obj.id, res.id) eq_(obj.label, res.label) eq_(obj.icon, res.icon) eq_(3, len(res.keys()))
def test_serialize_Content_DEFAULT(self): self.app.get('/_test_vars') # Allow to create fake context obj = Content() obj.content_id = 132 obj.label = 'Some label' obj.description = 'Some Description' res = Context(CTX.DEFAULT).toDict(obj) eq_(res.__class__, DictLikeClass, res) eq_(obj.content_id, res.id, res) eq_(obj.label, res.label, res) ok_('folder' in res.keys()) ok_('id' in res.folder.keys()) eq_(None, res.folder.id) eq_(1, len(res.folder.keys())) ok_('workspace' in res.keys()) eq_(None, res.workspace, res) eq_(4, len(res.keys()), res)
def test_serialize_Content_DEFAULT(self): self.app.get('/_test_vars') # Allow to create fake context obj = Content() obj.content_id = 132 obj.label = 'Some label' obj.description = 'Some Description' res = Context(CTX.DEFAULT).toDict(obj) eq_(res.__class__, DictLikeClass, res) eq_(obj.content_id, res.id, res) eq_(obj.label, res.label, res) ok_('folder' in res.keys()) ok_('id' in res.folder.keys()) eq_(None, res.folder.id) eq_(1, len(res.folder.keys())) ok_('workspace' in res.keys()) eq_(None, res.workspace, res) eq_(4, len(res.keys()), res)
def test_serializer_toDict_for_list_of_objects(self): class A(object): def __init__(self, name): self.name = name @pod_serializer(A, CTX.DEFAULT) def dummy_converter(item: A, context: Context): return DictLikeClass({'name': item.name}) mylist = [ A('a'), A('b'), A('C') ] s = Context(CTX.DEFAULT).toDict(mylist) ok_('name' in s[0].keys()) eq_('a', s[0].name) ok_('name' in s[1].keys()) eq_('b', s[1].name) ok_('name' in s[2].keys()) eq_('C', s[2].name) eq_(3, len(s)) s2 = Context(CTX.DEFAULT).toDict(mylist, 'subitems', 'subitems_nb') ok_('subitems' in s2.keys(), s2) ok_('name' in s2.subitems[0].keys()) eq_('a', s2.subitems[0].name) ok_('name' in s2.subitems[1].keys()) eq_('b', s2.subitems[1].name) ok_('name' in s2.subitems[2].keys()) eq_('C', s2.subitems[2].name) ok_('subitems' in s2.keys()) ok_('subitems_nb' in s2.keys()) eq_(3, s2.subitems_nb) eq_(3, len(s2.subitems)) eq_(2, len(s2))
def test_serializer_toDict_for_list_of_objects(self): class A(object): def __init__(self, name): self.name = name @pod_serializer(A, CTX.DEFAULT) def dummy_converter(item: A, context: Context): return DictLikeClass({'name': item.name}) mylist = [A('a'), A('b'), A('C')] s = Context(CTX.DEFAULT).toDict(mylist) ok_('name' in s[0].keys()) eq_('a', s[0].name) ok_('name' in s[1].keys()) eq_('b', s[1].name) ok_('name' in s[2].keys()) eq_('C', s[2].name) eq_(3, len(s)) s2 = Context(CTX.DEFAULT).toDict(mylist, 'subitems', 'subitems_nb') ok_('subitems' in s2.keys(), s2) ok_('name' in s2.subitems[0].keys()) eq_('a', s2.subitems[0].name) ok_('name' in s2.subitems[1].keys()) eq_('b', s2.subitems[1].name) ok_('name' in s2.subitems[2].keys()) eq_('C', s2.subitems[2].name) ok_('subitems' in s2.keys()) ok_('subitems_nb' in s2.keys()) eq_(3, s2.subitems_nb) eq_(3, len(s2.subitems)) eq_(2, len(s2))
def test_serialize_Content_comment_THREAD(self): wor = Workspace() wor.workspace_id = 4 fol = Content() fol.type = ContentType.Folder fol.content_id = 72 fol.workspace = wor par = Content() par.type = ContentType.Thread par.content_id = 37 par.parent = fol par.workspace = wor par.created = datetime.now() obj = Content() obj.type = ContentType.Comment obj.content_id = 132 obj.label = 'some label' obj.description = 'Some Description' obj.parent = par obj.created = datetime.now() print('LANGUAGES #2 ARE', tg.i18n.get_lang()) res = Context(CTX.THREAD).toDict(obj) eq_(res.__class__, DictLikeClass, res) ok_('label' in res.keys()) eq_(obj.label, res.label, res) ok_('content' in res.keys()) eq_(obj.description, res.content, res) ok_('created' in res.keys()) ok_('icon' in res.keys()) eq_(ContentType.get_icon(obj.type), res.icon, res) ok_('delete' in res.urls.keys()) eq_(10, len(res.keys()), len(res.keys()))
def test_serialize_Content_comment_THREAD(self): wor = Workspace() wor.workspace_id = 4 fol = Content() fol.type = ContentType.Folder fol.content_id = 72 fol.workspace = wor par = Content() par.type = ContentType.Thread par.content_id = 37 par.parent = fol par.workspace = wor par.created = datetime.now() obj = Content() obj.type = ContentType.Comment obj.content_id = 132 obj.label = 'some label' obj.description = 'Some Description' obj.parent = par obj.created = datetime.now() print('LANGUAGES #2 ARE', tg.i18n.get_lang()) res = Context(CTX.THREAD).toDict(obj) eq_(res.__class__, DictLikeClass, res) ok_('label' in res.keys()) eq_(obj.label, res.label, res) ok_('content' in res.keys()) eq_(obj.description, res.content, res) ok_('created' in res.keys()) ok_('icon' in res.keys()) eq_(ContentType.get_icon(obj.type), res.icon, res) ok_('delete' in res.urls.keys()) eq_(10, len(res.keys()), len(res.keys()))