Ejemplo n.º 1
0
 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
Ejemplo n.º 4
0
    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 __init__(self, principalCollections, principalDirectory, uri):

        CalDAVResource.__init__(self, principalCollections=principalCollections)

        self.principalDirectory = principalDirectory
        self.uri = uri
        self.directory = None
Ejemplo n.º 6
0
    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())
Ejemplo n.º 7
0
    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())
Ejemplo n.º 8
0
    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
Ejemplo n.º 9
0
    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
Ejemplo n.º 10
0
 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)
Ejemplo n.º 11
0
 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)
Ejemplo n.º 12
0
 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)
Ejemplo n.º 13
0
 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
Ejemplo n.º 14
0
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)
Ejemplo n.º 15
0
 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)
Ejemplo n.º 16
0
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)
Ejemplo n.º 17
0
 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)
Ejemplo n.º 18
0
    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()
Ejemplo n.º 19
0
 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)
Ejemplo n.º 20
0
    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)
Ejemplo n.º 21
0
    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
Ejemplo n.º 23
0
 def setUp(self):
     TestCase.setUp(self)
     self.resource = CalDAVResource()
     self.resource._dead_properties = InMemoryPropertyStore()
Ejemplo n.º 24
0
 def __init__(self, parent):
     self._parent = parent
     CalDAVResource.__init__(self)
Ejemplo n.º 25
0
 def setUp(self):
     TestCase.setUp(self)
     self.resource = CalDAVResource()
     self.resource._dead_properties = InMemoryPropertyStore()