From b3cd6000b3d032d573f0b6b8427b47c6a1e97b01 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Thu, 1 Oct 2009 13:06:42 +0000 Subject: [PATCH] Monotone-Parent: 2343cf0483a88365cd0d1c11ced3cc7be4d6f64f Monotone-Revision: 9bfc62d1f8b6f1f623da41eaca1ab3b7903a1c63 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2009-10-01T13:06:42 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 3 ++ Tests/test-maildav.py | 112 ++++++++++++++++++++++-------------------- 2 files changed, 62 insertions(+), 53 deletions(-) diff --git a/ChangeLog b/ChangeLog index f84abc181..d0850c935 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2009-10-01 Wolfgang Sourdeau + * Tests/test-maildav.py (DAVMailCollectionTest.testPUT): fixed to + delete the test collection prior to the test + * SoObjects/Appointments/SOGoAppointmentFolders.m (-proxyFoldersWithWriteAccess:): return an autoreleased "proxyFolders" to avoid a leak. diff --git a/Tests/test-maildav.py b/Tests/test-maildav.py index 4c4dd0411..992140bee 100755 --- a/Tests/test-maildav.py +++ b/Tests/test-maildav.py @@ -65,59 +65,7 @@ class DAVMailCollectionTest(unittest.TestCase): username.replace("@", "_A_").replace (".", "_D_"), mailserver) - def testGeneric(self): - """Test folder creation / listing""" - self._makeCollection ("test-dav-mail-%40-abc") - self._deleteCollection ("test-dav-mail-%40-abc") - self._makeCollection ("test-dav-mail-@-def") - self._deleteCollection ("test-dav-mail-@-def") - self._makeCollection ("test-dav-mail-%20-ghi") - self._deleteCollection ("test-dav-mail-%20-ghi") - self._makeCollection ("test-dav-mail-%25-jkl", 500) - - # Test MOVE -# self._makeCollection ("test-dav-mail-movable") -# url = "%sfolder%s" % (self.resource, "test-dav-mail-movable") -# move = webdavlib.WebDAVMOVE (url) -# move.destination = "http://cyril.dev%s%s2" % (self.resource, "test-dav-mail-movable") -# move.host = "cyril.dev" -# self.client.execute (move) -# self.assertEquals(move.response["status"], 204, -# "failure creating collection" -# "(code = %d)" % move.response["status"]) - - #Test PUT - self._makeCollection ("test-dav-mail") - url = "%s%s" % (self.resource, "foldertest-dav-mail/") - put = webdavlib.WebDAVPUT (url, message1) - self.client.execute (put) - self.assertEquals(put.response["status"], 201, - "failure putting message" - "(code = %d)" % put.response["status"]) - - itemLocation = put.response["headers"]["location"] - get = webdavlib.WebDAVGET (itemLocation) - self.client.execute (get) - self.assertEquals(get.response["status"], 200, - "failure getting item" - "(code = %d)" % get.response["status"]) - - url = "%s%s" % (self.resource, "foldertest-dav-mail/blabla.eml") - put = webdavlib.WebDAVPUT (url, message1) - self.client.execute (put) - self.assertEquals(put.response["status"], 201, - "failure putting message" - "(code = %d)" % put.response["status"]) - - itemLocation = put.response["headers"]["location"] - get = webdavlib.WebDAVGET (itemLocation) - self.client.execute (get) - self.assertEquals(get.response["status"], 200, - "failure getting item" - "(code = %d)" % get.response["status"]) - - self._deleteCollection ("test-dav-mail") - + ## helper methods def _makeCollection (self, name, status = 201): url = "%s%s" % (self.resource, name) mkcol = webdavlib.WebDAVMKCOL(url) @@ -145,5 +93,63 @@ class DAVMailCollectionTest(unittest.TestCase): " expected status code '%d' (received '%d')" % (filename, exp_status, put.response["status"])) + def testMKCOL(self): + """Folder creation""" + self._makeCollection ("test-dav-mail-%40-abc") + self._deleteCollection ("test-dav-mail-%40-abc") + self._makeCollection ("test-dav-mail-@-def") + self._deleteCollection ("test-dav-mail-@-def") + self._makeCollection ("test-dav-mail-%20-ghi") + self._deleteCollection ("test-dav-mail-%20-ghi") + self._makeCollection ("test-dav-mail-%25-jkl", 500) + + # Test MOVE +# self._makeCollection ("test-dav-mail-movable") +# url = "%sfolder%s" % (self.resource, "test-dav-mail-movable") +# move = webdavlib.WebDAVMOVE (url) +# move.destination = "http://cyril.dev%s%s2" % (self.resource, "test-dav-mail-movable") +# move.host = "cyril.dev" +# self.client.execute (move) +# self.assertEquals(move.response["status"], 204, +# "failure creating collection" +# "(code = %d)" % move.response["status"]) + + def testPUT(self): + """Message creation""" + self._deleteCollection ("test-dav-mail") + self._makeCollection ("test-dav-mail") + + # message creation on collection url + url = "%s%s" % (self.resource, "foldertest-dav-mail/") + put = webdavlib.WebDAVPUT (url, message1) + self.client.execute (put) + self.assertEquals(put.response["status"], 201, + "failure putting message" + "(code = %d)" % put.response["status"]) + + itemLocation = put.response["headers"]["location"] + get = webdavlib.WebDAVGET (itemLocation) + self.client.execute (get) + self.assertEquals(get.response["status"], 200, + "failure getting item" + "(code = %d)" % get.response["status"]) + + # message creation with explicit filename + url = "%s%s" % (self.resource, "foldertest-dav-mail/blabla.eml") + put = webdavlib.WebDAVPUT (url, message1) + self.client.execute (put) + self.assertEquals(put.response["status"], 201, + "failure putting message" + "(code = %d)" % put.response["status"]) + + itemLocation = put.response["headers"]["location"] + get = webdavlib.WebDAVGET (itemLocation) + self.client.execute (get) + self.assertEquals(get.response["status"], 200, + "failure getting item" + "(code = %d)" % get.response["status"]) + + self._deleteCollection ("test-dav-mail") + if __name__ == "__main__": unittest.main()