Commit graph

68 commits

Author SHA1 Message Date
Markus Unterwaditzer
73e2ccf46a Create always safe hrefs
The set of safe characters was inspired by the set of safe characters in
URLs.

Fixes #229
2015-07-12 23:42:49 +02:00
Markus Unterwaditzer
d35cb1bc50 Tests for metasync 2015-07-07 16:32:47 +02:00
Markus Unterwaditzer
a007828f87 Simple metadata interface 2015-07-07 16:20:04 +02:00
Markus Unterwaditzer
2866bbde5f Support unicode collections
- DAV: Avoid re-coding if possible
- Filesystem: Convert to native strings because that's what `os.path`
  utilities expect.
2015-06-13 18:15:21 +02:00
Markus Unterwaditzer
4cfca383d9 Small refactor 2015-05-19 13:29:49 +02:00
Markus Unterwaditzer
25f209c3ca Create collections explicitly 2015-03-08 15:21:36 +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
584e1d9d12 Add new testcase
see #144
2015-01-01 19:13:13 +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
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
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
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
ca30542801 Test against more item types 2014-11-04 21:16:37 +01: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
c750561fb8 Use more fixtures 2014-07-06 23:22:02 +02:00
Markus Unterwaditzer
7bbc8b87da Some smaller changes to testsuite 2014-07-06 20:28:48 +02:00
Markus Unterwaditzer
201c840e88 Import beautification 2014-06-19 00:07:54 +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
c1eb55c241 Copyright and contributor stuff
Fix #60
2014-05-22 12:50:43 +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
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
a33e34bc60 Flake8 2014-05-14 15:47:41 +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
bb579a8879 Fix some imports 2014-05-02 19:30:38 +02:00
Markus Unterwaditzer
a1063b0e06 Make flake8 for Python 3 shut up 2014-04-30 01:04:08 +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
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
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
65e6397806 Flake8 2014-04-11 15:49:15 +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
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
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