From 093c984b4260bedb638fc3310200c99bb7edd4eb Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Mon, 16 Jul 2012 13:35:02 +0000 Subject: [PATCH] Monotone-Parent: 22bcd9c626e305661b31c70a49c93352266c2dc8 Monotone-Revision: ed7f1623b0cb7e935297f6652b76074c1ff952df Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2012-07-16T13:35:02 --- ChangeLog | 11 +++++++++++ Tests/Integration/test-davacl.py | 14 +++++++------- Tests/Integration/webdavlib.py | 8 +++----- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index b17a6dfcc..65fbc5bb3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2012-07-16 Wolfgang Sourdeau + + * Tests/Integration/webdavlib.py (WebDAVQuery.set_response): make + use of xml.etree.cElementTree for speed and avoid using a + cStringIO altogether by directly passing the content string. + + * Tests/Integration/test-davacl.py (DAVCalendarSuperUserAclTest._getEvent) + (DAVCalendarAclTest._getEvent): ensure that the resulting event + does not contain any "\r" char as the XML parser would anyway + strip them. + 2012-07-13 Wolfgang Sourdeau * SoObjects/Appointments/SOGoAppointmentObject.m diff --git a/Tests/Integration/test-davacl.py b/Tests/Integration/test-davacl.py index 0a8ecd787..10a067c3e 100755 --- a/Tests/Integration/test-davacl.py +++ b/Tests/Integration/test-davacl.py @@ -51,7 +51,7 @@ class DAVCalendarSuperUserAclTest(unittest.TestCase): self.client.execute(get) if get.response["status"] == 200: - event = get.response["body"] + event = get.response["body"].replace("\r", "") else: event = None @@ -499,7 +499,7 @@ class DAVCalendarAclTest(DAVAclTest): self.subscriber_client.execute(get) if get.response["status"] == 200: - event = get.response["body"] + event = get.response["body"].replace("\r", "") else: event = None @@ -596,10 +596,10 @@ class DAVCalendarAclTest(DAVAclTest): " (right: %s)" % (operation, right)) if right == "v" or right == "r" or right == "m": icsClass = self.classToICSClass[event_class] - complete_event = (event_template % { "class": icsClass, - "filename": "%s-event.ics" % icsClass.lower(), - "organizer_line": "", - "attendee_line": ""}) + complete_event = (event_template % {"class": icsClass, + "filename": "%s-event.ics" % icsClass.lower(), + "organizer_line": "", + "attendee_line": ""}) self.assertTrue(event.strip() == complete_event.strip(), "Right '%s' should return complete event" " during operation '%s'" @@ -680,7 +680,7 @@ class DAVCalendarAclTest(DAVAclTest): "filename": filename, "organizer_line": "ORGANIZER:mailto:someone@nowhere.com\n", "attendee_line": att_line} - event = self._getEvent(event_class, True).replace("\r", "") + event = self._getEvent(event_class, True) self.assertEquals(exp_event.strip(), event.strip(), "'respond to' event does not match:\nreceived:\n" "/%s/\nexpected:\n/%s/" % (event, exp_event)) diff --git a/Tests/Integration/webdavlib.py b/Tests/Integration/webdavlib.py index d63dfb448..553c9d1a3 100644 --- a/Tests/Integration/webdavlib.py +++ b/Tests/Integration/webdavlib.py @@ -19,12 +19,11 @@ # Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, # USA. -import cStringIO import httplib import re import time import xml.dom.expatbuilder -import xml.etree.ElementTree +import xml.etree.cElementTree import xml.sax.saxutils import sys @@ -216,9 +215,8 @@ class WebDAVQuery(HTTPQuery): and (headers["content-type"].startswith("application/xml") or headers["content-type"].startswith("text/xml")) and int(headers["content-length"]) > 0): - tree = xml.etree.ElementTree.ElementTree() - stream = cStringIO.StringIO(self.response["body"]) - self.response["document"] = tree.parse(stream) + document = xml.etree.cElementTree.fromstring(self.response["body"]) + self.response["document"] = document class WebDAVMKCOL(WebDAVQuery): method = "MKCOL"