Merge branch 'master' of github.com:DAViCal/davical into github
[davical.git] / testing / tests / regression-suite / 0886-REPORT-freebusy.test
blob49a129494abb7662d396196b76c6f1dd7116e3e7
2 # Request a freebusy report by URL
4 TYPE=REPORT
5 URL=http://regression.host/caldav.php/user1/home/
6 HEADER=User-Agent: DAViCalTester/public
7 HEADER=Content-Type: text/xml; charset="UTF-8"
8 HEAD
10 REPLACE=/^DTSTAMP:\d{8}T\d{6}Z\r?$/DTSTAMP:yyyymmddThhmmssZ/
11 REPLACE=/^DTSTART:20060930T120000Z\r?$/DTSTART:correct/
12 REPLACE=/^DTEND:20070630T115959Z\r?$/DTEND:correct/
14 BEGINDATA
15 <?xml version="1.0" encoding="UTF-8"?>
16 <free-busy-query xmlns:D="DAV:" xmlns="urn:ietf:params:xml:ns:caldav">
17   <time-range start="20060930T120000Z" end="20070630T115959Z"/>
18 </free-busy-query>
19 ENDDATA
22 QUERY
23 SELECT dav_name AS "Dav Name", calendar_item.rrule, status,
24      to_char(calendar_item.dtstart at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS "a) start",
25      to_char(calendar_item.dtend at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS "b)finish"
26   FROM caldav_data INNER JOIN calendar_item USING(dav_id,user_no,dav_name)
27  WHERE 
28    dav_name ~ '^/user1/home/[^/]+$'
29    AND rrule_event_overlaps( dtstart, dtend, rrule, '20061001T000000', '20070630T235959')
30    AND caldav_data.caldav_type IN ( 'VEVENT', 'VFREEBUSY' )
31    AND (calendar_item.status != 'CANCELLED' OR calendar_item.status IS NULL)
32    AND (calendar_item.class != 'PRIVATE' OR calendar_item.class IS NULL)
33  ORDER BY 2, 3, 4
34 ENDQUERY
35 # caldav_data.user_no = 10