davical/testing/tests/carddav/2041-REPORT-addressbook-query.test
Andrew Ruthven 7c47658bee Make the curl and SQL requests when we see them
This allows us to have more complex test files where an action is taken, then
we test something, then another action is taken, etc.

Changes to test files are required so that URL is defined after all the
required settings are set.

Changes to the result files are either whitespace changes due to above logic
changes, or printing out a SQL Result header before each result. I figured it
was useful.
2024-04-01 22:57:10 +13:00

52 lines
1.3 KiB
Plaintext

#
# Request a REPORT
#
# negate-condition should only return a result if the
# property exists on the vCard, and doesn't match.
#
# RFC 6352, section 10.5.1:
#
# ...
# A vCard property of the type specified by the "name" attribute
# exists, and the CARDDAV:prop-filter is empty, or it matches any
# specified CARDDAV:text-match or CARDDAV:param-filter
# conditions.
# ...
#
# This test should return all vCards with a FBURL property, except
# for Andrew McMillan. Currently there are two vCards which meet
# this restriction.
#
TYPE=REPORT
HEADER=Accept: text/xml,application/xml
HEADER=Content-Type: text/xml
HEADER=Depth: 1
# HEAD
BEGINDATA
<?xml version="1.0"?>
<C:addressbook-query xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:carddav" xmlns:CS="http://calendarserver.org/ns/">
<D:prop>
<D:getetag/>
<C:address-data>
<C:prop name="VERSION"/>
<C:prop name="FN"/>
<C:prop name="FBURL"/>
</C:address-data>
</D:prop>
<C:filter>
<C:prop-filter name="FBURL">
<C:text-match negate-condition="yes">andrew@morphoss.com</C:text-match>
</C:prop-filter>
</C:filter>
</C:addressbook-query>
ENDDATA
REPLACE=_<getetag>"[0-9a-f]+"</getetag>_<getetag>some valid etag</getetag>_
REPLACE=/^REV:.*$/REV:date/
REPLACE=/^UID:.*$/UID:a nice UID/
URL=http://regression.host/caldav.php/user1/addressbook/