[CalendarServer-changes] [10708] CalendarServer/trunk/twext/who/test/test_xml.py

source_changes at macosforge.org source_changes at macosforge.org
Tue Feb 12 16:44:02 PST 2013


Revision: 10708
          http://trac.calendarserver.org//changeset/10708
Author:   wsanchez at apple.com
Date:     2013-02-12 16:44:02 -0800 (Tue, 12 Feb 2013)
Log Message:
-----------
More tests

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 23:00:12 UTC (rev 10707)
+++ CalendarServer/trunk/twext/who/test/test_xml.py	2013-02-13 00:44:02 UTC (rev 10708)
@@ -25,7 +25,7 @@
 
 from twext.who.idirectory import NoSuchRecordError
 from twext.who.idirectory import DirectoryQueryMatchExpression
-from twext.who.idirectory import Operand, QueryFlags
+from twext.who.idirectory import Operand, MatchType, QueryFlags
 from twext.who.xml import ParseError
 from twext.who.xml import DirectoryService, DirectoryRecord
 
@@ -427,6 +427,88 @@
     test_queryCaseInsensitive.todo = "Not implemented."
 
 
+    @inlineCallbacks
+    def test_noIndexQueryStartsWith(self):
+        service = self._testService()
+        records = yield service.recordsFromQuery(
+            (
+                DirectoryQueryMatchExpression(
+                    service.fieldName.fullNames,
+                    "Wilfredo",
+                    matchType = MatchType.startsWith,
+                ),
+            ),
+        )
+        self.assertEquals(
+            set((record.uid for record in records)),
+            set(("__wsanchez__",)),
+        )
+
+    test_noIndexQueryStartsWith.todo = "Not implemented."
+
+
+    @inlineCallbacks
+    def test_noIndexQueryStartsWithCaseInsensitive(self):
+        service = self._testService()
+        records = yield service.recordsFromQuery(
+            (
+                DirectoryQueryMatchExpression(
+                    service.fieldName.fullNames,
+                    "wilfrEdo",
+                    matchType = MatchType.startsWith,
+                    flags = QueryFlags.caseInsensitive,
+                ),
+            ),
+        )
+        self.assertEquals(
+            set((record.uid for record in records)),
+            set(("__wsanchez__",)),
+        )
+
+    test_noIndexQueryStartsWithCaseInsensitive.todo = "Not implemented."
+
+
+    @inlineCallbacks
+    def test_noIndexQueryContains(self):
+        service = self._testService()
+        records = yield service.recordsFromQuery(
+            (
+                DirectoryQueryMatchExpression(
+                    service.fieldName.fullNames,
+                    "fredo",
+                    matchType = MatchType.contains,
+                ),
+            ),
+        )
+        self.assertEquals(
+            set((record.uid for record in records)),
+            set(("__wsanchez__",)),
+        )
+
+    test_noIndexQueryContains.todo = "Not implemented."
+
+
+    @inlineCallbacks
+    def test_noIndexQueryContainsCaseInsensitive(self):
+        service = self._testService()
+        records = yield service.recordsFromQuery(
+            (
+                DirectoryQueryMatchExpression(
+                    service.fieldName.fullNames,
+                    "frEdo",
+                    matchType = MatchType.contains,
+                    flags = QueryFlags.caseInsensitive,
+                ),
+            ),
+        )
+        self.assertEquals(
+            set((record.uid for record in records)),
+            set(("__wsanchez__",)),
+        )
+
+    test_noIndexQueryContainsCaseInsensitive.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/b1678903/attachment-0001.html>


More information about the calendarserver-changes mailing list