55 lines
2.6 KiB
Python
55 lines
2.6 KiB
Python
|
#!/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"""
|
||
|
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"""
|
||
|
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
|
||
|
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 ))
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
unittest.main()
|