Commit graph

136 commits

Author SHA1 Message Date
Patrick Ohly 56c106703a testing: ignore Apple Calendar Server 5.2 VTIMEZONE bug
As confirmed by Cyrus Daboo, Apple Calendar Server 5.2 should
return VTIMEZONE embedded in the item data if matching against
well-known timezones fails. This broken when Apple implemented
support for timezones via reference.

Long term we need to support that feature, but for now it and
this bug are not important because for most timezones, we should
be fine with our TZID based mapping. Ignore the issue during
testing...
2014-05-05 09:28:14 +02:00
Patrick Ohly 27af370ac2 WebDAV: do not mangle UID when sending items
The WebDAV backends contained a hack where the UID inside the data was forced
to be identical to the resource name. This is wrong for items created by us
via POST (because the server may choose a resource name != UID) or by some
other entity (where we have no idea how the resource name got chosen).

This commit removes the hack. Testing must be updated to pass correct data
with the same UID as on the server when updating an item, because the backend
will no longer ensure that and changing the UID of a resource gets rejected by
some servers.

The hack was introduced for peers which do not store the UID (for example, a
vCard or iCalendar 1.0 based SyncML client). A better solution must be found,
probably involving the Synthesis engine and its read/update/write cycle.
2014-05-02 16:43:44 +02:00
Patrick Ohly cf08b687dc testing: remove LANGUAGE from ATTENDEE
Specifying the language of the email address did not make much sense
to start with, even if EDS does (did?) it that way originally. Akonadi
strips LANGUAGE=en. Instead of filtering that out for Akonadi, better
simplify the test data.
2014-03-26 09:48:53 +01:00
Patrick Ohly 6f08c6de8d testing: ignore Google CalDAV backslash encoding problem
Google CalDAV server does not handle \\\n properly. It adds
an extra backslash. Avoid this aspect of the test case because
a fix on the server side has been slow in coming.

eds_event.ics.googlecalendar.tem.patch is used with
Client::Sync::eds_event and Google CalDAV as server. google_event.ics
is used for Client::Source::google_caldav.
2014-02-12 12:52:09 +01:00
Patrick Ohly bdb0cd195a testing: ignore URL encoding issue in Google CardDAV
Google unnecessarily escapes the colon with a backslash, which
breaks the URL during a full rountrip sync.
2013-10-01 09:28:39 +02:00
Patrick Ohly cc8cb80398 testing: Google CardDAV + NOTE folding + colon escaping
Google CardDAV parser/encoder swallows white spaces, possibly because
of the differences between vCard 2.1 and 3.0. It also escapes the colon
although it shouldn't.

Google is looking into this, so I am not trying to work out a workaround and
merely remove the problematic fields (mostly NOTEs and one URL) to get the
tests to pass.
2013-10-01 09:28:39 +02:00
Patrick Ohly 3c5ea7e956 testing: Google CardDAV + NOTE + CHARSET
An explicit CHARSET parameter causes the Google CardDAV server to drop
the NOTE, even if the charset is UTF-8. Removing this know problem from
the test set because it shouldn't happen in practice.
2013-10-01 09:28:39 +02:00
Patrick Ohly 8a1f1f4139 testing: Google CardDAV does not support several properties
CALURI, CATEGORIES, FBURL, GEO and ROLE are not supported by
the server and dropped. Of ORG, only the first two components
are supported.
2013-10-01 09:28:39 +02:00
Patrick Ohly 115a71e670 testing: fix Exchange eds_contact:testItems
Since the "EDS contacts: avoid unnecessary DB writes during slow sync due to
FILE-AS" change, eds_contact::testItems failed because the "bday;special UTC
offset" (specific to Exchange testing) test user had no FILE-AS set, while the
one eventually stored in EDS had (because of the slow sync patch). Using EDS
3.8 probably would have triggered the same issue.

