Monotone-Parent: 22a2d4f70700185e46dc44f47891c774fa83e592

Monotone-Revision: 5f1640d17dbc95901d131c16f8d4499aa044594c

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2009-12-08T21:15:56
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2009-12-08 21:15:56 +00:00
parent cb9423595c
commit e361b6615f
3 changed files with 69 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2009-12-08 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* Main/SOGo.m (-davURLAsString): we ensure that the url ends with
"/" since the /SOGo object is a collection and the caller may rely
on this.
2009-12-07 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* UI/PreferencesUI/UIxPreferences.m (-defaultAction):

View File

@ -581,10 +581,18 @@ static BOOL debugLeaks;
- (NSString *) davURLAsString
{
NSURL *davURL;
NSString *davURLAsString;
davURL = [self davURL];
return (useRelativeURLs ? [davURL path] : [davURL absoluteString]);
/* we know that GNUstep returns a "/" suffix for the absoluteString but not
for the path method. Therefore we add one. */
if (useRelativeURLs)
davURLAsString = [NSString stringWithFormat: @"%@/", [davURL path]];
else
davURLAsString = [davURL absoluteString];
return davURLAsString;
}
- (NSURL *) soURL

View File

@ -0,0 +1,54 @@
#!/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()