[CalendarServer-changes] [11876] CalendarServer/trunk/twext/who

source_changes at macosforge.org source_changes at macosforge.org
Wed Mar 12 11:23:24 PDT 2014


Revision: 11876
          http://trac.calendarserver.org//changeset/11876
Author:   wsanchez at apple.com
Date:     2013-11-01 16:54:27 -0700 (Fri, 01 Nov 2013)
Log Message:
-----------
Rework test_directory so that we don't have skipped tests.

Modified Paths:
--------------
    CalendarServer/trunk/twext/who/directory.py
    CalendarServer/trunk/twext/who/test/test_aggregate.py
    CalendarServer/trunk/twext/who/test/test_directory.py
    CalendarServer/trunk/twext/who/test/test_xml.py

Modified: CalendarServer/trunk/twext/who/directory.py
===================================================================
--- CalendarServer/trunk/twext/who/directory.py	2013-11-01 23:53:38 UTC (rev 11875)
+++ CalendarServer/trunk/twext/who/directory.py	2013-11-01 23:54:27 UTC (rev 11876)
@@ -285,9 +285,11 @@
 
     def members(self):
         if self.recordType == RecordType.group:
-            raise NotImplementedError("Subclasses must implement members()")
+            return fail(
+                NotImplementedError("Subclasses must implement members()")
+            )
         return succeed(())
 
 
     def groups(self):
-        raise NotImplementedError("Subclasses must implement groups()")
+        return fail(NotImplementedError("Subclasses must implement groups()"))

Modified: CalendarServer/trunk/twext/who/test/test_aggregate.py
===================================================================
--- CalendarServer/trunk/twext/who/test/test_aggregate.py	2013-11-01 23:53:38 UTC (rev 11875)
+++ CalendarServer/trunk/twext/who/test/test_aggregate.py	2013-11-01 23:54:27 UTC (rev 11876)
@@ -26,7 +26,8 @@
 from twext.who.util import ConstantsContainer
 
 from twext.who.test import test_directory, test_xml
-from twext.who.test.test_xml import QueryMixIn, xmlService, TestService as XMLTestService
+from twext.who.test.test_xml import QueryMixIn, xmlService
+from twext.who.test.test_xml import TestService as XMLTestService
 
 
 
@@ -68,7 +69,7 @@
 
 
 
-class DirectoryServiceImmutableTest(BaseTest, test_directory.DirectoryServiceImmutableTest):
+class DirectoryServiceImmutableTest(BaseTest, test_directory.BaseDirectoryServiceImmutableTest):
     pass
 
 
@@ -98,7 +99,7 @@
 
 
 
-class DirectoryServiceAggregatedImmutableTest(AggregatedBaseTest, test_directory.DirectoryServiceImmutableTest):
+class DirectoryServiceAggregatedImmutableTest(AggregatedBaseTest, test_directory.BaseDirectoryServiceImmutableTest):
     pass
 
 

Modified: CalendarServer/trunk/twext/who/test/test_directory.py
===================================================================
--- CalendarServer/trunk/twext/who/test/test_directory.py	2013-11-01 23:53:38 UTC (rev 11875)
+++ CalendarServer/trunk/twext/who/test/test_directory.py	2013-11-01 23:54:27 UTC (rev 11876)
@@ -31,7 +31,7 @@
 
 
 
-class BaseTest(unittest.TestCase):
+class ServiceMixIn(object):
     realmName = "xyzzy"
 
 
@@ -42,7 +42,7 @@
 
 
 
-class DirectoryServiceTest(BaseTest):
+class BaseDirectoryServiceTest(ServiceMixIn):
     def test_interface(self):
         service = self.service()
         try:
@@ -69,13 +69,6 @@
         )
 
 
-    # @inlineCallbacks
-    # def test_recordsFromExpression(self):
-    #     service = self.service()
-    #     result = yield(service.recordsFromExpression(None))
-    #     self.assertIsInstance(result, QueryNotSupportedError)
-
-
     @inlineCallbacks
     def test_recordsFromQueryNone(self):
         service = self.service()
@@ -113,7 +106,55 @@
 
 
 
