Commit graph

12 commits

Author SHA1 Message Date
Patrick Ohly 22480c77cd client-test + ActiveSync: avoid tests which depend on storing detached children alone
activesyncd does not support storing VCALENDARs without parent (BMC
Avoid running tests which depend on that.
2011-09-01 12:38:37 +02:00
Patrick Ohly 57ab479c2c ActiveSync: set "sourceLUIDsAreVolatile"
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
2011-08-30 09:18:39 +02:00
Patrick Ohly 063315da05 ActiveSync: improved testImport for ActiveSyncCalendarSource
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
2011-08-30 09:18:39 +02:00
Patrick Ohly ee0d351843 ActiveSync: fixed testImport test
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
2011-08-30 09:18:39 +02:00
Patrick Ohly f0b22a0750 ActiveSync: map multiple VEVENTs with the same UID into the same ActiveSync item
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
2011-08-30 09:18:38 +02:00
Patrick Ohly 24665a97c9 ActiveSync: fixed change tracking in testing
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
2011-08-30 09:18:38 +02:00
Patrick Ohly b07b80677c ActiveSync: enable client-test testing
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
2011-08-30 09:18:38 +02:00
Patrick Ohly d357d1d0e6 ActiveSync: backend type must be set for testing
Creating configs by client-test must know the right backend value.
Adding it for events, tasks and memos.

activesyncd commit ID:
cda470c2277e9dd63652b9fd1cbf762c851a13fd
2011-08-30 09:18:38 +02:00
Patrick Ohly 054f1f157e ActiveSync: fixed naming of tasks
The test cases are named eds_task, not eds_todo.

activesyncd commit ID:
b383d4795397a35be1902b1cbdda5208ac3fe6e9
2011-08-30 09:18:38 +02:00
Salvatore Iovene 4abe883d49 ActiveSync: more explicit check for config.h
Don't depend on config.h being included indirectly.
2011-08-30 09:18:38 +02:00
Patrick Ohly 55f0789c4a ActiveSync: use activesyncd header files
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
2011-08-30 09:18:38 +02:00
Patrick Ohly 6ba4b8680d ActiveSync: boiler plate code with empty function bodies
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
2011-08-30 09:18:38 +02:00