Commit graph

234 commits

Author SHA1 Message Date
Markus Unterwaditzer
209648a936 Make XML parsing more tolerant re invalid chars
Fix #207
2015-05-21 08:05:59 +02:00
Markus Unterwaditzer
4cfca383d9 Small refactor 2015-05-19 13:29:49 +02:00
Markus Unterwaditzer
a90815f5df Improve errorhandling for enduser 2015-04-28 17:57:00 +02:00
Markus Unterwaditzer
8c7af4bfc9 Disallow verify=false 2015-04-28 16:56:05 +02:00
Markus Unterwaditzer
575d270e06 Use FingerprintAdapter from req-toolbelt
Fix #187
2015-04-11 15:03:07 +02:00
Markus Unterwaditzer
fb5f093bdf Test MKCOL in Radicale 2015-03-23 17:48:47 +01:00
Markus Unterwaditzer
cbc00630f2 style fix 2015-03-08 15:35:56 +01:00
Markus Unterwaditzer
25f209c3ca Create collections explicitly 2015-03-08 15:21:36 +01:00
Markus Unterwaditzer
264023c30d Fix bug in filesystem's create_collection 2015-03-08 15:00:51 +01:00
Markus Unterwaditzer
18103afcc2 Fix tests 2015-02-26 12:13:20 +01:00
Markus Unterwaditzer
91d83d1b79 Style fixes 2015-02-09 15:45:01 +01:00
Markus Unterwaditzer
6207d9419c Don't actually tolerate this 2015-02-08 19:55:47 +01:00
Markus Unterwaditzer
ef18e78ca0 style fixes 2015-02-08 19:53:05 +01:00
Michael Adler
208453408f Introduce post_hook for filesystem storage 2015-02-08 19:37:10 +01:00
Markus Unterwaditzer
6d91c95b30 Fix broken import 2015-02-08 14:50:13 +01:00
Markus Unterwaditzer
847f3b5142 Expect test to fail on case insensitive filesystems 2015-02-08 14:47:35 +01:00
Markus Unterwaditzer
4ddcb0fef4 Retry with random filename if UID is rejected.
see #173
2015-01-30 15:14:39 +01:00
Markus Unterwaditzer
5ce0d97f91 Remove copyright headers 2015-01-21 13:02:30 +01:00
Markus Unterwaditzer
a55d1f2d03 Re-enable baikal tests 2015-01-04 13:43:53 +01:00
Markus Unterwaditzer
e76fd29aec Unify collection creation 2015-01-01 22:01:23 +01:00
Markus Unterwaditzer
584e1d9d12 Add new testcase
see #144
2015-01-01 19:13:13 +01:00
Markus Unterwaditzer
b548c27384 Remove unnecessary imports 2015-01-01 13:17:04 +01:00
Markus Unterwaditzer
e21a197006 The original testcase already takes care of this. 2015-01-01 13:05:39 +01:00
Markus Unterwaditzer
bf81c769f8 Remove superfluous testcase. 2014-12-31 01:42:52 +01:00
Markus Unterwaditzer
e5d27d771d Style fixes 2014-12-30 18:13:55 +01:00
Markus Unterwaditzer
e933f6db44 Ensure updated items have the same UID (if any)
FastMail insists on this.
2014-12-30 18:07:27 +01:00
Markus Unterwaditzer
ce30ed7b8a Rewrite collections test 2014-12-30 13:23:45 +01:00
Markus Unterwaditzer
40b64139fd Add item_types test 2014-12-28 00:40:35 +01:00
Markus Unterwaditzer
3101572440 Add note regarding radicale bug
https://github.com/Kozea/Radicale/pull/236
2014-12-17 16:54:10 +01:00
Markus Unterwaditzer
06a701bc10 Handle collections correctly
Fix #132

Passing the collections parameter used to mean that the storage should
append its value to the URL or path. This was a leaky abstraction for
the reasons explained in #132.

The new behavior removes this meaning from this parameter. Vdirsyncer
now maintains a cache of discovered collections.
2014-12-15 21:57:56 +01:00
Markus Unterwaditzer
1e8e931464 Clarify internal docstring 2014-12-15 21:18:37 +01:00
Markus Unterwaditzer
291edd7be0 Merge branch 'encodings'
Conflicts:
	vdirsyncer/storage/dav.py
