diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2016-01-12 13:23:50 +0100 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2016-01-18 22:14:51 +0100 |
commit | 45baf03a2acbecc46310611f9bd6670b1e93eb00 (patch) | |
tree | 14bcfb183aa872daddb948be40bb08e37aa07a79 /apps/dav/tests/travis | |
parent | 1448215055ddfc0c0300ac727952d4f0e904334b (diff) | |
download | nextcloud-server-45baf03a2acbecc46310611f9bd6670b1e93eb00.tar.gz nextcloud-server-45baf03a2acbecc46310611f9bd6670b1e93eb00.zip |
Test ownCloud CardDAV sharing using CalDAVTester
Diffstat (limited to 'apps/dav/tests/travis')
16 files changed, 371 insertions, 4 deletions
diff --git a/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/sharing/read-write/1.xml b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/sharing/read-write/1.xml new file mode 100644 index 00000000000..20d2ebf4cfc --- /dev/null +++ b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/sharing/read-write/1.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8" ?> +<CS:share xmlns:D="DAV:" xmlns:CS="http://owncloud.org/ns"> + <CS:set> + <D:href>principal:principals/users/user02</D:href> + <CS:summary>My Shared Calendar</CS:summary> + <CS:read-write/> + </CS:set> +</CS:share> diff --git a/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/sharing/read-write/4.xml b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/sharing/read-write/4.xml new file mode 100644 index 00000000000..fd0f248bb31 --- /dev/null +++ b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/sharing/read-write/4.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8" ?> +<D:propfind xmlns:D="DAV:"> +<D:prop> +<D:resourcetype/> +<D:owner/> +<D:current-user-privilege-set/> +</D:prop> +</D:propfind> diff --git a/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/sharing/read-write/6.vcf b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/sharing/read-write/6.vcf new file mode 100644 index 00000000000..6b53f8ba3bf --- /dev/null +++ b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/sharing/read-write/6.vcf @@ -0,0 +1,11 @@ +BEGIN:VCARD +VERSION:3.0 +N:Thompson;Default;;; +FN:Default Thompson +EMAIL;TYPE=INTERNET,WORK,pref:lthompson@example.com +TEL;TYPE=WORK,pref:1-555-555-5555 +TEL;TYPE=CELL:1-555-555-5555 +ITEM1.ADR;TYPE=WORK,pref:;;2 Lag;Elk Forest;California;99999;USA +ITEM1.X-ABADR:us +UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson +END:VCARD diff --git a/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/sharing/read-write/7.vcf b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/sharing/read-write/7.vcf new file mode 100644 index 00000000000..27fdb9fae5f --- /dev/null +++ b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/sharing/read-write/7.vcf @@ -0,0 +1,11 @@ +BEGIN:VCARD +VERSION:3.0 +N:Thompson;Default;;; +FN:Default Thompson +EMAIL;TYPE=INTERNET,WORK,pref:lthompson@example.net +TEL;TYPE=WORK,pref:1-555-555-5555 +TEL;TYPE=CELL:1-555-555-6666 +ITEM1.ADR;TYPE=WORK,pref:;;2 Lag;Elk Forest;California;99999;USA +ITEM1.X-ABADR:us +UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson +END:VCARD diff --git a/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/sharing/read-write/8.vcf b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/sharing/read-write/8.vcf new file mode 100644 index 00000000000..9188fdd913c --- /dev/null +++ b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/sharing/read-write/8.vcf @@ -0,0 +1,11 @@ +BEGIN:VCARD +VERSION:3.0 +N:Miller;Default;;; +FN:Default Miller +EMAIL;TYPE=INTERNET,WORK,pref:lthompson@example.com +TEL;TYPE=WORK,pref:1-555-555-5555 +TEL;TYPE=CELL:1-555-555-5555 +ITEM1.ADR;TYPE=WORK,pref:;;2 Lag;Elk Forest;California;99999;USA +ITEM1.X-ABADR:us +UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson +END:VCARD diff --git a/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/sharing/read-write/9.vcf b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/sharing/read-write/9.vcf new file mode 100644 index 00000000000..1ca0a36ca4c --- /dev/null +++ b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/sharing/read-write/9.vcf @@ -0,0 +1,11 @@ +BEGIN:VCARD +VERSION:3.0 +N:Smith;Default;;; +FN:Default Smith +EMAIL;TYPE=INTERNET,WORK,pref:lthompson@example.com +TEL;TYPE=WORK,pref:1-555-555-5555 +TEL;TYPE=CELL:1-555-555-5555 +ITEM1.ADR;TYPE=WORK,pref:;;2 Lag;Elk Forest;California;99999;USA +ITEM1.X-ABADR:us +UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson +END:VCARD diff --git a/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/vcurrent-user-principal/1.xml b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/vcurrent-user-principal/1.xml new file mode 100644 index 00000000000..dffedc6880d --- /dev/null +++ b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/vcurrent-user-principal/1.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" ?> +<D:propfind xmlns:D="DAV:"> +<D:prop> +<D:current-user-principal/> +</D:prop> +</D:propfind> diff --git a/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/vreports/put/1.vcf b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/vreports/put/1.vcf new file mode 100644 index 00000000000..2121c65f1f4 --- /dev/null +++ b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/vreports/put/1.vcf @@ -0,0 +1,11 @@ +BEGIN:VCARD +VERSION:3.0 +N:Thompson;Default;;; +FN:Default Thompson +EMAIL;type=INTERNET;type=WORK;type=pref:lthompson@example.com +TEL;type=WORK;type=pref:1-555-555-5555 +TEL;type=CELL:1-555-555-5555 +item1.ADR;type=WORK;type=pref:;;2 Lag;Elk Forest;California;99999;USA +item1.X-ABADR:us +UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson +END:VCARD diff --git a/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/vreports/put/2.vcf b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/vreports/put/2.vcf new file mode 100644 index 00000000000..390a3d8ae69 --- /dev/null +++ b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/vreports/put/2.vcf @@ -0,0 +1,17 @@ +BEGIN:VCARD +VERSION:3.0 +N:Contact;Mulberry;;; +FN:Mulberry Contact +NICKNAME:mulberry +ORG:Apple Inc.; +EMAIL;type=INTERNET;type=WORK;type=pref:mulberry_contact@example.com +TEL;type=HOME;type=pref:555-555-5555 +TEL;type=WORK:555-555-5555 +TEL;type=WORK;type=FAX:555-555-5555 +item1.ADR;type=WORK;type=pref:;;1 Infinite Circle;Exampletino\, CA 99999;USA;; +item1.X-ABADR:us +NOTE:This is a contact created in Mulberry. +item2.URL;type=pref:http://www.example.com/~magic +item2.X-ABLabel:_$!<HomePage>!$_ +UID:782DAAF92CB1ED1BC155CDB3@D76FAF7B10D9E8D2D41F779D +END:VCARD diff --git a/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/vreports/put/3.vcf b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/vreports/put/3.vcf new file mode 100644 index 00000000000..37c3b81bdcf --- /dev/null +++ b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/vreports/put/3.vcf @@ -0,0 +1,12 @@ +BEGIN:VCARD +VERSION:3.0 +N:Kawado;Saeko;;; +FN:Snow Leopard +ORG:Snow Leopard; +EMAIL;type=INTERNET;type=WORK;type=pref:snowleopard_apple@example.com +TEL;type=WORK;type=pref:555-555-5555 +item1.ADR;type=WORK;type=pref:;;2 Fidel Ave. Suite 1;Mountain Top;CA;99999;USA +item1.X-ABADR:us +X-ABShowAs:COMPANY +UID:FCBA0FA3-00B2-4C95-B4EC-4CCC4843F8B1:ABPerson +END:VCARD diff --git a/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/vreports/sync/1.xml b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/vreports/sync/1.xml new file mode 100644 index 00000000000..7f454b38900 --- /dev/null +++ b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/vreports/sync/1.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8" ?> +<D:propfind xmlns:D="DAV:"> +<D:prop> +<D:supported-report-set/> +<D:sync-token/> +</D:prop> +</D:propfind> diff --git a/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/vreports/sync/2.xml b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/vreports/sync/2.xml new file mode 100644 index 00000000000..99ee3dbb0e0 --- /dev/null +++ b/apps/dav/tests/travis/caldavtest/data/Resource/CardDAV/vreports/sync/2.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8" ?> +<D:sync-collection xmlns:D="DAV:"> +<D:sync-token/> +<D:prop/> +</D:sync-collection> diff --git a/apps/dav/tests/travis/caldavtest/config/serverinfo.dtd b/apps/dav/tests/travis/caldavtest/serverinfo.dtd index d642f4f90cd..d642f4f90cd 100644 --- a/apps/dav/tests/travis/caldavtest/config/serverinfo.dtd +++ b/apps/dav/tests/travis/caldavtest/serverinfo.dtd diff --git a/apps/dav/tests/travis/caldavtest/config/serverinfo.xml b/apps/dav/tests/travis/caldavtest/serverinfo.xml index c80e47f9481..dea8f5af0f3 100644 --- a/apps/dav/tests/travis/caldavtest/config/serverinfo.xml +++ b/apps/dav/tests/travis/caldavtest/serverinfo.xml @@ -1,7 +1,7 @@ <?xml version="1.0" standalone="no"?> <!DOCTYPE serverinfo SYSTEM - "/home/deepdiver/Development/ownCloud/master/apps/dav/tests/travis/caldavtest/config/serverinfo.dtd"> + "/home/deepdiver/Development/ownCloud/master/apps/dav/tests/travis/caldavtest/serverinfo.dtd"> <!-- Copyright (c) 2006-2015 Apple Inc. All rights reserved. diff --git a/apps/dav/tests/travis/caldavtest/tests/CardDAV/sharing-addressbooks.xml b/apps/dav/tests/travis/caldavtest/tests/CardDAV/sharing-addressbooks.xml new file mode 100644 index 00000000000..046c3d59dbd --- /dev/null +++ b/apps/dav/tests/travis/caldavtest/tests/CardDAV/sharing-addressbooks.xml @@ -0,0 +1,246 @@ +<?xml version="1.0" standalone="no"?> + +<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd"> + +<caldavtest> + <description>Test addressbook sharing</description> + + <require-feature> + <feature>carddav</feature> + </require-feature> + + <start> + </start> + + <test-suite name='Read-write addressbook'> + <test name='1'> + <description>POST invitation</description> + <request> + <method>POST</method> + <ruri>$addressbookpath1:</ruri> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/CardDAV/sharing/read-write/1.xml</filepath> + </data> + <verify> + <callback>statusCode</callback> + </verify> + </request> + </test> + <test name='4'> + <description>Shared addressbook exists</description> + <request user="$userid2:" pswd="$pswd2:"> + <method>PROPFIND</method> + <ruri>$addressbookpath1:/</ruri> + <header> + <name>Depth</name> + <value>0</value> + </header> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/CardDAV/sharing/read-write/4.xml</filepath> + </data> + <verify> + <callback>xmlElementMatch</callback> + <arg> + <name>exists</name> + <value>$verify-property-prefix:/{DAV:}owner/{DAV:}href[=$principaluri1:]</value> + <value>$verify-property-prefix:/{DAV:}resourcetype/{DAV:}collection</value> + <value>$verify-property-prefix:/{DAV:}resourcetype/{urn:ietf:params:xml:ns:carddav}addressbook</value> + <value>$verify-property-prefix:/{DAV:}current-user-privilege-set/{DAV:}privilege/{DAV:}read</value> + <value>$verify-property-prefix:/{DAV:}current-user-privilege-set/{DAV:}privilege/{DAV:}write</value> + <value>$verify-property-prefix:/{DAV:}current-user-privilege-set/{DAV:}privilege/{DAV:}bind</value> + <value>$verify-property-prefix:/{DAV:}current-user-privilege-set/{DAV:}privilege/{DAV:}unbind</value> + </arg> + <arg> + <name>notexists</name> + <value>$verify-property-prefix:/{DAV:}current-user-privilege-set/{DAV:}privilege/{DAV:}admin</value> + <value>$verify-property-prefix:/{DAV:}current-user-privilege-set/{DAV:}privilege/{DAV:}all</value> + </arg> + </verify> + </request> + </test> + + <test name='4a'> + <description>Shared calendar exists Depth:1</description> + <request user="$userid2:" pswd="$pswd2:"> + <method>PROPFIND</method> + <ruri>$addressbookhome2:/</ruri> + <header> + <name>Depth</name> + <value>1</value> + </header> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/CardDAV/sharing/read-write/4.xml</filepath> + </data> + <verify> + <callback>xmlElementMatch</callback> + <arg> + <name>parent</name> + <value>$multistatus-response-prefix:[^{DAV:}href=$addressbookhome2:/ade1a55d408167e8ff77611c0eebe8f80579b549/]</value> + </arg> + <arg> + <name>exists</name> + <!--<value>$verify-response-prefix:/{DAV:}owner/{DAV:}href[=$principaluri1:]</value>--> + <value>$verify-response-prefix:/{DAV:}resourcetype/{DAV:}collection</value> + <value>$verify-response-prefix:/{DAV:}resourcetype/{urn:ietf:params:xml:ns:carddav}addressbook</value> + <value>$verify-response-prefix:/{DAV:}current-user-privilege-set/{DAV:}privilege/{DAV:}read</value> + <value>$verify-response-prefix:/{DAV:}current-user-privilege-set/{DAV:}privilege/{DAV:}write</value> + <value>$verify-response-prefix:/{DAV:}current-user-privilege-set/{DAV:}privilege/{DAV:}bind</value> + <value>$verify-response-prefix:/{DAV:}current-user-privilege-set/{DAV:}privilege/{DAV:}unbind</value> + </arg> + <arg> + <name>notexists</name> + <value>$verify-response-prefix:/{DAV:}current-user-privilege-set/{DAV:}privilege/{DAV:}admin</value> + <value>$verify-response-prefix:/{DAV:}current-user-privilege-set/{DAV:}privilege/{DAV:}all</value> + </arg> + </verify> + </request> + </test> + + <test name='5'> + <description>Original calendar unchanged</description> + <request> + <method>PROPFIND</method> + <ruri>$addressbookpath1:</ruri> + <header> + <name>Depth</name> + <value>0</value> + </header> + <data> + <content-type>text/xml; charset=utf-8</content-type> + <filepath>Resource/CardDAV/sharing/read-write/4.xml</filepath> + </data> + <verify> + <callback>xmlElementMatch</callback> + <arg> + <name>exists</name> + <value>$verify-property-prefix:/{DAV:}owner/{DAV:}href[=$principaluri1:]</value> + </arg> + </verify> + </request> + </test> + + <test name='6'> + <description>Sharee creates contact</description> + <request user="$userid2:" pswd="$pswd2:"> + <method>PUT</method> + <ruri>$addressbookpath1:/1.vcf</ruri> + <data> + <content-type>text/vcard; charset=utf-8</content-type> + <filepath>Resource/CardDAV/sharing/read-write/6.vcf</filepath> + </data> + <verify> + <callback>statusCode</callback> + </verify> + </request> + </test> + + <test name='7'> + <description>Sharer sees contact</description> + <request> + <method>GET</method> + <ruri>$addressbookpath1:/1.vcf</ruri> + <verify> + <callback>addressDataMatch</callback> + <arg> + <name>filepath</name> + <value>Resource/CardDAV/sharing/read-write/6.vcf</value> + </arg> + </verify> + </request> + </test> + + <test name='8'> + <description>Sharer changes contact</description> + <request> + <method>PUT</method> + <ruri>$addressbookpath1:/1.vcf</ruri> + <data> + <content-type>text/vcard; charset=utf-8</content-type> + <filepath>Resource/CardDAV/sharing/read-write/7.vcf</filepath> + </data> + <verify> + <callback>statusCode</callback> + </verify> + </request> + </test> + + <test name='9'> + <description>Sharee sees changed contact</description> + <request user="$userid2:" pswd="$pswd2:"> + <method>GET</method> + <ruri>$addressbookpath1:/1.vcf</ruri> + <verify> + <callback>addressDataMatch</callback> + <arg> + <name>filepath</name> + <value>Resource/CardDAV/sharing/read-write/7.vcf</value> + </arg> + </verify> + </request> + </test> + + <test name='10'> + <description>Sharer creates event</description> + <request> + <method>PUT</method> + <ruri>$addressbookpath1:/2.vcf</ruri> + <data> + <content-type>text/vcard; charset=utf-8</content-type> + <filepath>Resource/CardDAV/sharing/read-write/8.vcf</filepath> + </data> + <verify> + <callback>statusCode</callback> + </verify> + </request> + </test> + <test name='11'> + <description>Sharee sees new event</description> + <request user="$userid2:" pswd="$pswd2:"> + <method>GET</method> + <ruri>$addressbookpath1:/2.vcf</ruri> + <verify> + <callback>addressDataMatch</callback> + <arg> + <name>filepath</name> + <value>Resource/CardDAV/sharing/read-write/8.vcf</value> + </arg> + </verify> + </request> + </test> + <test name='12'> + <description>Sharee changes event</description> + <request user="$userid2:" pswd="$pswd2:"> + <method>PUT</method> + <ruri>$addressbookpath1:/2.vcf</ruri> + <data> + <content-type>text/vcard; charset=utf-8</content-type> + <filepath>Resource/CardDAV/sharing/read-write/9.vcf</filepath> + </data> + <verify> + <callback>statusCode</callback> + </verify> + </request> + </test> + <test name='13'> + <description>Sharer sees changed event</description> + <request> + <method>GET</method> + <ruri>$addressbookpath1:/2.vcf</ruri> + <verify> + <callback>addressDataMatch</callback> + <arg> + <name>filepath</name> + <value>Resource/CardDAV/sharing/read-write/9.vcf</value> + </arg> + </verify> + </request> + </test> + </test-suite> + + <end> + </end> + +</caldavtest> diff --git a/apps/dav/tests/travis/carddav/script.sh b/apps/dav/tests/travis/carddav/script.sh index 46a6a98e273..a8bd9f11b38 100644 --- a/apps/dav/tests/travis/carddav/script.sh +++ b/apps/dav/tests/travis/carddav/script.sh @@ -9,9 +9,12 @@ sleep 30 # run the tests cd "$SCRIPTPATH/CalDAVTester" -PYTHONPATH="$SCRIPTPATH/pycalendar/src" python testcaldav.py --print-details-onfail -s "$SCRIPTPATH/../caldavtest/config/serverinfo.xml" -o cdt.txt \ - "$SCRIPTPATH/../caldavtest/tests/CardDAV/current-user-principal.xml" \ - "$SCRIPTPATH/../caldavtest/tests/CardDAV/sync-report.xml" +PYTHONPATH="$SCRIPTPATH/pycalendar/src" python testcaldav.py --print-details-onfail --basedir "$SCRIPTPATH/../caldavtest/" -o cdt.txt \ + "CardDAV/current-user-principal.xml" \ + "CardDAV/sync-report.xml" \ + "CardDAV/sharing-addressbooks.xml" + + RESULT=$? tail "$/../../../../../data-autotest/owncloud.log" |