Merge branch 'master' of github.com:DAViCal/davical into github
[davical.git] / testing / tests / regression-suite / 0963-POST-freebusy-private.test
blob4bd69b967fe835093a783f96425de959c25a2b11
2 # POST to scheduling outbox for freebusy query of user4 for user1
4 TYPE=POST
5 URL=http://regression.host/caldav.php/user4/.out/
6 AUTH=user4:user4
8 HEADER=User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.18pre) Gecko/20100917 Sunbird/0.9
9 HEADER=Accept: text/xml
10 HEADER=Accept-Language: en-us,en;q=0.5
11 HEADER=Accept-Charset: utf-8,*;q=0.1
12 HEADER=Content-Type: text/calendar; charset=utf-8
13 HEADER=Originator: mailto:user4@example.net
14 HEADER=Recipient: mailto:user1@example.net
16 # HEAD
18 REPLACE=/^DTSTAMP:\d{4}[01]\d[0123]\dT[012]\d[0-5]\d[0-6]\dZ\r?$/DTSTAMP:yyyymmddThhmmssZ/
19 # REPLACE=/^ETag: "[[:hexdigit:]]+"\s$/ETag: "a fine looking etag"/
21 BEGINDATA
22 BEGIN:VCALENDAR
23 PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
24 VERSION:2.0
25 METHOD:REQUEST
26 BEGIN:VFREEBUSY
27 DTSTAMP:20081022T062945Z
28 ORGANIZER:mailto:user4@example.net
29 DTSTART:20080730T110000Z
30 DTEND:20080803T110000Z
31 UID:c5bd82ea-cd89-4f58-8d31-336f47e44f97
32 ATTENDEE;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL:
33  mailto:user1@example.net
34 END:VFREEBUSY
35 END:VCALENDAR
36 ENDDATA
38 QUERY
39 SELECT calendar_item.rrule,
40       to_char(calendar_item.dtstart at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS start,
41       to_char(calendar_item.dtend at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS finish,
42       class,
43       calendar_item.dav_name
44  FROM usr INNER JOIN collection USING (user_no)
45           INNER JOIN caldav_data USING (collection_id)
46           INNER JOIN calendar_item USING(dav_id)
47 WHERE lower(usr.email) = 'user1@example.net'
48   AND collection.is_calendar
49   AND rrule_event_overlaps( dtstart, dtend, rrule, '20080730T110000Z', '20080803T110000Z' )
50   AND caldav_data.caldav_type IN ( 'VEVENT', 'VFREEBUSY' )
51   AND (calendar_item.transp != 'TRANSPARENT' OR calendar_item.transp IS NULL)
52   AND (calendar_item.status != 'CANCELLED' OR calendar_item.status IS NULL)
53  ORDER BY dav_id
54 ENDQUERY