[CalendarServer-changes] [12492] twext/trunk

source_changes at macosforge.org source_changes at macosforge.org
Wed Mar 12 11:20:43 PDT 2014


Revision: 12492
          http://trac.calendarserver.org//changeset/12492
Author:   wsanchez at apple.com
Date:     2014-01-30 16:21:09 -0800 (Thu, 30 Jan 2014)
Log Message:
-----------
Add tests for unknown field elements.

Modified Paths:
--------------
    twext/trunk/bin/test
    twext/trunk/twext/who/test/test_xml.py

Modified: twext/trunk/bin/test
===================================================================
--- twext/trunk/bin/test	2014-01-31 00:20:06 UTC (rev 12491)
+++ twext/trunk/bin/test	2014-01-31 00:21:09 UTC (rev 12492)
@@ -19,6 +19,10 @@
 set -e;
 set -u;
 
+#
+# Initialize build support
+#
+
 wd="$(cd "$(dirname "$0")/.." && pwd -L)";
 
 export TWEXT_DEVELOP="true";
@@ -26,22 +30,22 @@
 . "${wd}/bin/_build.sh";
 
 init_build > /dev/null;
-c_dependencies >> "${dev_home}/setup.log";
-py_dependencies >> "${dev_home}/setup.log";
 
-##
+
+
+#
 # Options
-##
+#
 
 do_setup="false";
-do_get="false";
+  do_get="false";
 
-random="--random=$(date "+%s")";
-no_color="";
+    random="--random=$(date "+%s")";
+  no_color="";
 until_fail="";
-coverage="";
-numjobs="";
-reactor="";
+  coverage="";
+   numjobs="";
+   reactor="";
 
 if [ "$(uname -s)" == "Darwin" ]; then
   reactor="--reactor=kqueue";
@@ -87,16 +91,28 @@
   lint="false";
 fi;
 
-##
+
+
+#
+# Dependencies
+#
+
+c_dependencies >> "${dev_home}/setup.log";
+py_dependencies >> "${dev_home}/setup.log";
+
+
+
+#
 # Clean up
-##
+#
 
 find "${wd}" -name \*.pyc -print0 | xargs -0 rm;
 
 
-##
+
+#
 # Unit tests
-##
+#
 
 cd "${wd}" && "${wd}/bin/trial"         \
   --temp-directory="${dev_home}/trial"  \
@@ -115,9 +131,10 @@
 fi;
 
 
-##
+
+#
 # Linting
-##
+#
 
 echo "";
 echo "Running pyflakes...";
@@ -132,9 +149,10 @@
 rm -f "${tmp}";
 
 
-##
+
+#
 # Empty files
-##
+#
 
 echo "";
 echo "Checking for empty files...";

Modified: twext/trunk/twext/who/test/test_xml.py
===================================================================
--- twext/trunk/twext/who/test/test_xml.py	2014-01-31 00:20:06 UTC (rev 12491)
+++ twext/trunk/twext/who/test/test_xml.py	2014-01-31 00:21:09 UTC (rev 12492)
@@ -780,10 +780,46 @@
             </directory>
             """[1:]
         )))
+
         self.assertEquals(set(service.unknownRecordTypes), set((u"camera",)))
 
 
+    def test_unknownFieldElementClean(self):
+        service = self.service()
+        self.assertEquals(set(service.unknownFieldElements), set())
 
+
+    @inlineCallbacks
+    def test_unknownFieldElementDirty(self):
+        service = self.service(xmlData=(dedent(
+            b"""
+            <?xml version="1.0" encoding="utf-8"?>
+
+            <directory realm="Unknown Record Types">
+              <record type="user">
+                <uid>__wsanchez__</uid>
+                <short-name>wsanchez</short-name>
+                <nickname>Larry</nickname>
+              </record>
+            </directory>
+            """[1:]
+        )))
+
+        self.assertEquals(
+            set(service.unknownFieldElements),
+            set((u"nickname",))
+        )
+
+        # Make sure that the 'short-name', which was parsed prior to nickname
+        # is correct.  That is, make sure that we continue as soon as we
+        # notice the unknown field name and don't populate the previous field.
+
+        record = yield service.recordWithUID(u"__wsanchez__")
+
+        self.assertEquals(set(record.shortNames), set((u"wsanchez",)))
+
+
+
 class DirectoryRecordTest(
     unittest.TestCase,
     BaseTest,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140312/8ff7e21e/attachment.html>


More information about the calendarserver-changes mailing list