-class DirectoryServiceImmutableTest(BaseTest):
+class DirectoryServiceTest(unittest.TestCase, BaseDirectoryServiceTest):
+    def test_recordsFromExpression(self):
+        service = self.service()
+        result = yield(service.recordsFromExpression(None))
+        self.assertFailure(result, QueryNotSupportedError)
+
+
+    def test_recordWithUID(self):
+        service = self.service()
+        self.assertFailure(
+            service.recordWithUID(None),
+            QueryNotSupportedError
+        )
+
+
+    def test_recordWithGUID(self):
+        service = self.service()
+        self.assertFailure(
+            service.recordWithGUID(None),
+            QueryNotSupportedError
+        )
+
+
+    def test_recordsWithRecordType(self):
+        service = self.service()
+        self.assertFailure(
+            service.recordsWithRecordType(None),
+            QueryNotSupportedError
+        )
+
+
+    def test_recordWithShortName(self):
+        service = self.service()
+        self.assertFailure(
+            service.recordWithShortName(None, None),
+            QueryNotSupportedError
+        )
+
+
+    def test_recordsWithEmailAddress(self):
+        service = self.service()
+        self.assertFailure(
+            service.recordsWithEmailAddress(None),
+            QueryNotSupportedError
+        )
+
+
+
+class BaseDirectoryServiceImmutableTest(ServiceMixIn):
     def test_updateRecordsNotAllowed(self):
         service = self.service()
 
@@ -148,7 +189,15 @@
 
 
 
-class DirectoryRecordTest(BaseTest):
+class DirectoryServiceImmutableTest(
+    unittest.TestCase,
+    BaseDirectoryServiceImmutableTest,
+):
+    pass
+
+
+
+class BaseDirectoryRecordTest(ServiceMixIn):
     fields_wsanchez = {
         FieldName.uid: "UID:wsanchez",
         FieldName.recordType: RecordType.user,
@@ -179,7 +228,15 @@
         FieldName.emailAddresses: ("sagen at CalendarServer.org",)
     }
 
+    fields_staff = {
+        FieldName.uid: "UID:staff",
+        FieldName.recordType: RecordType.group,
+        FieldName.shortNames: ("staff",),
+        FieldName.fullNames: ("Staff",),
+        FieldName.emailAddresses: ("staff at CalendarServer.org",)
+    }
 
+
     def _testRecord(self, fields=None, service=None):
         if fields is None:
             fields = self.fields_wsanchez
@@ -295,10 +352,10 @@
             wsanchez.fields[FieldName.emailAddresses]
         )
 
+
     @inlineCallbacks
     def test_members(self):
         wsanchez = self._testRecord(self.fields_wsanchez)
-
         self.assertEquals(
             set((yield wsanchez.members())),
             set()
@@ -306,5 +363,24 @@
 
         raise SkipTest("Subclasses should implement this test.")
 
+
     def test_groups(self):
         raise SkipTest("Subclasses should implement this test.")
+
+
+
+class DirectoryRecordTest(unittest.TestCase, BaseDirectoryRecordTest):
+    def test_members(self):
+        wsanchez = self._testRecord(self.fields_wsanchez)
+        self.assertEquals(
+            set((yield wsanchez.members())),
+            set()
+        )
+
+        staff = self._testRecord(self.fields_staff)
+        self.assertFailure(staff.members(), NotImplementedError)
+
+
+    def test_groups(self):
+        wsanchez = self._testRecord(self.fields_wsanchez)
+        self.assertFailure(wsanchez.groups(), NotImplementedError)

Modified: CalendarServer/trunk/twext/who/test/test_xml.py
===================================================================
--- CalendarServer/trunk/twext/who/test/test_xml.py	2013-11-01 23:53:38 UTC (rev 11875)
+++ CalendarServer/trunk/twext/who/test/test_xml.py	2013-11-01 23:54:27 UTC (rev 11876)
@@ -47,7 +47,7 @@
 
 
 
-class DirectoryServiceBaseTest(BaseTest, test_directory.DirectoryServiceTest):
+class DirectoryServiceBaseTest(BaseTest, test_directory.BaseDirectoryServiceTest):
     def test_repr(self):
         service = self.service()
 
@@ -659,7 +659,7 @@
 
 
 
-class DirectoryRecordTest(BaseTest, test_directory.DirectoryRecordTest):
+class DirectoryRecordTest(BaseTest, test_directory.BaseDirectoryRecordTest):
     @inlineCallbacks
     def test_members(self):
         service = self.service()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140312/167d4766/attachment.html>


More information about the calendarserver-changes mailing list