[CalendarServer-changes] [5623] CalDAVTester/trunk/verifiers/multistatusItems.py
source_changes at macosforge.org
source_changes at macosforge.org
Wed May 19 13:28:45 PDT 2010
Revision: 5623
http://trac.macosforge.org/projects/calendarserver/changeset/5623
Author: cdaboo at apple.com
Date: 2010-05-19 13:28:39 -0700 (Wed, 19 May 2010)
Log Message:
-----------
Add some more useful test variants.
Modified Paths:
--------------
CalDAVTester/trunk/verifiers/multistatusItems.py
Modified: CalDAVTester/trunk/verifiers/multistatusItems.py
===================================================================
--- CalDAVTester/trunk/verifiers/multistatusItems.py 2010-05-19 18:07:32 UTC (rev 5622)
+++ CalDAVTester/trunk/verifiers/multistatusItems.py 2010-05-19 20:28:39 UTC (rev 5623)
@@ -29,6 +29,7 @@
# If no hrefs requested, then assume none should come back
okhrefs = args.get("okhrefs", [])
+ nohrefs = args.get("nohrefs", [])
badhrefs = args.get("badhrefs", [])
statushrefs = {}
for arg in args.keys():
@@ -38,6 +39,7 @@
except ValueError:
pass
count = args.get("count", [])
+ totalcount = args.get("totalcount", [])
prefix = args.get("prefix", [])
ignoremissing = args.get("ignoremissing", [])
if len(prefix):
@@ -45,13 +47,15 @@
else:
prefix = uri
okhrefs = [prefix + i for i in okhrefs]
+ nohrefs = [prefix + i for i in nohrefs]
badhrefs = [prefix + i for i in badhrefs]
for k,v in args.items():
v = [prefix + i for i in v]
args[k] = v
count = [int(i) for i in count]
+ totalcount = [int(i) for i in totalcount]
- if "okhrefs" in args or "badhrefs" in args:
+ if "okhrefs" in args or "nohrefs" in args or "badhrefs" in args:
doOKBad = True
elif statushrefs:
doOKBad = False
@@ -109,6 +113,7 @@
status_code_hrefs.setdefault(code, set()).add(href)
ok_result_set = set(ok_status_hrefs)
ok_test_set = set(okhrefs)
+ no_test_set = set(nohrefs)
bad_result_set = set(bad_status_hrefs)
bad_test_set = set(badhrefs)
@@ -122,14 +127,22 @@
resulttxt += " %d items returned, but %d items expected" % (len(ok_result_set) - 1, count[0], )
return result, resulttxt
+ # Check for total count
+ if len(totalcount) == 1:
+ if len(ok_result_set) != totalcount[0]:
+ result = False
+ resulttxt += " %d items returned, but %d items expected" % (len(ok_result_set), totalcount[0], )
+ return result, resulttxt
+
if doOKBad:
# Now do set difference
ok_missing = ok_test_set.difference( ok_result_set )
ok_extras = ok_result_set.difference( ok_test_set ) if not ignoremissing else set()
+ no_extras = ok_result_set.intersection( no_test_set )
bad_missing = bad_test_set.difference( bad_result_set )
bad_extras = bad_result_set.difference( bad_test_set )
- if len( ok_missing ) + len( ok_extras ) + len( bad_missing ) + len( bad_extras )!= 0:
+ if len( ok_missing ) + len( ok_extras ) + len( no_extras ) + len( bad_missing ) + len( bad_extras )!= 0:
if len( ok_missing ) != 0:
l = list( ok_missing )
resulttxt += " %d Items not returned in report (OK):" % (len( ok_missing ), )
@@ -142,6 +155,12 @@
for i in l:
resulttxt += " " + str(i)
resulttxt += "\n"
+ if len( no_extras ) != 0:
+ l = list( no_extras )
+ resulttxt += " %d Unwanted items returned in report (OK):" % (len( no_extras ), )
+ for i in l:
+ resulttxt += " " + str(i)
+ resulttxt += "\n"
if len( bad_missing ) != 0:
l = list( bad_missing )
resulttxt += " %d Items not returned in report (BAD):" % (len( bad_missing ), )
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100519/897d737a/attachment.html>
More information about the calendarserver-changes
mailing list