Commit d8898402 authored by Nicolas Delaby's avatar Nicolas Delaby

Fix assertXMLViewIsEqual.

Not that diff on edit_workflow are ignored, because
ERP5Conduit is not able to merge workflow history.
No decisions has been taken to decide how manage
workflow history.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@35836 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 6ae4377a
...@@ -361,8 +361,8 @@ class TestERP5SyncMLMixin: ...@@ -361,8 +361,8 @@ class TestERP5SyncMLMixin:
transaction.commit() transaction.commit()
self.tic() self.tic()
def assertXMLViewIsEqual(self, sub_id, object_pub=None, object_sub=None,\ def assertXMLViewIsEqual(self, sub_id, object_pub=None, object_sub=None,
force=0): force=False):
""" """
Check the equality between two xml objects with gid as id Check the equality between two xml objects with gid as id
""" """
...@@ -373,24 +373,29 @@ class TestERP5SyncMLMixin: ...@@ -373,24 +373,29 @@ class TestERP5SyncMLMixin:
gid_sub = publication.getGidFromObject(object_sub) gid_sub = publication.getGidFromObject(object_sub)
self.assertEqual(gid_pub, gid_sub) self.assertEqual(gid_pub, gid_sub)
conduit = ERP5Conduit() conduit = ERP5Conduit()
xml_pub = conduit.getXMLFromObjectWithGid(object=object_pub, gid=gid_pub,\ xml_pub = conduit.getXMLFromObjectWithGid(object=object_pub, gid=gid_pub,
xml_mapping=publication.getXMLMapping()) xml_mapping=publication.getXMLMapping())
#if One Way From Server there is not xml_mapping for subscription #if One Way From Server there is not xml_mapping for subscription
xml_sub = conduit.getXMLFromObjectWithGid(object=object_sub, gid=gid_sub,\ xml_sub = conduit.getXMLFromObjectWithGid(object=object_sub, gid=gid_sub,
xml_mapping=subscription.getXMLMapping(force)) xml_mapping=subscription.getXMLMapping(force))
erp5diff = ERP5Diff() erp5diff = ERP5Diff()
erp5diff.compare(xml_pub, xml_sub) erp5diff.compare(xml_pub, xml_sub)
result = erp5diff.outputString() result = erp5diff.outputString()
result = etree.XML(result) result = etree.XML(result)
if len(result) != 0 : identity = True
for update in result: for update in result:
#XXX edit workflow is not replaced, so discard workflow checking #XXX edit workflow is not replaced, so discard workflow checking
if update.get('select').find('time') != -1 or\ select = update.get('select', '')
update.get('select').find('serial') !=1: discarded_list = ('edit_workflow',)
if 'edit_workflow' in select:
continue continue
else : else:
self.fail('diff between pub:\n%s \nand sub:\n%s \n => \n%s' %\ identity = False
(xml_pub, xml_sub, etree.tostring(result, pretty_print=True))) break
if not identity:
self.fail('diff between pub:%s and sub:%s \n%s' % (object_pub.getPath(),
object_sub.getPath(),
etree.tostring(result, pretty_print=True)))
def deletePublicationAndSubscription(self): def deletePublicationAndSubscription(self):
portal_sync = self.getSynchronizationTool() portal_sync = self.getSynchronizationTool()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment