Monotone-Parent: 22bcd9c626e305661b31c70a49c93352266c2dc8

Monotone-Revision: ed7f1623b0cb7e935297f6652b76074c1ff952df

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2012-07-16T13:35:02
This commit is contained in:
Wolfgang Sourdeau
2012-07-16 13:35:02 +00:00
parent 91d9836d80
commit 093c984b42
3 changed files with 21 additions and 12 deletions

View File

@@ -1,3 +1,14 @@
2012-07-16 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* 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 <wsourdeau@inverse.ca>
* SoObjects/Appointments/SOGoAppointmentObject.m

View File

@@ -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))

View File

@@ -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"