diff --git a/Makefile b/Makefile index 0c02292..3a6ddfc 100644 --- a/Makefile +++ b/Makefile @@ -12,6 +12,7 @@ # make DAV_SERVER=skip # ... export DAV_SERVER := radicale +export REMOTESTORAGE_SERVER := restore export RADICALE_BACKEND := filesystem export REQUIREMENTS := release export TESTSERVER_BASE := ./tests/storage/servers/ @@ -19,7 +20,7 @@ export TRAVIS := false install-servers: set -ex; \ - for server in $(DAV_SERVER); do \ + for server in $(DAV_SERVER) $(REMOTESTORAGE_SERVER); do \ if [ ! -d "$(TESTSERVER_BASE)$$server/" ]; then \ git clone --depth=1 \ https://github.com/vdirsyncer/$$server-testserver.git \ diff --git a/tests/storage/test_remotestorage.py b/tests/storage/test_remotestorage.py new file mode 100644 index 0000000..f14bdd0 --- /dev/null +++ b/tests/storage/test_remotestorage.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- + + +import os + +import pytest + +from vdirsyncer.storage.remotestorage import \ + RemoteStorageCalendars, RemoteStorageContacts + +from . import StorageTests, get_server_mixin + +remotestorage_server = os.environ['REMOTESTORAGE_SERVER'] +ServerMixin = get_server_mixin(remotestorage_server) + + +class RemoteStorageTests(ServerMixin, StorageTests): + remotestorage_server = remotestorage_server + + +class TestCalendars(RemoteStorageTests): + storage_class = RemoteStorageCalendars + + @pytest.fixture(params=['VTODO', 'VEVENT']) + def item_type(self, request): + return request.param + + +class TestContacts(RemoteStorageTests): + storage_class = RemoteStorageContacts + supports_collections = False + + @pytest.fixture(params=['VCARD']) + def item_type(self, request): + return request.param