2014-12-08 20:13:41 +01:00
Markus Unterwaditzer
61bf23588d Refactor! 2014-12-08 16:32:23 +01:00
Markus Unterwaditzer
3b6a2f3664 Clean up set comparison 2014-12-08 11:27:04 +01:00
Markus Unterwaditzer
ca5a9cd8f9 Stricten collection discovery test 2014-12-07 16:49:52 +01:00
Markus Unterwaditzer
741045c1be Rewrite DAV storages' encoding behavior
This is more explicit than the old behavior. See
https://github.com/Kozea/Radicale/issues/128 for the discussion that led
to this.
2014-12-07 15:11:42 +01:00
Markus Unterwaditzer
07de8a0cc4 Add another test re s.has 2014-12-06 16:40:39 +01:00
Markus Unterwaditzer
772f745832 get_multi now ignores duplicate input 2014-12-06 14:08:10 +01:00
Markus Unterwaditzer
566a988f32 Remove indirection for get_storage_args fixture 2014-12-01 00:11:23 +01:00
Markus Unterwaditzer
c234bce656 "A from B" => "B/A" 2014-12-01 00:11:05 +01:00
Markus Unterwaditzer
a7878c9342 Add radicale multifilesystem to test matrix 2014-11-30 13:41:09 +01:00
Markus Unterwaditzer
069f5dfa89 Deal with Radicale 0.7
Fix #138
2014-11-26 14:19:46 +01:00
Markus Unterwaditzer
ca30542801 Test against more item types 2014-11-04 21:16:37 +01:00
Markus Unterwaditzer
3fccfe19e7 Enforce alphabetic import order 2014-10-29 23:03:58 +01:00
Markus Unterwaditzer
f22548000b Fix another typo and add test assertion 2014-10-19 18:36:09 +02:00
Markus Unterwaditzer
9e12e29db6 Properly deal with invalid filename characters
Fix #110
2014-09-03 20:35:31 +02:00
Markus Unterwaditzer
63c990a320 Properly remove monkeypatching in radicale tests 2014-08-21 00:56:13 +02:00
Markus Unterwaditzer
5509868958 Revert "Revert "Tls fingerprints"" 2014-08-20 18:43:34 +02:00
Markus Unterwaditzer
c86ad88c96 Revert "Tls fingerprints" 2014-08-20 18:38:59 +02:00
Thomas Weißschuh
d5e8be4979 [tests] directly monkeypatch requests Session
need for later changes
2014-08-18 19:11:07 +00:00
Markus Unterwaditzer
2fd4aaead3 Add tests for prepare_auth 2014-08-15 18:29:11 +02:00
Markus Unterwaditzer
2e2082fb55 Make _create_bogus_item a fixture.
Also rename the "storage" fixture to "get_storage".
2014-08-06 22:03:30 +02:00
Markus Unterwaditzer
eb1431e5db Fix all known URL-quoting problems
- Fix #49 -- The old fix caused problems with other servers. The new
  behavior only decodes ``@`` characters.

