From 40b64139fd0326f305bf2946f29bf44892e1cf23 Mon Sep 17 00:00:00 2001 From: Markus Unterwaditzer Date: Sun, 28 Dec 2014 00:28:41 +0100 Subject: [PATCH] Add item_types test --- tests/storage/dav/servers/radicale/__init__.py | 2 +- tests/storage/dav/test_main.py | 14 +++++++++++++- vdirsyncer/storage/dav.py | 3 +-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/tests/storage/dav/servers/radicale/__init__.py b/tests/storage/dav/servers/radicale/__init__.py index ac8a367..66e84b7 100644 --- a/tests/storage/dav/servers/radicale/__init__.py +++ b/tests/storage/dav/servers/radicale/__init__.py @@ -116,7 +116,7 @@ class ServerMixin(object): 'collection': collection, 'unsafe_href_chars': ''} if collection is not None: - # Create collection, works around + # XXX: Create collection, works around # https://github.com/Kozea/Radicale/pull/236 s = self.storage_class(**rv) s.delete(*s.upload(get_item())) diff --git a/tests/storage/dav/test_main.py b/tests/storage/dav/test_main.py index 27ff141..2442275 100644 --- a/tests/storage/dav/test_main.py +++ b/tests/storage/dav/test_main.py @@ -175,10 +175,22 @@ class TestCaldavStorage(DavStorageTests): list(s.list()) assert len(calls) == 1 + def test_item_types(self, s): + event = s.upload(format_item(EVENT_TEMPLATE)) + task = s.upload(format_item(TASK_TEMPLATE)) + s.item_types = ('VTODO', 'VEVENT') + assert set(s.list()) == set([event, task]) + s.item_types = ('VTODO',) + assert set(s.list()) == set([task]) + s.item_types = ('VEVENT',) + assert set(s.list()) == set([event]) + s.item_types = () + assert set(s.list()) == set([event, task]) + class TestCarddavStorage(DavStorageTests): storage_class = CarddavStorage @pytest.fixture - def item_template(self, request): + def item_template(self): return VCARD_TEMPLATE diff --git a/vdirsyncer/storage/dav.py b/vdirsyncer/storage/dav.py index 2f935b8..1233492 100644 --- a/vdirsyncer/storage/dav.py +++ b/vdirsyncer/storage/dav.py @@ -496,8 +496,7 @@ class CaldavStorage(DavStorage): :param end_date: End date of timerange to show, default +inf. :param item_types: Comma-separated collection types to show from the server. Dependent on server functionality, no clientside validation of - results. The empty value ``''`` is the same as ``'VTODO, VEVENT, - VJOURNAL'``. + results. The empty value ``[]`` means "all items". ''' + DavStorage.__doc__ storage_name = 'caldav'