Fixing this by adding the FILE-AS property to the reference data. This is
a hard requirement now for tests to pass with EDS.
2013-09-04 11:09:21 +02:00
Patrick Ohly 4898f813ff Google CalDAV testing: avoid multiple detached recurrences, II
Because of Google issue with detached recurrences without parent
(http://code.google.com/p/google-caldav-issues/issues/detail?id=58)
and the SyncEvolution workaround (replacing RECURRENCE-ID with
X-SYNCEVOLUTION-RECURRENCE-ID) only one detached recurrence per UID
can be stored.

Removing the second modified recurrence from the test cases for
Google.

Somehow the second modified recurrence made its way back into the
test data while rewriting the generic eds_event.ics.
2013-03-04 07:36:21 -08:00
Patrick Ohly b81aa5ab3c engine: support GEO property (part of FDO #60374)
Was lost earlier during syncing. Must be defined in field list and
vCard profile. Still not supported by PIM Manager, because folks doesn't
support it (see FDO #60373).
2013-02-26 12:03:42 +01:00
Patrick Ohly 54de172408 testing: update Exchange test cases (X-RADIO)
Adapted the name of the X-RADIO extension. activesyncd now uses
X-EVOLUTION-RADIO instead of making up its own string.
2012-08-31 19:19:20 +00:00
Patrick Ohly 32f6f492c0 command line: fixed --export <file name>
When exporting items into a file, the delimiter between items
was missing.

Also adding a test case for this.
2012-08-02 13:58:20 +02:00
Patrick Ohly f83e5bc8e2 testing: added googleeas = Google Contacts via ActiveSync
Testing shows that compared to Exchange, some additional problems
exist, which are ignored via synccompare:
- FN gets overwritten.
- CATGEORIES are lost.

Not sure whether anything can be done, so let's consider this
permanently broken.

BDAY also gets modified. Perhaps that can be fixed, so a synccompare
workaround will be commit separately so that it can be reverted later.
2012-07-18 13:35:46 +00:00
Patrick Ohly 7c27d273a7 testing: stricter Exchange contact tests
X-EVOLUTION-SPOUSE and X-EVOLUTION-ANNIVERSARY were broken
in activesyncd. With a patch they work, so we should test
them again.
2012-07-18 13:28:47 +00:00
Patrick Ohly b083d343c2 testing: fixed eds_task::testConversion for Funambol
Funambol cannot represent "completed: 99%". It turns that
into 100% completed. Therefore the Funambol test data
uses "in-process: 78%". However, that was misspelled as
"in-progress", which caused testConversion to fail.

Not sure anymore why it was spelled like that (perhaps
Funambol used it that way?) and why this did not cause
problems earlier.
2012-07-16 14:45:50 +00:00
Patrick Ohly e0d031fbdf testing: removed "METHOD:PUBLISH" from EDS task
METHOD:PUBLISH is not needed by EDS and invalid when using the test
cases with CalDAV. Apple Calendar server complains about it.
2012-06-15 14:20:25 +02:00
Patrick Ohly a511546268 Revert "testing: ignore Radicale detached recurrence issue"
This reverts commit 2733562e80.

Radicale is expected to be fixed in its "master" branch.
2012-03-06 14:17:59 +01:00
Patrick Ohly 609d0c0722 testing: Memotoo + local time
Memotoo does not store time zone information in its database. When
talking to a client, it can send either UTC or local time. As
discussed on the mailing list ("[SyncEvolution] Memotoo: conversion to
floating time"), Memotoo now sends all time stamps as floating time
in the time zone configured on the server, without specifying that
time zone in the data. The client must be configured to use the same
time zone.

Floating time is preferred over UTC because then Evolution will
use the local time zone definition when computing recurrences. It
would not do that if UTC was specified.

For some internal reasons, previously Memotoo sometimes still
used UTC. Now that is fixed, which required updating some of
the test data.
2012-02-24 10:18:16 +00:00
Patrick Ohly 2733562e80 testing: ignore Radicale detached recurrence issue
Only the first VEVENT of each item seem to be stored.
Avoid testing anything related to RECURRENCE-ID in
the import tests and skip the linked items tests.
2012-02-23 13:04:39 +00:00
Patrick Ohly 38a2dbe3d2 Memotoo testing: supports PERCENT-COMPLETE
Memotoo supports PERCENT-COMPLETE now. However, it sets the value to
100% if the status is completed. Therefore we can't have the 99%
complete value in the eds_task test, as for other servers.
2012-01-23 11:01:10 +01:00
Patrick Ohly c723c51fbe testing: adapted ActiveSync eds events to 123together.com
Exchange 2010 insists on converting non-recurring events
into its own time zone. Various workarounds were tried
in activesyncd, without success.

To get the testing to pass, the testcases were adapted
to match the data returned by 123together.com. The obvious
downside is that anyone else running the tests against
a different Exchange server will need to adapt the data.
2011-12-12 08:31:31 +00:00
Patrick Ohly 726ac732ea testing: avoid overlap between detached recurrences
The second modified recurrence had an unintentional overlap in the
resulting start/end time. While this is acceptable according to the
iCalendar 2.0 standard, it is unusual and rejected by the Exchange
server when using ActiveSync.

Changed the test data to have each recurrence on the orginal day.
2011-11-28 10:18:19 +01:00
Patrick Ohly 4fc6c3e2c4 Merge remote-tracking branch 'origin/syncevolution-1-2-branch'
Conflicts:
	configure.ac
	src/syncevo-dbus-server.cpp
	src/syncevo/Cmdline.cpp
	test/ClientTest.cpp
	test/ClientTest.h
	test/generate-html.xsl
	test/runtests.py

Conflicts caused by backporting + merging back slightly modified
backports.
2011-11-28 10:16:57 +01:00
Patrick Ohly c044c580c2 vCard: X- chat extensions were limited to one instance per kind
For example, only one Jabber account could be synchronized. This
was caused by an incomplete definition of the conversion to and from
vCard.

The test for multiple X- chat extensions is currently only done
in combination with Synthesis because that server is known
to support multiple instances of them.
2011-11-25 13:58:28 +00:00
Patrick Ohly da6204da2b Apple testing: added recurring event with TZID and detached recurrence
This combination is missing in the base eds_event.ics because time
zone handling is problematic with some peers. With Apple Calendar
server this works okay.
2011-11-09 11:38:14 +01:00
Patrick Ohly 34d2daff9c Memotoo testing: supports ADR country
Found out that Memotoo supports the country field, albeit only if the
string is recognized by Memotoo. That wasn't the case for some of the
test data.

Adapted the test data to use countries that Memotoo knows (Germany,
France, with the English names). Also updated synccompare.pl to
reflect the current set of lost properties and removed the Memotoo ADR
simplification.
(cherry picked from commit 4dd89c8626)
2011-10-28 09:01:18 +02:00
Patrick Ohly 4dd89c8626 Memotoo testing: supports ADR country
Found out that Memotoo supports the country field, albeit only if the
string is recognized by Memotoo. That wasn't the case for some of the
test data.

Adapted the test data to use countries that Memotoo knows (Germany,
France, with the English names). Also updated synccompare.pl to
reflect the current set of lost properties and removed the Memotoo ADR
simplification.
2011-10-27 16:29:33 +00:00
Patrick Ohly 75cbac973f testing: ignore Google Calendar issue around UNTIL date-only
See http://code.google.com/p/google-caldav-issues/issues/detail?id=62

According to http://tools.ietf.org/html/rfc5545, the value of the
UNTIL rule part MUST have the same value type as the "DTSTART"
property. The test data follows that. The VEVENT generated by the
Google CalDAV server does not.

Ignore this by using date-time UNTIL in the Google version of eds_event.ics.
2011-10-26 08:13:49 +00:00
Patrick Ohly b6ebc79ce0 Merge branch 'syncevolution-1-2-branch' 2011-10-25 15:19:10 +00:00
Patrick Ohly 0f99835349 Synthesis contact testing: avoid \; -> ;; issue in testExtensions
The Synthesis installation on plan44.ch stores X- extensions,
but currently replaces \; in the incoming vCard 3.0 with ;; in
the outgoing vCard 2.1. Avoid this aspect of the test for the time
being.
2011-10-25 15:11:23 +00:00
Patrick Ohly 16f369724e Memotoo testing: EXDATE changes
Memotoo now sends EXDATE with date/time values if the event iself has
a time in its DTSTART. That's more consistent with the iCalendar 2.0
semantic, but requires changes in the test data.
2011-10-21 15:20:17 +02:00
Patrick Ohly 4c28462f7b Exchange testing: avoid detached recurrences in eds_event
The recently added "Recurring 3" events do not work with ActiveSync at
the moment because detached recurrences cannot be stored via
ActiveSync (BMC #22831). Temporarily avoid them when talking to
Exchange.
2011-10-17 13:17:42 +02:00
Patrick Ohly ced4009dcc testing: get tests to pass with Oracle Communications Calendar server
Started CalDAV/CardDAV testing against Oracle Communications Calendar
server (formerly known as Sun Java System Calendar Server).

The only necessary workaround is to ignore
X-S1CS-RECURRENCE-COUNT (added to VEVENTs) and to avoid the \\\n
sequence which is incorrectly expanded to \\\\n by the ical4j
component (also affects Bedework).

Another known difference found by testing is that Oracle sends
semicolons unescaped in vCard 3.0. Will be fixed in the server.
2011-10-17 13:17:42 +02:00
Patrick Ohly 3e09aeb9cb Oracle: remove problematic \; test case
Oracle server fails with a 500 error for the N \; test case.
Will be fixed in the server soon, in the meantime, let's
remove the test case.
2011-10-17 13:17:42 +02:00
Patrick Ohly be2b46ac9c testing: added recurring all-day with EXDATE
The only other EXDATE test uses a time and thus VALUE=DATE-TIME for
EXDATE. The new test cases uses VALUE=DATE for DTSTART and thus
EXDATE.

Probably will need adapting for various servers.
2011-10-17 13:17:42 +02:00
Patrick Ohly 65b731f45f testing: be strict about DTSTART + EXDATE matching
Although IMHO it is not explicitly specified by iCalendar 2.0, it is
good practice and in fact expected by at least two servers (Apple
Calendar Server, Oracle Communication Calendar Server) that DTSTART
and EXDATE are using the same time format. If DTSTART is UTC, so
should be EXDATE, same for TZID and DATE-TIME/DATE.
2011-10-17 13:17:41 +02:00
Patrick Ohly a7f7c8eacf Merge remote branch 'origin/syncevolution-1-2-branch'
Conflicts:
	configure.ac
	test/ClientTest.cpp
	test/testcases/eds_event.ics.funambol.tem.patch

Conflicts because of version number and updated test cases resp. local
delete optimization.

ActiveSync backend had to be adapted to modified InsertItemResult: now
it requests a merge when it detects duplicates, like the CalDAV backend
already did on the 1.2 branch.
2011-10-17 13:16:33 +02:00
Patrick Ohly 31841b85b1 Google CalDAV testing: avoid multiple detached recurrences
Because of Google issue with detached recurrences without parent
(http://code.google.com/p/google-caldav-issues/issues/detail?id=58)
and the SyncEvolution workaround (replacing RECURRENCE-ID with
X-SYNCEVOLUTION-RECURRENCE-ID) only one detached recurrence per UID
can be stored.

Removing the second modified recurrence from the test cases for
Google.
2011-10-17 08:45:31 +00:00
Patrick Ohly df108b9729 vCard extensions + Apple: avoid problematic quoted PARAMETER2
Apple (correctly?!) sends back the X-TEST PARAMETER2 without quotation
marks around the value, despite it containing spaces. This confuses
the EDS vCard parser. To get the test to pass let's avoid this
particular aspect when talking to Apple Calendar Server.
2011-10-10 09:39:10 +02:00
Patrick Ohly 4baa3c989e vCard extensions: \; instead of ;
vCard 3.0 explicitly says that text-value must have semicolon
escaped. Do it like that in our base test case.
2011-10-10 09:39:09 +02:00
Patrick Ohly 7fda0169f3 eds_contact: specify all N components
Not exactly required by vCard 3.0, but expected by some peers: N must
contain five components (= four semicolons) even if components are
empty.
2011-10-10 09:39:09 +02:00
Patrick Ohly e2687b98a9 Memotoo testing: added EXDATEs
Memotoo does detect RECURRENCE-ID/UID when importing events during a
sync, it just doesn't store it. It uses that information to add an
EXDATE to the recurring event.

Adapted the test data so that it has RECURRENCE-ID (lost, but that is
ignored by synccompare) and EXDATE (checked by synccompare). A real
test would be to not have EXDATE and check that they get added, but
this kind of semantic transformation currently cannot be tested
automatically.
2011-09-14 15:07:31 +02:00
Patrick Ohly 74f525428b testing: extended detached recurrence test cases (triggers BMC #22940)
The parent with single detached recurrence was too simplistic. More
than one detached recurrence is necessary to trigger a problem in the
EDS calendar backend.

Because the "parent + single detached recurrence" may also be a relevant
special case, it is also still covered.

Finally, importing multiple detached recurrences without parent also
needs to be covered.

Missing is importing of a single detached recurrence. This should
be covered by importing the first of the two detached recurrences.
2011-09-14 15:07:31 +02:00
Patrick Ohly c98625bc02 testing: avoid Funambol eds_event::testItems failure
The recently introduced VALARM:DESCRIPTION is dropped by
Funambol, despite it being mandatory in the iCalendar 2.0 standard.
Let's ignore this, by not using DESCRIPTION in the Funambol
test cases.
(cherry picked from commit e23c63396b)
2011-09-13 08:35:24 +00:00
Patrick Ohly d4928b4c20 testing: Exchange contact test cases
FN, name prefix, PO box, LABEL, anniversary and spouse not supported
by ActiveSync.  BDAY also supports UTC time (+-hh:mm also supported by
the vCard -> EAS conversion, but cannot be tested because it gets
converted to absolute UTC).

EMAIL and TEL have very specific requirements. The "John Doe" contact
covers all supported type combinations.

No chat handles supported. ActiveSync has exactly one, without
specifying what it is for.
2011-09-06 11:38:03 +02:00
Patrick Ohly 8a7f960ac7 Exchange event testing: special testcases
TZIDs and TZNAME are not preserved (and don't have to).
Events without RRULE are converted to UTC by Exchange,
use simple RRLULE to prevent that. RRULES are sometimes
rewritten a bit.

EXDATEs are always date-time. The date-only case is probably not
supported correctly by activesyncd (need to test).

Meeting invitations end up with organizer == calendar owner.
Need to check how this works with meeting invitations. Ignore test
case for now.

Custom time zones work in principle, but the one in the base test
got mangled. Need more real-world tests.
2011-09-01 13:00:22 +02:00
Patrick Ohly e23c63396b testing: avoid Funambol eds_event::testItems failure
The recently introduced VALARM:DESCRIPTION is dropped by
Funambol, despite it being mandatory in the iCalendar 2.0 standard.
Let's ignore this, by not using DESCRIPTION in the Funambol
test cases.
2011-08-27 14:13:01 +02:00
Patrick Ohly d22753f4e4 testing: use normal contact tests for Apple Calendar server
Bug https://trac.calendarserver.org/ticket/436 was resolved,
the latest Apple Calendar server supports line breaks in ADR.
Therefore we can stop using special test cases for Apple.
2011-08-26 08:31:41 +00:00
Patrick Ohly f621b950cf testing: fixed iCalendar VALARM test cases
VALARM must have a DESCRIPTION. Found when testing against the latest
Apple Calendar server, which checks that. Fixed by adding the default
Google "event reminder" description.
2011-08-26 08:31:40 +00:00