- ``@`` is now not used when generating a new href, as some servers seem
  to have problems with it (http://sabre.io/dav/character-encoding/).
  This behavior is configurable via the ``unsafe_href_chars`` parameters
  for DAV storages, and is disabled in the testsuite for Radicale and
  ownCloud.

- Decoding of hrefs is also done twice for CarddavStorage.list because
  of owncloud/contacts#581. Vdirsyncer has behaved like that before, but
  not intentionally.

- Storages now don't share their ``_get_href`` methods anymore.
2014-08-06 16:43:23 +02:00
Markus Unterwaditzer
574869f619 ownCloud 7 now does If-Match headers right 2014-07-23 14:21:10 +02:00
Markus Unterwaditzer
c750561fb8 Use more fixtures 2014-07-06 23:22:02 +02:00
Markus Unterwaditzer
97a428f3c8 Add new testcase 2014-07-06 20:43:59 +02:00
Markus Unterwaditzer
7bbc8b87da Some smaller changes to testsuite 2014-07-06 20:28:48 +02:00
Markus Unterwaditzer
0dfcefbfd3 Use PROPFIND for carddav queries because of Zimbra
Fix #83
Fix #84
2014-07-05 14:09:30 +02:00
Markus Unterwaditzer
d98c4b37ba Cheap shots for test coverage 2014-06-19 18:13:45 +02:00
Markus Unterwaditzer
201c840e88 Import beautification 2014-06-19 00:07:54 +02:00
Markus Unterwaditzer
77a8cf8ff7 Fix logic 2014-06-15 12:07:22 +02:00
Markus Unterwaditzer
fadff19752 Make CaldavStorage.list faster 2014-06-15 11:15:13 +02:00
Markus Unterwaditzer
5788544839 Merge pull request #77 from untitaker/readonly
Add read_only parameter
2014-06-12 15:46:57 +02:00
Markus Unterwaditzer
fc9ca4177f Add a test for HttpStorage.read_only 2014-06-12 15:14:36 +02:00
Markus Unterwaditzer
c574e746dd Split string only once 2014-06-12 14:40:25 +02:00
Markus Unterwaditzer
179d9bc393 Move 3k compat stuff to own module 2014-06-11 19:37:39 +02:00
Markus Unterwaditzer
62340814fa Fix bug in repr of davstorage 2014-06-08 00:28:39 +02:00
Markus Unterwaditzer
fd3f6e4532 Some improvements to join_collection
Which induces a behavior change in singlefilestorage, as now
join_collection wouldn't write a wrapper if no items are given
2014-05-29 18:11:29 +02:00
Markus Unterwaditzer
d46795bdb7 Simplify error handling 2014-05-26 23:02:24 +02:00
Markus Unterwaditzer
c1eb55c241 Copyright and contributor stuff
Fix #60
2014-05-22 12:50:43 +02:00
Markus Unterwaditzer
c66a074f36 Add GuessAuth to authentication methods 2014-05-18 23:22:55 +02:00
Markus Unterwaditzer
d824882551 Add another testcase 2014-05-18 21:42:46 +02:00
Markus Unterwaditzer
7e8fa89985 First version of SingleFileStorage 2014-05-18 21:42:46 +02:00
Markus Unterwaditzer
5c6806ce97 Greatly simplify monkeypatching code for radicale 2014-05-18 19:35:08 +02:00
Markus Unterwaditzer
5fd866b41b Fix severe bug in davstorage
where (href, etag) instead of etag would be returned.

Thanks for @slavkoja for finding it.
2014-05-18 13:39:33 +02:00
Markus Unterwaditzer
91de80cef0 Also test carddav about this 2014-05-18 10:13:52 +02:00
Markus Unterwaditzer
bcf6c0612e Move vobject utils to own module 2014-05-16 13:51:55 +02:00
Markus Unterwaditzer
46f7a0cb05 Flake8 2014-05-15 15:18:25 +02:00
Markus Unterwaditzer
61ef8b3ee3 Use icalendar for parsing 2014-05-15 15:14:06 +02:00
Markus Unterwaditzer
aff7a93582 owncloud requires UIDs 2014-05-14 16:10:33 +02:00
Markus Unterwaditzer
a33e34bc60 Flake8 2014-05-14 15:47:41 +02:00
Markus Unterwaditzer
98a9748392 Ident is now a property of Item 2014-05-14 15:40:06 +02:00
Markus Unterwaditzer
b87abfa4c0 Syncronization without UIDs! 2014-05-14 15:08:31 +02:00
Markus Unterwaditzer
cb29c2567f Allow uploading of items without UID 2014-05-14 14:48:50 +02:00
Markus Unterwaditzer
89063c5096 Add test case for #49 2014-05-13 19:26:55 +02:00
Markus Unterwaditzer
d3cff80beb Fix #51 2014-05-13 19:25:16 +02:00
Markus Unterwaditzer
2656ac7a92 Small refactoring for http storage 2014-05-12 20:16:17 +02:00
Markus Unterwaditzer
d781ac1101 Kill it with fire. 2014-05-03 21:52:05 +02:00
Markus Unterwaditzer
9616f0bbfe Move "obscure" exceptions into their own modules 2014-05-03 00:17:39 +02:00
Markus Unterwaditzer
bb579a8879 Fix some imports 2014-05-02 19:30:38 +02:00
Markus Unterwaditzer
eb386c8dac TIMEZONE issue
Some URLs such as
https://mozorg.cdn.mozilla.net/media/caldata/JapanHolidays.ics

have VTIMEZONES at the top.
2014-05-01 22:08:13 +02:00
Markus Unterwaditzer
6e55e6d2c7 Remove useless class 2014-05-01 22:08:13 +02:00
Markus Unterwaditzer
969ebb653d Fix bug with multiline values
The URL that showed this error up was

https://mozorg.cdn.mozilla.net/media/caldata/GermanHolidays.ics

with the following entry:

BEGIN:VEVENT
CREATED:20061023T132503Z
LAST-MODIFIED:20101214T141313Z
DTSTAMP:20101214T141313Z
UID:917544590
SUMMARY:Heilige drei Könige
STATUS:CONFIRMED
RRULE:FREQ=YEARLY;BYMONTH=1
CATEGORIES:Feiertag
DTSTART;VALUE=DATE:20060106
DTEND;VALUE=DATE:20060107
DESCRIPTION:Christlicher Feiertag. Nur in Baden-Württemberg\, Bayern und
 Sachsen-Anhalt.
X-MOZ-GENERATION:1
END:VEVENT
2014-05-01 11:25:22 +02:00
Markus Unterwaditzer
a1063b0e06 Make flake8 for Python 3 shut up 2014-04-30 01:04:08 +02:00
Markus Unterwaditzer
4c492c06f3 Flake8 2014-04-30 00:41:51 +02:00
Markus Unterwaditzer
a7ca0bea97 We don't actually need this? 2014-04-16 21:17:42 +02:00
Markus Unterwaditzer
e66b43c839 Be Python 3 compatible
Not that anybody actually uses Python 3, but this helps very much with
finding obscure bugs.
2014-04-16 15:28:01 +02:00
Markus Unterwaditzer
cef68b5d09 Flake8 2014-04-16 00:45:13 +02:00
Markus Unterwaditzer
9041cfc6a9 Fix edge cases in install scripts 2014-04-15 22:01:32 +02:00
Markus Unterwaditzer
6a9de56df2 Fix more tests 2014-04-14 14:45:25 +02:00