d73757c3ad
Monotone-Revision: 342a840830ca9a56c37f7c05d3a5defaf3099bb7 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2009-12-22T20:35:19 Monotone-Branch: ca.inverse.sogo
56 lines
2.7 KiB
Python
Executable file
56 lines
2.7 KiB
Python
Executable file
#!/usr/bin/python
|
|
|
|
from config import hostname, port, username, password
|
|
|
|
import unittest
|
|
import webdavlib
|
|
|
|
class WebDAVTest(unittest.TestCase):
|
|
def testPrincipalCollectionSet(self):
|
|
"""property: 'principal-collection-set' on collection object"""
|
|
client = webdavlib.WebDAVClient(hostname, port, username, password)
|
|
resource = '/SOGo/dav/%s/' % username
|
|
propfind = webdavlib.WebDAVPROPFIND(resource,
|
|
["{DAV:}principal-collection-set"],
|
|
0)
|
|
propfind.xpath_namespace = { "D": "DAV:" }
|
|
client.execute(propfind)
|
|
assert(propfind.response["status"] == 207)
|
|
nodes = propfind.xpath_evaluate('/D:multistatus/D:response/D:propstat/D:prop/D:principal-collection-set/D:href',
|
|
None)
|
|
responseHref = nodes[0].childNodes[0].nodeValue
|
|
if responseHref[0:4] == "http":
|
|
self.assertEquals("http://%s%s" % (hostname, resource), responseHref,
|
|
"{DAV:}principal-collection-set returned %s instead of '%s'"
|
|
% ( responseHref, resource ))
|
|
else:
|
|
self.assertEquals(resource, responseHref,
|
|
"{DAV:}principal-collection-set returned %s instead of '%s'"
|
|
% ( responseHref, resource ))
|
|
|
|
def testPrincipalCollectionSet2(self):
|
|
"""property: 'principal-collection-set' on non-collection object"""
|
|
client = webdavlib.WebDAVClient(hostname, port, username, password)
|
|
resource = '/SOGo/dav/%s/freebusy.ifb' % username
|
|
propfind = webdavlib.WebDAVPROPFIND(resource,
|
|
["{DAV:}principal-collection-set"],
|
|
0)
|
|
propfind.xpath_namespace = { "D": "DAV:" }
|
|
client.execute(propfind)
|
|
assert(propfind.response["status"] == 207)
|
|
nodes = propfind.xpath_evaluate('/D:multistatus/D:response/D:propstat/D:prop/D:principal-collection-set/D:href',
|
|
None)
|
|
responseHref = nodes[0].childNodes[0].nodeValue
|
|
expectedHref = '/SOGo/dav/%s/' % username
|
|
if responseHref[0:4] == "http":
|
|
self.assertEquals("http://%s%s" % (hostname, expectedHref), responseHref,
|
|
"{DAV:}principal-collection-set returned %s instead of '%s'"
|
|
% ( responseHref, expectedHref ))
|
|
else:
|
|
self.assertEquals(expectedHref, responseHref,
|
|
"{DAV:}principal-collection-set returned %s instead of '%s'"
|
|
% ( responseHref, expectedHref ))
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|