def __init__(self, principalCollections, isdir=False, defaultACL=authReadACL): """ Make sure it is a collection. """ CalDAVResource.__init__(self, principalCollections=principalCollections) self._isDir = isdir self.defaultACL = defaultACL
def __init__(self, principalCollections, isdir=False, defaultACL=authReadACL): """ Make sure it is a collection. """ CalDAVResource.__init__(self, principalCollections=principalCollections) DAVFile.__init__(self, NotFilePath(isfile=not isdir,isdir=isdir), principalCollections=principalCollections) self.defaultACL = defaultACL
def __init__(self, principalCollections, principalDirectory, uri): CalDAVResource.__init__(self, principalCollections=principalCollections) self.principalDirectory = principalDirectory self.uri = uri self.directory = None
def __init__(self, parent, record): """ @param path: the path to the file which will back the resource. """ assert parent is not None assert record is not None CalDAVResource.__init__(self) self.record = record self.parent = parent # Cache children which must be of a specific type childlist = ( ("inbox" , ScheduleInboxResource ), ("outbox", ScheduleOutboxResource), ) if config.EnableDropBox: childlist += ( ("dropbox", DropBoxHomeResource), ) if config.FreeBusyURL.Enabled: childlist += ( ("freebusy", FreeBusyURLResource), ) if config.Sharing.Enabled and config.Sharing.Calendars.Enabled: childlist += ( ("notification", NotificationCollectionResource), ) for name, cls in childlist: child = self.provisionChild(name) # assert isinstance(child, cls), "Child %r is not a %s: %r" % (name, cls.__name__, child) self.putChild(name, child)
def testComplianceClasses(self): resource = CalDAVResource() config.EnableProxyPrincipals = True self.assertTrue("calendar-proxy" in resource.davComplianceClasses()) config.EnableProxyPrincipals = False self.assertTrue("calendar-proxy" not in resource.davComplianceClasses())
def __init__(self, parent): """ @param parent: the parent resource of this one. """ assert parent is not None CalDAVResource.__init__(self, principalCollections=parent.principalCollections()) self.parent = parent
def test_isOwnerUnauthenticated(self): """ L{CalDAVResource.isOwner} returns C{False} for unauthenticated requests. """ site = None request = SimpleRequest(site, "GET", "/not/a/real/url/") request.authzUser = request.authnUser = None rsrc = CalDAVResource() rsrc.owner = lambda igreq: HRef("/somebody/") self.assertEquals((yield rsrc.isOwner(request)), False)
def test_isOwnerYes(self): """ L{CalDAVResource.isOwner} returns C{True} for authenticated requests with a principal that matches the resource's owner. """ site = None request = SimpleRequest(site, "GET", "/not/a/real/url/") request.authzUser = request.authnUser = StubPrincipal("/yes-i-am-the-owner/") rsrc = CalDAVResource() rsrc.owner = lambda igreq: HRef("/yes-i-am-the-owner/") self.assertEquals((yield rsrc.isOwner(request)), True)
class CalDAVResourceTests(TestCase): def setUp(self): TestCase.setUp(self) self.resource = CalDAVResource() self.resource._dead_properties = InMemoryPropertyStore() def test_writeDeadPropertyWritesProperty(self): prop = StubProperty() self.resource.writeDeadProperty(prop) self.assertEquals(self.resource._dead_properties.get(("StubQnamespace", "StubQname")), prop)
class CalDAVResourceTests(TestCase): def setUp(self): TestCase.setUp(self) self.resource = CalDAVResource() self.resource._dead_properties = InMemoryPropertyStore() def test_writeDeadPropertyWritesProperty(self): prop = StubProperty() self.resource.writeDeadProperty(prop) self.assertEquals( self.resource._dead_properties.get( ("StubQnamespace", "StubQname")), prop)
def test_isOwnerReadPrincipal(self): """ L{CalDAVResource.isOwner} returns C{True} for authenticated requests with a principal that matches any principal configured in the L{AdminPrincipals} list. """ theAdmin = "/read-only-admin/" self.patch(config, "ReadPrincipals", [theAdmin]) site = None request = SimpleRequest(site, "GET", "/not/a/real/url/") request.authzUser = request.authnUser = StubPrincipal(theAdmin) rsrc = CalDAVResource() rsrc.owner = lambda igreq: HRef("/some-other-user/") self.assertEquals((yield rsrc.isOwner(request)), True)
def testComplianceClasses(self): resource = CalDAVResource() config.EnableProxyPrincipals = True self.assertTrue("calendar-proxy" in resource.davComplianceClasses()) config.EnableProxyPrincipals = False self.assertTrue( "calendar-proxy" not in resource.davComplianceClasses()) self.assertTrue( "calendarserver-group-sharee" in resource.davComplianceClasses()) config.Sharing.Calendars.Groups.Enabled = False config.update() self.assertTrue("calendarserver-group-sharee" not in resource.davComplianceClasses()) config.Sharing.Calendars.Groups.Enabled = True config.update() self.assertTrue( "calendarserver-group-attendee" in resource.davComplianceClasses()) config.GroupAttendees.Enabled = False config.update() self.assertTrue("calendarserver-group-attendee" not in resource.davComplianceClasses()) config.GroupAttendees.Enabled = True config.update()
def __init__(self, parent, record): """ @param path: the path to the file which will back the resource. """ assert parent is not None assert record is not None CalDAVResource.__init__(self) self.record = record self.parent = parent childlist = () if config.Sharing.Enabled and config.Sharing.AddressBooks.Enabled and not config.Sharing.Calendars.Enabled: childlist += ( ("notification", NotificationCollectionResource), ) for name, cls in childlist: child = self.provisionChild(name) assert isinstance(child, cls), "Child %r is not a %s: %r" % (name, cls.__name__, child) self.putChild(name, child)
def testComplianceClasses(self): resource = CalDAVResource() config.EnableProxyPrincipals = True self.assertTrue("calendar-proxy" in resource.davComplianceClasses()) config.EnableProxyPrincipals = False self.assertTrue("calendar-proxy" not in resource.davComplianceClasses()) self.assertTrue("calendarserver-group-sharee" in resource.davComplianceClasses()) config.Sharing.Calendars.Groups.Enabled = False config.update() self.assertTrue("calendarserver-group-sharee" not in resource.davComplianceClasses()) config.Sharing.Calendars.Groups.Enabled = True config.update() self.assertTrue("calendarserver-group-attendee" in resource.davComplianceClasses()) config.GroupAttendees.Enabled = False config.update() self.assertTrue("calendarserver-group-attendee" not in resource.davComplianceClasses()) config.GroupAttendees.Enabled = True config.update()
def __init__(self, principalCollections, uri): CalDAVResource.__init__(self, principalCollections=principalCollections) self.uri = uri self.directory = None # creates directory attribute
def setUp(self): TestCase.setUp(self) self.resource = CalDAVResource() self.resource._dead_properties = InMemoryPropertyStore()
def __init__(self, parent): self._parent = parent CalDAVResource.__init__(self)