Client::Source::eas_event::TestLinkedItems failed because it made the
assumption that LUIDs are the same for all clients. With ActiveSync
they are not (get renumbered in the initial sync), so this particular
aspect of the tests has to be disabled.
activesyncd commit ID:
fc5994fe8cc9a9d253501527a98f49f4eea8e445
Instead of reading individual VEVENTs through
ActiveSyncCalendarSource, go directly to the activesyncd via
ActiveSyncSource. That cuts out the middle-man and will help
to reveal bugs in it.
activesyncd commit ID:
ddefe1cfe9e92948b6d1dd4779b259a11c184341
The testImport test must write all existing items into a file for
comparison. Normally this is done with the backup backend operation,
which does not exist with the ActiveSync backend.
This commit adds a version specifically for that backend. DumpItems()
assumes that item meta data was updated correctly and then reads their
data via ActiveSync[Calendar]Source::readItem() = eas_sync_handler_fetch_item().
Note that this is unnecessarily complex for ActiveSyncCalendarSource:
it reads single VEVENTs, parsed by ActiveSyncCalendarSource, instead
of writing the VCALENDAR produced by activesyncd directly as for ActiveSyncSource.
Will be fixed in the next commit.
activesyncd commit ID:
c788aa464dd866fcb5eaac27533bd53ff1aa5c84
The new ActiveSyncCalendarSource wraps the generic
ActiveSyncSource. It takes single VEVENTs per item and maps them to
ActiveSync items which combine all VEVENTs sharing the same UID.
The code is a combination of MapSyncSource and CalDAVSyncSourc. It
would have been nice to do this without duplicating code, but that
would have implied some pretty heavy core refactoring in code which is
currently in code freeze for SyncEvolution 1.2.
The new backend passes for the same tests as before. It fails for
those cases where ActiveSyncCalendarSource needs to do a partial
update of an ActiveSync item that was not modified on the server. In
that case, the item data is never sent to the client and with the
current activesyncd API it cannot retrieve the data on demand either.
ActiveSyncSource::readItem() needs to be extended. Right now it fails
with "internal error: item data for <eas ID> not available".
activesyncd commit ID:
61285b15a16a52c3c5ad1767047d0ca0ba1f32e8
When testing with "Client::Source::*::testChanges", two different
accounts must be used. Otherwise the two simulated SyncEvolution
clients share the same sync keys and testing fails.
The solution is to switch to a different account, derived by appending
_B to the original account ID, for the second client.
With this fix, the testing continues. But it also needs change in
client-test itself: "testChanges" had a check that all items can be
read, which is not the case for ActiveSync because there unmodified
item data is not available.
activesyncd commit ID:
6300b3ea9184e114b521ef2e5eafda476c836e5c
The test framework itself attempts to use named databases, but because
that isn't currently supported, the first database is mapped to the
default database in the ActiveSync backend. For ActiveSync testing,
one database is enough to run all tests.
See README for instructions.
activesyncd commit ID:
cb40467f138b6d5c65007351a10cb243b5eff6c2
Creating configs by client-test must know the right backend value.
Adding it for events, tasks and memos.
activesyncd commit ID:
cda470c2277e9dd63652b9fd1cbf762c851a13fd
After adding the missing G_END_DECLS in libeassync.h it is possible
to use the header files by specifying the paths explicitly in
configure.
activesyncd commit ID:
3557477ad79c0113a2a3f7ea3b250cf5ff4ac020
Compiles inside SyncEvolution, see README.
Sync session and design outlined in the ActiveSyncSource.h
header file for the main class, ActiveSyncSource.
activesyncd commit ID:
ec8071ae67c107f32305c6d47f176210421c17c7