[CalendarServer-changes] [5007] CalDAVTester/trunk/verifiers/calendarDataMatch.py
source_changes at macosforge.org
source_changes at macosforge.org
Mon Feb 1 17:41:26 PST 2010
Revision: 5007
http://trac.macosforge.org/projects/calendarserver/changeset/5007
Author: cdaboo at apple.com
Date: 2010-02-01 17:41:26 -0800 (Mon, 01 Feb 2010)
Log Message:
-----------
Better calendar data normalization for tests against other servers.
Modified Paths:
--------------
CalDAVTester/trunk/verifiers/calendarDataMatch.py
Modified: CalDAVTester/trunk/verifiers/calendarDataMatch.py
===================================================================
--- CalDAVTester/trunk/verifiers/calendarDataMatch.py 2010-02-02 01:25:32 UTC (rev 5006)
+++ CalDAVTester/trunk/verifiers/calendarDataMatch.py 2010-02-02 01:41:26 UTC (rev 5007)
@@ -18,6 +18,7 @@
from vobject.base import Component
from difflib import unified_diff
import StringIO
+from vobject.icalendar import RecurringComponent, TimezoneComponent
"""
Verifier that checks the response body for an exact match to data in a file.
@@ -30,6 +31,14 @@
files = args.get("filepath", [])
filters = args.get("filter", [])
+ if "EMAIL parameter" not in manager.server_info.features:
+ filters.append("ATTENDEE:EMAIL")
+ filters.append("ORGANIZER:EMAIL")
+ filters.append("CALSCALE")
+ filters.append("PRODID")
+ filters.append("CREATED")
+ filters.append("LAST-MODIFIED")
+
# status code must be 200, 207
if response.status not in (200,207):
return False, " HTTP Status Code Wrong: %d" % (response.status,)
@@ -81,15 +90,29 @@
if item.name == filter:
component.remove(item)
+ def normalizeRRULE(calobj):
+
+ for component in calobj.getChildren():
+ if isinstance(component, RecurringComponent):
+ rruleset = component.rruleset
+ if rruleset:
+ component.rruleset = rruleset
+ elif isinstance(component, TimezoneComponent):
+ tzinfo = component.tzinfo
+ if tzinfo:
+ component.tzinfo = tzinfo
+
s = StringIO.StringIO(respdata)
try:
resp_calendar = readOne(s)
removePropertiesParameters(resp_calendar)
+ normalizeRRULE(resp_calendar)
respdata = resp_calendar.serialize()
s = StringIO.StringIO(data)
data_calendar = readOne(s)
removePropertiesParameters(data_calendar)
+ normalizeRRULE(data_calendar)
data = data_calendar.serialize()
result = respdata == data
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100201/fbd851cf/attachment.html>
More information about the calendarserver-changes
mailing list