[CalendarServer-changes] [10705] CalendarServer/trunk/twext/who/test/test_xml.py
source_changes at macosforge.org
source_changes at macosforge.org
Tue Feb 12 13:44:50 PST 2013
Revision: 10705
http://trac.calendarserver.org//changeset/10705
Author: wsanchez at apple.com
Date: 2013-02-12 13:44:50 -0800 (Tue, 12 Feb 2013)
Log Message:
-----------
Tests for flags
Modified Paths:
--------------
CalendarServer/trunk/twext/who/test/test_xml.py
Modified: CalendarServer/trunk/twext/who/test/test_xml.py
===================================================================
--- CalendarServer/trunk/twext/who/test/test_xml.py 2013-02-12 21:44:32 UTC (rev 10704)
+++ CalendarServer/trunk/twext/who/test/test_xml.py 2013-02-12 21:44:50 UTC (rev 10705)
@@ -24,6 +24,8 @@
from twisted.internet.defer import inlineCallbacks
from twext.who.idirectory import NoSuchRecordError
+from twext.who.idirectory import DirectoryQueryMatchExpression
+from twext.who.idirectory import Operand, QueryFlags
from twext.who.xml import ParseError
from twext.who.xml import DirectoryService, DirectoryRecord
@@ -336,6 +338,95 @@
)
+ @inlineCallbacks
+ def test_queryAnd(self):
+ service = self._testService()
+ records = yield service.recordsFromQuery(
+ (
+ DirectoryQueryMatchExpression(
+ service.fieldName.emailAddresses,
+ "shared at example.com",
+ ),
+ DirectoryQueryMatchExpression(
+ service.fieldName.shortNames,
+ "sagen",
+ ),
+ ),
+ operand=Operand.AND
+ )
+ self.assertEquals(
+ set((record.uid for record in records)),
+ set(("__sagen__",)),
+ )
+
+
+ @inlineCallbacks
+ def test_queryOr(self):
+ service = self._testService()
+ records = yield service.recordsFromQuery(
+ (
+ DirectoryQueryMatchExpression(
+ service.fieldName.emailAddresses,
+ "shared at example.com",
+ ),
+ DirectoryQueryMatchExpression(
+ service.fieldName.shortNames,
+ "wsanchez",
+ ),
+ ),
+ operand=Operand.OR
+ )
+ self.assertEquals(
+ set((record.uid for record in records)),
+ set(("__sagen__", "__dre__", "__wsanchez__")),
+ )
+
+
+ @inlineCallbacks
+ def test_queryNot(self):
+ service = self._testService()
+ records = yield service.recordsFromQuery(
+ (
+ DirectoryQueryMatchExpression(
+ service.fieldName.emailAddresses,
+ "shared at example.com",
+ ),
+ DirectoryQueryMatchExpression(
+ service.fieldName.shortNames,
+ "sagen",
+ flags = QueryFlags.NOT,
+ ),
+ ),
+ operand=Operand.AND
+ )
+ self.assertEquals(
+ set((record.uid for record in records)),
+ set(("__dre__",)),
+ )
+
+ test_queryNot.todo = "Not implemented."
+
+
+ @inlineCallbacks
+ def test_queryCaseInsensitive(self):
+ service = self._testService()
+ records = yield service.recordsFromQuery(
+ (
+ DirectoryQueryMatchExpression(
+ service.fieldName.shortNames,
+ "SagEn",
+ flags = QueryFlags.caseInsensitive,
+ ),
+ ),
+ )
+ self.assertEquals(
+ set((record.uid for record in records)),
+ set(("__sagen__",)),
+ )
+
+ test_queryCaseInsensitive.todo = "Not implemented."
+
+
def test_unknownRecordTypesClean(self):
service = self._testService()
self.assertEquals(set(service.unknownRecordTypes), set())
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130212/8dc75d08/attachment.html>
More information about the calendarserver-changes
mailing list