From d889840294dda2876b0ffc18c1b9815cb7ebd060 Mon Sep 17 00:00:00 2001 From: Nicolas Delaby <nicolas@nexedi.com> Date: Mon, 31 May 2010 17:14:04 +0000 Subject: [PATCH] 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 --- product/ERP5SyncML/tests/testERP5SyncML.py | 35 ++++++++++++---------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/product/ERP5SyncML/tests/testERP5SyncML.py b/product/ERP5SyncML/tests/testERP5SyncML.py index afe55fd7ee..c8e4fc483a 100644 --- a/product/ERP5SyncML/tests/testERP5SyncML.py +++ b/product/ERP5SyncML/tests/testERP5SyncML.py @@ -361,8 +361,8 @@ class TestERP5SyncMLMixin: transaction.commit() self.tic() - def assertXMLViewIsEqual(self, sub_id, object_pub=None, object_sub=None,\ - force=0): + def assertXMLViewIsEqual(self, sub_id, object_pub=None, object_sub=None, + force=False): """ Check the equality between two xml objects with gid as id """ @@ -373,24 +373,29 @@ class TestERP5SyncMLMixin: gid_sub = publication.getGidFromObject(object_sub) self.assertEqual(gid_pub, gid_sub) conduit = ERP5Conduit() - xml_pub = conduit.getXMLFromObjectWithGid(object=object_pub, gid=gid_pub,\ - xml_mapping=publication.getXMLMapping()) + xml_pub = conduit.getXMLFromObjectWithGid(object=object_pub, gid=gid_pub, + xml_mapping=publication.getXMLMapping()) #if One Way From Server there is not xml_mapping for subscription - xml_sub = conduit.getXMLFromObjectWithGid(object=object_sub, gid=gid_sub,\ - xml_mapping=subscription.getXMLMapping(force)) + xml_sub = conduit.getXMLFromObjectWithGid(object=object_sub, gid=gid_sub, + xml_mapping=subscription.getXMLMapping(force)) erp5diff = ERP5Diff() erp5diff.compare(xml_pub, xml_sub) result = erp5diff.outputString() result = etree.XML(result) - if len(result) != 0 : - for update in result: - #XXX edit workflow is not replaced, so discard workflow checking - if update.get('select').find('time') != -1 or\ - update.get('select').find('serial') !=1: - continue - else : - self.fail('diff between pub:\n%s \nand sub:\n%s \n => \n%s' %\ - (xml_pub, xml_sub, etree.tostring(result, pretty_print=True))) + identity = True + for update in result: + #XXX edit workflow is not replaced, so discard workflow checking + select = update.get('select', '') + discarded_list = ('edit_workflow',) + if 'edit_workflow' in select: + continue + else: + identity = False + 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): portal_sync = self.getSynchronizationTool() -- 2.30.9