Commit graph

541 commits

Author SHA1 Message Date
Markus Unterwaditzer
30ab52ea4c Stylefix 2016-09-26 13:28:57 +02:00
Markus Unterwaditzer
5f76c9e720 Another sync refactor 2016-09-26 12:51:49 +02:00
Markus Unterwaditzer
8cbfb69691 Test rollback in sync 2016-09-26 12:51:49 +02:00
Markus Unterwaditzer
dd5f76ca5d ignore UIDs in http storage 2016-09-25 14:03:46 +02:00
Markus Unterwaditzer
22568571c2 Introduce conflict resolution via commands
Fix #127

More options of conflict resolution are discussed there, but they all
require extra dependencies. This new API allows the user to plug in
third-party scripts to do those.
2016-09-19 19:17:39 +02:00
Markus Unterwaditzer
dc5500892b More config refactor 2016-09-19 19:17:39 +02:00
Markus Unterwaditzer
cfbc7ec71b Refactor of status handling in sync (#505)
- Using `info.idents` as new status, this saves a few operations where
  no storage actions have to be taken, but the status has to be updated.

- Rename StorageSyncer to _StorageInfo and make it a private API again.

- Ability to pass custom functions for conflict resolution. This part is
  a preparation for #127.
2016-09-18 15:46:56 +02:00
Markus Unterwaditzer
b20fc996a2 Refactor config parsing
Fix #459
2016-09-08 13:34:34 +02:00
Markus Unterwaditzer
18d8bb9fc2 Remove Python 2 support (#499)
* Discontinue Python 2.

See #219

* Remove Python 2 config option

* Remove coerce_native

* Remove PY2 variable

* s/text_type/str/g

* Flake8 fixes

* Remove str = str

* s/to_native/to_unicode/g

* Remove to_unicode = to_unicode

* Remove iteritems

* Remove itervalues

* Remove str import, flake8 fixes

* Remove urlparse compat code

* Remove with_metaclass

* Remove unused PY2 variable

* Remove getargspec_ish

* Remove to_bytes

* Remove compat module

* Remove Python 2 from Travis

* fixup! Remove urlparse compat code

* fixup! Remove urlparse compat code

* fixup! Remove compat module
2016-09-08 12:18:36 +02:00
Markus Unterwaditzer
5a382be9c6 update davical-testserver 2016-08-28 23:19:22 +02:00
Markus Unterwaditzer
8ecef1e9a6 Update davical
Fix #458
2016-08-27 17:20:10 +02:00
Markus Unterwaditzer
0de8415183 Stylefixes 2016-08-26 08:34:32 +02:00
Markus Unterwaditzer
3c7c1f5f67 Add test for CollectionRequired 2016-08-26 01:39:29 +02:00
Markus Unterwaditzer
6f43e14908 Update baikal-testserver 2016-08-23 16:05:47 +02:00
Markus Unterwaditzer
a05c30be58 Update mysteryshack-testserver 2016-08-20 17:14:26 +02:00
Markus Unterwaditzer
f238a58c85 DAV: Don't violate Storage API (#492)
The implementation of #476 is problematic as it returns None.
`vdirsyncer.sync` has internal assertions that this is a string, which
is why we get a crash like this:

    error: Unknown error occured for cal/markus@unterwaditzer.net:
    error: Use `-vdebug` to see the full traceback.
    debug:   File "/home/untitaker/projects/vdirsyncer/vdirsyncer/cli/tasks.py", line 66, in sync_collection
    debug:     force_delete=force_delete
    debug:   File "/home/untitaker/projects/vdirsyncer/vdirsyncer/sync.py", line 228, in sync
    debug:     action(a_info, b_info, conflict_resolution)
    debug:   File "/home/untitaker/projects/vdirsyncer/vdirsyncer/sync.py", line 276, in inner
    debug:     assert isinstance(dest_etag, (bytes, text_type))

Discovered in #467
2016-08-19 19:58:38 +02:00
Markus Unterwaditzer
f8dffaf51e Update mysteryshack-testserver 2016-08-19 19:11:58 +02:00
Markus Unterwaditzer
a54999ff17 Introduce collections for singlefile storage (#488)
Fix #485
2016-08-17 17:41:40 +02:00
Markus Unterwaditzer
4ca4f13423 Update nextCloud 2016-08-15 13:05:40 +02:00
Markus Unterwaditzer
d96ad6ad10 Update mysteryshack-testserver again 2016-08-15 12:48:14 +02:00
Markus Unterwaditzer
7b81415b58 Update mysteryshack-testserver 2016-08-15 12:36:49 +02:00
Markus Unterwaditzer
c099b876d2 Syntax fix 2016-08-15 12:12:49 +02:00
Markus Unterwaditzer
3deba27d8b Make test_collection_arg more generic 2016-08-15 11:25:37 +02:00
Markus Unterwaditzer
97bfccdb44 Stylefix for flake8 update 2016-07-26 21:48:42 +02:00
Markus Unterwaditzer
f7076118df Stylefixes 2016-07-25 04:58:10 +02:00
Markus Unterwaditzer
140af81ead Fix XML querying bug
Fix #480
2016-07-25 04:58:10 +02:00
Markus Unterwaditzer
e4a0afcf00 Make auth = basic the default again (#477)
Fix #461
Fix #457
2016-06-17 14:35:06 +02:00
Markus Unterwaditzer
3228e22621 DAV: Fix behavior when PUT doesn't return ETag (#476)
Thanks to @evert for pointing this out in the #sabredav IRC channel.
2016-06-16 21:40:18 +02:00
Markus Unterwaditzer
8d0b055110 Merge pull request #470 from pimutils/collections-null-fix
Kill special codepath for `null`-collection
2016-06-16 15:30:16 +02:00
Markus Unterwaditzer
c6e66dc682 Test nextcloud (#473) 2016-06-16 15:28:24 +02:00
Markus Unterwaditzer
403a683e70 Cosmetic improvements 2016-06-16 15:10:03 +02:00
Markus Unterwaditzer
8c1ae4f099 Kill special codepath for null-collection 2016-06-16 15:10:03 +02:00
Markus Unterwaditzer
54517b61c9 Fix typo that would break tests 2016-06-15 18:13:44 +02:00
Markus Unterwaditzer
f289437e46 Fix validation bugs for collections parameter 2016-06-15 17:17:07 +02:00
Markus Unterwaditzer
d24f3835ef Replace text/icalendar with text/calendar
Fix #455
2016-05-25 19:23:25 +02:00
Markus Unterwaditzer
c84bab113a Update ownCloud 2016-05-24 14:19:33 +02:00
Markus Unterwaditzer
139182ef2a Weaken test 2016-05-13 23:59:34 +02:00
Markus Unterwaditzer
09d6aeb4b1 Update davical server 2016-05-13 22:17:19 +02:00
Markus Unterwaditzer
61dce503a3 Fix remoteStorage tests 2016-05-13 21:56:48 +02:00
Markus Unterwaditzer
b5a690e9b2 Fix defective discovery test
Also split up in two testcases
2016-05-13 21:25:45 +02:00
Markus Unterwaditzer
207091f11a Stylefixes 2016-05-12 20:36:34 +02:00
Markus Unterwaditzer
2b6456e572 Fix broken Hypothesis test 2016-05-12 20:27:12 +02:00
Markus Unterwaditzer
4742ea61bc Nicer error message for InvalidResponse
See #448
2016-05-12 18:40:15 +02:00
Markus Unterwaditzer
d16721cde8 Replace a few skips with xfails 2016-05-02 17:07:31 +02:00
Markus Unterwaditzer
fc3e823b6b Use os.environ instead of getenv
None.lower() fails too, but KeyError() is a nicer errormessage
2016-05-02 16:50:19 +02:00
Markus Unterwaditzer
d3724ebb19 Reorder tests 2016-05-02 16:43:24 +02:00
Markus Unterwaditzer
900ffceca9 Refactor test_config 2016-05-02 16:41:03 +02:00
Markus Unterwaditzer
08b7db3478 Stylefix 2016-04-30 19:46:13 +02:00
Markus Unterwaditzer
66c6f31c8b Remove test of deprecated code
See a1532f36f6
2016-04-30 18:49:43 +02:00
Markus Unterwaditzer
a79e30b0b0 Add tests about flaky etags 2016-04-29 20:22:07 +02:00
Markus Unterwaditzer
cf17ac0509 Stylefix 2016-04-29 20:17:27 +02:00
Markus Unterwaditzer
cf225cc038 Add comment 2016-04-29 20:17:01 +02:00
Markus Unterwaditzer
7418acc42f More assertions regarding read_only and sync 2016-04-29 20:14:16 +02:00
Markus Unterwaditzer
cbb1967017 Test read_only in sync 2016-04-29 20:07:27 +02:00
Markus Unterwaditzer
b9f3ca3581 Fix hypothesis metadata tests 2016-04-29 19:47:48 +02:00
Markus Unterwaditzer
96c90af1e3 Add flag about Py2 monkeypatch for tests 2016-04-29 19:04:14 +02:00
Markus Unterwaditzer
f007cacdba Add hypothesis test for metasync 2016-04-29 19:03:12 +02:00
Markus Unterwaditzer
29d7054e82 Stylefix 2016-04-28 22:12:02 +02:00
Markus Unterwaditzer
e7d73da4aa Be conservative with assume() usage 2016-04-28 21:49:39 +02:00
Markus Unterwaditzer
208c9ca787 Extra test for collection = null 2016-04-28 21:27:24 +02:00
Markus Unterwaditzer
ea17f2ac01 Show error for Python 2 users (#441)
* Show error for Python 2 users

The error can be disabled with a config option.

See #219
2016-04-28 16:44:17 +02:00
Markus Unterwaditzer
41c59f4c47 Make discovery explicit (#439)
* Make discovery explicit

Fix #438
2016-04-27 02:17:16 +02:00
Markus Unterwaditzer
db4923c3ef Stylefixes 2016-04-26 22:44:19 +02:00
Markus Unterwaditzer
2beb854157 Factor out duplicate UID strategies 2016-04-25 21:48:51 +02:00
Markus Unterwaditzer
9081284f02 Stylefixes 2016-04-25 18:54:28 +02:00
Markus Unterwaditzer
8d9efc3014 Hypothesis tests for sync (#436) 2016-04-24 19:59:35 +02:00
Markus Unterwaditzer
1674a6565a Update testservers 2016-04-23 13:58:09 +02:00
Markus Unterwaditzer
ec2f743ffa Replace LXML with stdlib XML
Just because the XML module is already there, and suits our needs as
well. DoS concerns should be irrelevant as we trust the server to that
extent.
2016-04-22 23:08:32 +02:00
Markus Unterwaditzer
d594f9fd24 Update servers 2016-04-17 23:35:35 +02:00
Homu
7917f2e6f4 Auto merge of #427 - pimutils:update-baikal, r=untitaker
Update Baikal to 0.4.4

None
2016-04-11 04:41:28 +09:00
Markus Unterwaditzer
ed61980000 Update Baikal to 0.4.4 2016-04-10 20:18:25 +02:00
Markus Unterwaditzer
05366cd2ff Update ownCloud to 9.0.1 2016-04-10 20:08:01 +02:00
Markus Unterwaditzer
be8df955e9 Ability to sync differently named collections with each other (#423)
* Ability to sync differently named collections

* Fixes

* Fixes

* Add example
2016-04-10 12:36:51 +02:00
Markus Unterwaditzer
7a5241101e Don't test development Radicale 2016-04-07 19:52:25 +02:00
Markus Unterwaditzer
8134313390 CLI worker: Show how many tasks failed
Fix #398
2016-04-03 23:36:49 +02:00
Homu
45389f87d9 Auto merge of #400 - pimutils:not-implemented-discovery, r=untitaker
Nicer output for unsupported discovery

Fix #347
2016-04-03 06:49:52 +09:00
Markus Unterwaditzer
3b9ef7a16b Nicer output for unsupported discovery
Fix #347
2016-04-02 23:12:55 +02:00
Markus Unterwaditzer
2888757e1b Refactor Google support into own storage types 2016-04-02 21:14:17 +02:00
Markus Unterwaditzer
bd6bca6540 Fix hangup on no-op sync
Fix #395
2016-03-26 22:05:47 +01:00
Markus Unterwaditzer
391f193eae Rename test_main to test_sync 2016-03-26 21:37:22 +01:00
Markus Unterwaditzer
862bf24e6b The dumbest bug fix 2016-03-22 22:47:16 +01:00
Markus Unterwaditzer
0195f85af0 Stylefix 2016-03-22 22:43:46 +01:00
Markus Unterwaditzer
3e327ad9f5 Remove entry-point test
I thought it was common practice to run testsuites post-install.
Apparently this isn't the case with Archlinux, which executes `check`
between `build` and `install`.

Fix #393
2016-03-22 20:49:30 +01:00
Markus Unterwaditzer
7ce0fb958f Split recurring events properly
Previously we moved each VEVENT into its own Item, now we group by UID,
if one exists.
2016-03-20 14:16:52 +01:00
Markus Unterwaditzer
c855be0015 Update submodules 2016-03-15 21:25:34 +01:00
Markus Unterwaditzer
085cd692a7 Update submodules 2016-03-15 20:57:17 +01:00
Markus Unterwaditzer
b726364b93 Replace all instances of untitaker with pimutils 2016-03-15 15:36:40 +01:00
Markus Unterwaditzer
87560481d6 Update davical module 2016-03-14 15:32:59 +01:00
Markus Unterwaditzer
0e7fa2ed62 Fix broken test for webbrowser internals
List may be empty if running in minimal environment.
2016-03-13 20:38:00 +01:00
Markus Unterwaditzer
0d0902cc48 Test OS X 2016-03-12 21:34:45 +01:00
Homu
f9375eaa82 Auto merge of #378 - untitaker:server-submodules, r=untitaker
Add servers as submodules

Fix #377
2016-03-11 20:14:21 +09:00
Markus Unterwaditzer
6a2dc53db9 Add servers as submodules 2016-03-10 22:50:11 +01:00
Markus Unterwaditzer
88df14a724 Testing: Tolerate slowness in CI 2016-03-10 13:46:44 +01:00
Markus Unterwaditzer
55914bd575 Merge pull request #372 from untitaker/test-open-graphical-browser
Add tests for open_graphical_browser
2016-03-10 12:13:00 +01:00
Markus Unterwaditzer
376d6fc70b Add tests for open_graphical_browser
Fix #312
2016-03-10 00:03:22 +01:00
Markus Unterwaditzer
0cba8eb816 Remove outdated reference to https://github.com/owncloud/core/issues/18409 2016-03-09 16:00:06 +01:00
Markus Unterwaditzer
baa82846c0 Remove ownCloud skip for multiget crash
Ref https://github.com/owncloudarchive/calendar/issues/935
2016-03-09 15:53:47 +01:00
Markus Unterwaditzer
1f190e69ff Remove ownCloud skip for metadata glitch
Ref https://github.com/owncloud/core/issues/18409
2016-03-09 15:52:42 +01:00
Markus Unterwaditzer
4ff0680092 Merge pull request #366 from untitaker/remove-baikal-xfail
Remove old Baikal xfails
2016-03-09 12:59:13 +01:00
Markus Unterwaditzer
66bd52244d Remove old Baikal xfails
Ref #160
Ref https://github.com/fruux/sabre-dav/issues/422
2016-03-08 21:27:45 +01:00