mirror of
https://gitlab.com/davical-project/davical.git
synced 2026-04-19 14:10:14 +00:00
Add test for AWLs "Fix param-filter for multi-value parameters with TYPE=T1,T2 format" and update 2044 accordingly
2044 wants VCARDs with either TEL or EMAIL of TYPE=WORK. !20 correctly splits the comma separated list of parameters so another two vCards now correctly match (see also https://gitlab.com/davical-project/awl/-/merge_requests/20#note_503183133)
This commit is contained in:
parent
fd35aacb85
commit
9d144cfe24
@ -85,6 +85,86 @@ EMAIL;TYPE=INTERNET;TYPE=WORK;TYPE=pref:karl@mustermann.de
|
||||
TEL;TYPE=WORK;TYPE=pref:+49 30 1234567
|
||||
TEL;TYPE=CELL:+49 172 1234567
|
||||
END:VCARD
|
||||
</VC:address-data>
|
||||
</prop>
|
||||
<status>HTTP/1.1 200 OK</status>
|
||||
</propstat>
|
||||
</response>
|
||||
<response>
|
||||
<href>/caldav.php/user1/addressbook/andresenesq.vcf</href>
|
||||
<propstat>
|
||||
<prop>
|
||||
<getetag>some valid etag</getetag>
|
||||
<VC:address-data>BEGIN:VCARD
|
||||
VERSION:4.0
|
||||
FN:Sven Joseph Klaus Michael Andresen\, Esq.
|
||||
EMAIL;TYPE=INTERNET:sven@andresen.de
|
||||
EMAIL;TYPE=INTERNET:andresen@andresen.de
|
||||
TEL;TYPE=WORK,VOICE:+49 89 11 11 111
|
||||
TEL;TYPE=WORK,VOICE:+49 234 222 222
|
||||
TEL;TYPE=WORK,FAX:+49 7373 73
|
||||
TEL;TYPE=PAGER:+49 160 073 727 272
|
||||
TEL;TYPE=PAGER:+49 2626 26
|
||||
TEL;TYPE=CELL,VOICE:+49 39292 82
|
||||
TEL;TYPE=CELL,VOICE:+49 7272 722
|
||||
TEL;TYPE=PREF,VOICE:+49 12 34 567
|
||||
TEL;TYPE=CAR,VOICE:+49 8292 38 383
|
||||
TEL;TYPE=HOME,VOICE:+49 7327 272 727
|
||||
TEL;TYPE=HOME,VOICE:+49 7272 7282
|
||||
TEL;TYPE=HOME,FAX:+49 1010 1
|
||||
TEL;TYPE=ISDN:8797
|
||||
TEL;TYPE=ISDN:98732947234
|
||||
TEL;TYPE=X-EVOLUTION-RADIO:+49 88 298 723 498 32
|
||||
TEL;TYPE=X-EVOLUTION-RADIO:+49 9872 394 872 34
|
||||
TEL;TYPE=X-EVOLUTION-TELEX:+49 2763 382 882 28 82
|
||||
TEL;TYPE=X-EVOLUTION-TELEX:+49 7722 88 28 282
|
||||
TEL;TYPE=MAIN:+49 6237 623 723 84 76
|
||||
TEL;TYPE=MAIN:+49 9324 32 479 234234
|
||||
TEL;X-EVOLUTION-CALLBACK:+49 8383 73 723
|
||||
TEL;X-EVOLUTION-CALLBACK:+49 7363 6363
|
||||
TEL;TYPE=MODEM:+49 8383 73 723
|
||||
TEL;TYPE=MODEM:+49 7363 6363
|
||||
TEL;X-EVOLUTION-TTYTDD:+49 3377 37 373
|
||||
TEL;X-EVOLUTION-TTYTDD:+49 8378 33
|
||||
TEL;X-QUICKDIAL:13355
|
||||
END:VCARD
|
||||
</VC:address-data>
|
||||
</prop>
|
||||
<status>HTTP/1.1 200 OK</status>
|
||||
</propstat>
|
||||
</response>
|
||||
<response>
|
||||
<href>/caldav.php/user1/addressbook/hans_dieter.vcf</href>
|
||||
<propstat>
|
||||
<prop>
|
||||
<getetag>some valid etag</getetag>
|
||||
<VC:address-data>BEGIN:VCARD
|
||||
VERSION:4.0
|
||||
FN:Hans Dieter Schmidt
|
||||
EMAIL;TYPE=INTERNET:ich@hadi-schmidt.de
|
||||
EMAIL;TYPE=INTERNET:hadi@telekom-d.de
|
||||
TEL;TYPE=WORK,VOICE:+49 9823 9084
|
||||
TEL;TYPE=WORK,VOICE:+49 234 234 234
|
||||
TEL;TYPE=WORK,FAX:+49 7373 73
|
||||
TEL;TYPE=PAGER:+49 2626 26
|
||||
TEL;TYPE=CELL,VOICE:+49 7272 722
|
||||
TEL;TYPE=PREF,VOICE:+49 12 34 567
|
||||
TEL;TYPE=CAR,VOICE:+49 8292 38 383
|
||||
TEL;TYPE=HOME,VOICE:+49 7327 272 727
|
||||
TEL;TYPE=HOME,FAX:+49 40 812 387 21
|
||||
TEL;TYPE=ISDN:4234234235
|
||||
TEL;TYPE=ISDN:98732947234
|
||||
TEL;TYPE=X-EVOLUTION-RADIO:+49 9872 349 832
|
||||
TEL;TYPE=X-EVOLUTION-RADIO:+49 9872 394 872 34
|
||||
TEL;TYPE=X-EVOLUTION-TELEX:+49 38 288 228 82
|
||||
TEL;TYPE=X-EVOLUTION-TELEX:+49 7722 88 28 282
|
||||
TEL;TYPE=MAIN:+49 6237 623 723 84 76
|
||||
TEL;TYPE=MAIN:+49 9324 32 479 234234
|
||||
TEL;X-EVOLUTION-CALLBACK:+49 8383 73 723
|
||||
TEL;TYPE=MODEM:+49 8383 73 723
|
||||
TEL;X-EVOLUTION-TTYTDD:+49 7373 73
|
||||
TEL;X-EVOLUTION-TTYTDD:+49 8378 33
|
||||
END:VCARD
|
||||
</VC:address-data>
|
||||
</prop>
|
||||
<status>HTTP/1.1 200 OK</status>
|
||||
|
||||
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<multistatus xmlns="DAV:" xmlns:VC="urn:ietf:params:xml:ns:carddav">
|
||||
<response>
|
||||
<href>/caldav.php/user5/addresses/sabre-vobject-8121cd7a-8251-4b74-a952-ca91fdc21e36.vcf</href>
|
||||
<propstat>
|
||||
<prop>
|
||||
<getetag>some valid etag</getetag>
|
||||
<VC:address-data>BEGIN:VCARD
|
||||
VERSION:4.0
|
||||
PRODID:-//Sabre//Sabre VObject 4.3.3//EN
|
||||
UID:sabre-vobject-8121cd7a-8251-4b74-a952-ca91fdc21e36
|
||||
FN:CardDavClient Test913043917
|
||||
N:Test913043917;CardDavClient;;;
|
||||
NICKNAME:Jonny1
|
||||
EMAIL:maxmu@abcd.com
|
||||
X-CUSTOMPROP;X-CUSTOMPARAM=HOME,WORK:foobar
|
||||
REV:date
|
||||
END:VCARD
|
||||
</VC:address-data>
|
||||
</prop>
|
||||
<status>HTTP/1.1 200 OK</status>
|
||||
</propstat>
|
||||
</response>
|
||||
</multistatus>
|
||||
@ -0,0 +1,36 @@
|
||||
#
|
||||
# Test matching one of a multi-value parameter
|
||||
#
|
||||
# (Jonny1 has X-CUSTOMPARAM=HOME,WORK but "HOME" is not just a part but
|
||||
# an entire value ("equals") of a multi-value parameter
|
||||
#
|
||||
TYPE=REPORT
|
||||
URL=http://regression.host/caldav.php/user5/addresses/
|
||||
|
||||
HEADER=Accept: text/xml,application/xml
|
||||
HEADER=Content-Type: text/xml
|
||||
HEADER=Depth: 1
|
||||
|
||||
AUTH=user5:user5
|
||||
|
||||
# HEAD
|
||||
|
||||
BEGINDATA
|
||||
<?xml version="1.0"?>
|
||||
<CARDDAV:addressbook-query xmlns:DAV="DAV:" xmlns:CARDDAV="urn:ietf:params:xml:ns:carddav" xmlns:CS="http://calendarserver.org/ns/">
|
||||
<DAV:prop>
|
||||
<DAV:getetag/>
|
||||
<CARDDAV:address-data/>
|
||||
</DAV:prop>
|
||||
<CARDDAV:filter test="anyof">
|
||||
<CARDDAV:prop-filter name="X-CUSTOMPROP" test="anyof">
|
||||
<CARDDAV:param-filter name="X-CUSTOMPARAM">
|
||||
<CARDDAV:text-match negate-condition="no" collation="i;unicode-casemap" match-type="equals">HOME</CARDDAV:text-match>
|
||||
</CARDDAV:param-filter>
|
||||
</CARDDAV:prop-filter>
|
||||
</CARDDAV:filter>
|
||||
</CARDDAV:addressbook-query>
|
||||
ENDDATA
|
||||
|
||||
REPLACE=_<getetag>"[0-9a-f]+"</getetag>_<getetag>some valid etag</getetag>_
|
||||
REPLACE=/^REV:.*$/REV:date/
|
||||
Loading…
x
Reference in New Issue
Block a user