Branch 'python/master' - 2 commits - testfiles/testContactMinimalFromXML.xml tests/test-contact.py
Jeroen van Meeuwen
vanmeeuwen at kolabsys.com
Tue Oct 25 15:47:54 CEST 2011
testfiles/testContactMinimalFromXML.xml | 2 ++
tests/test-contact.py | 25 +++++++++++++++++++++++++
2 files changed, 27 insertions(+)
New commits:
commit 10e18e5a6d92272fb80bac33c54bcb870ea67dcf
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date: Tue Oct 25 14:47:16 2011 +0100
Add testfiles/testContactMinimalFromXML.xml
diff --git a/testfiles/testContactMinimalFromXML.xml b/testfiles/testContactMinimalFromXML.xml
new file mode 100644
index 0000000..7a316ff
--- /dev/null
+++ b/testfiles/testContactMinimalFromXML.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" ?>
+<contact xmlns="http://kolab.org"><uid>0123456789</uid><product-id>PyKolab Format XML Bindings</product-id><creation-date>2011-10-25T14:31:43.604435</creation-date><last-modification-date>2011-10-25T14:31:43.605026</last-modification-date><sensitivity>public</sensitivity><email><smtp-address>vanmeeuwen at kolabsys.com</smtp-address></email></contact>
commit 76297de26689bab7e3b017fd514fc9de6eb25914
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date: Tue Oct 25 14:45:42 2011 +0100
Update test-contact to attempt to read from and write to a document ensuring the content is the same.
diff --git a/tests/test-contact.py b/tests/test-contact.py
index e0196bc..ed4f816 100644
--- a/tests/test-contact.py
+++ b/tests/test-contact.py
@@ -1,5 +1,6 @@
import pyxb
+import os
import sys
import unittest
@@ -9,6 +10,10 @@ from pykolab.format import Name
from pykolab.format import SMTPContact
from pykolab.format import UID
+from pykolab.format import CreateFromDocument
+
+import pykolab.raw.format
+
class TestContact(unittest.TestCase):
"""
Test creating / writing a contact
@@ -98,5 +103,25 @@ class TestContact(unittest.TestCase):
self.assertEqual("Jeroen", mycontact.name.given_name)
self.assertEqual("van Meeuwen", mycontact.name.last_name)
+ def testContactMinimalFromXML(self):
+ xml = open(os.path.join(os.path.dirname(__file__), '..', 'testfiles', "testContactMinimalFromXML.xml")).read().strip()
+ mycontact = CreateFromDocument(xml)
+
+ # Test creation
+
+ # CreateFromDocument creates it's contact in raw format object instances.
+ # This is what we *expect*, but not necessarily what we *want*, as the
+ # objects created from documents will then have no callable shortcut API
+ # functions we so carefully created for them.
+ self.assertTrue(isinstance(mycontact, pykolab.raw.format.Contact))
+ self.assertFalse(isinstance(mycontact, pykolab.format.Contact))
+ self.assertFalse(isinstance(mycontact, Contact))
+
+ self.assertTrue(isinstance(mycontact.email, list))
+ self.assertEqual(1, len(mycontact.email))
+ self.assertTrue(isinstance(mycontact.email[0], SMTPContact))
+ self.assertEqual("vanmeeuwen at kolabsys.com", mycontact.email[0].smtp_address)
+ self.assertEqual(xml, mycontact.toxml())
+
if __name__ == '__main__':
unittest.main()
More information about the commits
mailing list