Commit graph

221 commits

Author SHA1 Message Date
Markus Unterwaditzer
a79d1ddb52 Indent multiline string. 2014-07-13 18:35:08 +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
3abebde87f Fix logging in test suite 2014-07-05 01:07:23 +02:00
Markus Unterwaditzer
6a63dcec81 Fix bug for --verbosity setting 2014-06-25 15:29:13 +02:00
Markus Unterwaditzer
8f5f7eea76 Style fixes 2014-06-22 00:48:57 +02:00
Markus Unterwaditzer
96aae16c32 Fix typo induced bug in split_collection 2014-06-22 00:21:29 +02:00
Markus Unterwaditzer
2fb58d6bcd Fix bug in keyring fetching code
Leading to infinite loop when the password is simply not there.

Also fixed some import styling again
2014-06-19 18:14:51 +02:00
Markus Unterwaditzer
289ac2cfac More tests 2014-06-19 18:14:51 +02:00
Markus Unterwaditzer
a6e2f23bbc Catch exceptions with decorator
This allows us to validate the exact output in the tests
2014-06-19 18:14:51 +02:00
Markus Unterwaditzer
65a845c7ca Add one more test 2014-06-19 18:14:51 +02:00
Markus Unterwaditzer
e9722ee63d Add test for simple usage 2014-06-19 18:14:51 +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
11adeaff86 split_collection: Allow multiple wrappers
Fix #78
2014-06-14 13:23:22 +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
5028d09f61 Add read_only parameter
Just skip any updates when the storage is read-only, write to status
anyway. The change will get reverted in the next sync.

Fix #54
2014-06-12 14:24:00 +02:00
Markus Unterwaditzer
67d14cd59a Style fix 2014-06-12 13:24:01 +02:00
Markus Unterwaditzer
e25e4dc0cb Fix bug 2014-06-12 12:51:20 +02:00
Markus Unterwaditzer
cec742b9e3 Correctly handle multiline UIDs
See #74
2014-06-11 23:10:15 +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
9087b62647 Preserve order of parameters and properties
Since version 3.7, icalendar supports the preserving of the order of
the ICS file's parameters and properties. We can use this to avoid
unnecessary changes for .ics files managed with singlefilestorage.
2014-06-03 17:38:12 +02:00
Markus Unterwaditzer
96d55c523c Fix semicolon bug
Fix #70

Also remove multiple parameters from vcard template. Android JB for
example converts this:

    Email: lol@lol (work)
    Email: lol@lol (home)

to this:

    EMAIL;TYPE=WORK:lol@lol

which is exactly what icalendar (our parser) does too. ownCloud on the
other hand converts this:

    EMAIL;TYPE=HOME,WORK:lol@lol

to this:

    EMAIL;TYPE=HOME;TYPE=WORK:lol@lol

So at this point it does not really matter anymore whether our behavior
is RFC-conform or not.
2014-05-30 17:11:47 +02:00
Markus Unterwaditzer
f59c8d1fdf Add testcase for #70 2014-05-30 16:53:22 +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
55ad24db3d Add storage_name parameter on storages 2014-05-27 18:37:37 +02:00
Markus Unterwaditzer
cefaf4923a Autodiscovery
Fix #11
2014-05-27 17:42:55 +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
eece22723e Move class inspection code to utils 2014-05-19 18:32:31 +02:00
Markus Unterwaditzer
c66a074f36 Add GuessAuth to authentication methods 2014-05-18 23:22:55 +02:00
Markus Unterwaditzer
8f5fdfb2d4 Hash items resilient against formatting 2014-05-18 21:42:47 +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
7852dfc1a2 Also move tests for vobject to own module 2014-05-16 13:57:16 +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
ef1f4fd875 Remove assertion of order. 2014-05-14 16:23:39 +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
63a2960c87 Add one more testcase 2014-05-02 23:49:03 +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
d906aa3df6 Fix #42 2014-05-01 22:03:35 +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
c18359466f More tests for conflict resolution 2014-04-11 22:51:11 +02:00
Markus Unterwaditzer
be2f0851f3 Add perftests for sync 2014-04-11 22:25:57 +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
691abf8c7e Fix a bug in parse_options 2014-04-08 22:07:13 +02:00
Markus Unterwaditzer
745afbe5a3 Also test case where everything is *really* synced. 2014-04-07 19:45:13 +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
8f6b3003cc Refactor get_password 2014-04-06 12:18:16 +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
15658b1f31 More tests and more coverage 2014-04-05 14:36:42 +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