[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