[CalendarServer-changes] [12590] twext/trunk/twext/who/test/test_directory.py
source_changes at macosforge.org
source_changes at macosforge.org
Wed Mar 12 11:19:23 PDT 2014
Revision: 12590
http://trac.calendarserver.org//changeset/12590
Author: wsanchez at apple.com
Date: 2014-02-06 10:58:21 -0800 (Thu, 06 Feb 2014)
Log Message:
-----------
share code
Modified Paths:
--------------
twext/trunk/twext/who/test/test_directory.py
Modified: twext/trunk/twext/who/test/test_directory.py
===================================================================
--- twext/trunk/twext/who/test/test_directory.py 2014-02-06 18:32:15 UTC (rev 12589)
+++ twext/trunk/twext/who/test/test_directory.py 2014-02-06 18:58:21 UTC (rev 12590)
@@ -732,11 +732,9 @@
)
- def test_initWithContainerClassFieldType_valid(self):
+ def _test_containerClassFieldType(self, callback):
"""
- If C{valueType} is L{Names}, L{Values} or L{Flags}, the expected type
- is L{NamedConstant}, L{ValueConstant} or L{FlagConstant}, respectively.
- Check that these can be used as fields.
+ Scaffold for test_initWithContainerClassFieldType_*.
"""
class ConstantHavingDirectoryService(self.serviceClass):
@@ -758,45 +756,40 @@
(service.fieldName.access, Access.read),
):
fields = baseFields.copy()
+ callback(service, fields, fieldName, validValue)
+
+
+ def test_initWithContainerClassFieldType_valid(self):
+ """
+ If C{valueType} is L{Names}, L{Values} or L{Flags}, the expected type
+ is L{NamedConstant}, L{ValueConstant} or L{FlagConstant}, respectively.
+ Check that these can be used as fields.
+ """
+ def callback(service, fields, fieldName, validValue):
fields.update({fieldName: validValue})
record = self.makeRecord(fields=fields, service=service)
self.assertEquals(record.fields[fieldName], validValue)
+ self._test_containerClassFieldType(callback)
+
def test_initWithContainerClassFieldType_invalid(self):
"""
If C{valueType} is L{Names}, L{Values} or L{Flags}, the expected type
is L{NamedConstant}, L{ValueConstant} or L{FlagConstant}, respectively.
Check that other types raise.
"""
-
- class ConstantHavingDirectoryService(self.serviceClass):
- fieldName = ConstantsContainer((
- self.serviceClass.fieldName, ConstantHavingFieldName
- ))
-
- service = self.service(subClass=ConstantHavingDirectoryService)
-
- baseFields = {
- FieldName.uid: u"UID:sam",
- FieldName.recordType: RecordType.user,
- FieldName.shortNames: (u"sam",),
- }
-
- for fieldName, validValue in (
- (service.fieldName.eyeColor, Color.blue),
- (service.fieldName.language, Language.English),
- (service.fieldName.access, Access.read),
- ):
+ def callback(service, fields, fieldName, validValue):
for invalidValue in (u"string", None, object()):
- fields = baseFields.copy()
fields.update({fieldName: invalidValue})
self.assertRaises(
InvalidDirectoryRecordError,
self.makeRecord, fields=fields, service=service
)
+ self._test_containerClassFieldType(callback)
+
def test_repr(self):
"""
L{DirectoryRecord.repr} returns the expected string.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140312/a1ed20e1/attachment.html>
More information about the calendarserver-changes
mailing list