def test_returns_multistatus_response(self): events = (create(Builder('event').titled(u'Meeting').within(self.calendar)),) self.request.set('BODY', make_multiget_request_body(events)) report = getMultiAdapter((self.calendar, self.request), name=REPORT_NAME) root = etree.fromstring(report()) self.assertEquals('{DAV:}multistatus', root.tag)
def test_returns_report_per_requested_resource(self): events = (create(Builder('event').titled(u'Meeting').within(self.calendar)), create(Builder('event').titled(u'Workshop').within(self.calendar))) self.request.set('BODY', make_multiget_request_body(events)) report = getMultiAdapter((self.calendar, self.request), name=REPORT_NAME) doc = etree.fromstring(report()) self.assertEquals(2, len(doc.xpath('//dav:response', namespaces=NAMESPACES)))
def test_returns_requested_properties(self): events = (create(Builder('event').titled(u'Meeting').within(self.calendar)),) self.request.set('BODY', make_multiget_request_body(events)) report = getMultiAdapter((self.calendar, self.request), name=REPORT_NAME) doc = etree.fromstring(report()) self.assertEquals( 'Meeting', doc.xpath('//dav:displayname', namespaces=NAMESPACES)[0].text)
def multiget(self, browser, objects, properties=(('DAV:', 'displayname'),)): req_body = multiget.make_multiget_request_body(objects, properties=properties) browser.login().webdav('REPORT', self.calendar, view='caldav', data=req_body)