Monotone-Parent: 22a2d4f70700185e46dc44f47891c774fa83e592
Monotone-Revision: 5f1640d17dbc95901d131c16f8d4499aa044594c Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2009-12-08T21:15:56 Monotone-Branch: ca.inverse.sogomaint-2.0.2
parent
cb9423595c
commit
e361b6615f
|
@ -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>
|
2009-12-07 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||||
|
|
||||||
* UI/PreferencesUI/UIxPreferences.m (-defaultAction):
|
* UI/PreferencesUI/UIxPreferences.m (-defaultAction):
|
||||||
|
|
10
Main/SOGo.m
10
Main/SOGo.m
|
@ -581,10 +581,18 @@ static BOOL debugLeaks;
|
||||||
- (NSString *) davURLAsString
|
- (NSString *) davURLAsString
|
||||||
{
|
{
|
||||||
NSURL *davURL;
|
NSURL *davURL;
|
||||||
|
NSString *davURLAsString;
|
||||||
|
|
||||||
davURL = [self davURL];
|
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
|
- (NSURL *) soURL
|
||||||
|
|
|
@ -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()
|
Loading…
Reference in New Issue