Commit graph

204 commits

Author SHA1 Message Date
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
Markus Unterwaditzer
74ec709478 Fix tests 2014-04-14 14:22:35 +02:00
Markus Unterwaditzer
0176d643c5 Move radicale back into main repo 2014-04-13 14:26:04 +02:00
Markus Unterwaditzer
2156051056 More tests 2014-04-13 10:30:23 +02:00
Markus Unterwaditzer
1050a4e157 Add test for error handling 2014-04-13 10:09:06 +02:00
Markus Unterwaditzer
720174a205 Remove debug print statement
Yes, shame on me.
2014-04-13 09:28:49 +02:00
Markus Unterwaditzer
b8faf6ffdb Simplify setup code for dav tests 2014-04-12 16:51:12 +02:00
Markus Unterwaditzer
9d9f193513 Move testserver-specific code into different repos 2014-04-12 16:23:32 +02:00
Markus Unterwaditzer
ccb4e42ce2 Polish up CaldavStorage.list 2014-04-12 14:17:37 +02:00
Markus Unterwaditzer
b6e3490980 Add test for timerange 2014-04-12 13:50:08 +02:00
Markus Unterwaditzer
65e6397806 Flake8 2014-04-11 15:49:15 +02:00
Markus Unterwaditzer
70b446e673 Merge branch 'issue29'
Conflicts:
	tests/storage/test_http.py
	vdirsyncer/storage/dav.py
2014-04-11 15:35:30 +02:00
Markus Unterwaditzer
633a7de28c Some rewrites to requests handling
Conflicts:
	tests/storage/test_http.py
	vdirsyncer/storage/dav.py
2014-04-11 15:27:31 +02:00
Markus Unterwaditzer
0c14b14f17 See #29 2014-04-11 15:03:38 +02:00
Markus Unterwaditzer
9b78360515 Use safer write to avoid corruption of data. 2014-04-09 18:36:46 +02:00
Markus Unterwaditzer
e9f1273fa8 Fix case where path exists but is not a dir 2014-04-06 13:49:08 +02:00
Markus Unterwaditzer
46910dbc4f Fix #20 2014-04-06 13:43:34 +02:00
Markus Unterwaditzer
7f01b22642 Unify terminology obj => item 2014-04-06 00:21:28 +02:00
Markus Unterwaditzer
3670bed66d Make etags always strings.
This somewhat helps with environments where ducktyping is not an option
(e.g. databases)
2014-04-05 18:29:12 +02:00
Markus Unterwaditzer
0aedeb472e Move allowed failures settings to travis 2014-04-05 12:47:28 +02:00
Markus Unterwaditzer
11cd1c7a05 Oh yeah, and... 2014-04-04 13:34:57 +02:00
Markus Unterwaditzer
58b24ad176 More tests for HTTPStorage 2014-04-04 13:32:39 +02:00
Markus Unterwaditzer
f4cdde9a52 Ability to handle missing UIDs. 2014-04-04 13:20:18 +02:00
Markus Unterwaditzer
50314418ec Remove more dead code 2014-04-02 18:10:19 +02:00
Markus Unterwaditzer
a2ec63a0e0 Remove legacy/dead code 2014-04-02 18:02:08 +02:00
Markus Unterwaditzer
d14dfcd5f8 More copyright headers
[ci skip]
2014-04-01 21:09:40 +02:00
Markus Unterwaditzer
eb4c481b3b Fix bug in tests for radicale 2014-03-29 18:05:15 +01:00
Markus Unterwaditzer
4e1371e561 Globally log requests 2014-03-29 17:52:57 +01:00
Markus Unterwaditzer
bd351242e6 Use requests transport adapters for mocking
We forgot to send auth headers...
2014-03-29 17:49:29 +01:00
Markus Unterwaditzer
36c0607b45 Loosen up tests again...
We shouldn't test item uploading functions in discovery
2014-03-29 13:27:34 +01:00
Markus Unterwaditzer
fe1d141b34 This doesn't work very well if there's a collection called "test". 2014-03-29 13:19:17 +01:00