Commit graph

569 commits

Author SHA1 Message Date
Markus Unterwaditzer
7dcaa47a22 mysteryshack update 2016-12-06 17:45:40 +01:00
Markus Unterwaditzer
96bf21c1da Dont repair unsafe UIDs by default, fix #527 2016-12-06 15:58:16 +01:00
Markus Unterwaditzer
5160437f27 Stylefix 2016-10-23 14:20:36 +02:00
Markus Unterwaditzer
db970981a0 Fix tests on OS X 2016-10-23 01:47:09 +02:00
Markus Unterwaditzer
5a257ec2cd config: Add warning about unquoted strings 2016-10-23 01:40:04 +02:00
Markus Unterwaditzer
1795e63910 Refactor Config API, expose load_config for khal 2016-10-21 13:23:27 +02:00
Markus Unterwaditzer
c6e185d8a3 Evaluate partial_sync lazily
Fix #516
2016-10-13 18:25:55 +02:00
Markus Unterwaditzer
74b73a4011 refactor test_sync 2016-10-04 21:42:31 +02:00
Markus Unterwaditzer
6ecc14fca2 Improve partial sync test 2016-10-04 21:24:59 +02:00
Markus Unterwaditzer
ec00ea70af Rename test 2016-10-04 20:52:53 +02:00
Markus Unterwaditzer
2e3ebd814a Add test for partial_sync=ignore 2016-10-04 20:40:34 +02:00
Markus Unterwaditzer
15bf13cfe1 Make pair config more strongly typed 2016-10-04 18:51:11 +02:00
Markus Unterwaditzer
827299ef24 Add CLI for partial_sync 2016-10-03 19:01:03 +02:00
Markus Unterwaditzer
8ca5446e02 Fix tests 2016-10-03 19:00:27 +02:00
Markus Unterwaditzer
ffeaf25471 internal implementation of partial_sync 2016-10-03 18:37:32 +02:00
Markus Unterwaditzer
3cf33e5efe Stylefix 2016-10-01 19:09:27 +02:00
Markus Unterwaditzer
34ac29fc2a Add error_callback to sync() 2016-10-01 18:25:17 +02:00
Markus Unterwaditzer
95c6be6aee Remove remove_hash_from_status
This causes too many problems and forces us to weaken further
assumptions. Better to write separate migration tests, but I don't care.
2016-10-01 17:27:44 +02:00
Markus Unterwaditzer
a12df8f5d2 Update mysteryshack again 2016-10-01 16:52:22 +02:00
Markus Unterwaditzer
ef9f13c982 Update mysteryshack again 2016-10-01 16:20:16 +02:00
Markus Unterwaditzer
68d2647e38 Add flake8-bugbear 2016-10-01 16:01:12 +02:00
Markus Unterwaditzer
5dc6a5ff36 Update mysteryshack-testserver (#513)
* Update mysteryshack-testserver

* REMOVE ME

* wip

* wip

* wip
2016-10-01 15:41:18 +02:00
Markus Unterwaditzer
ce8e027346 stylefix 2016-09-27 21:42:29 +02:00
Markus Unterwaditzer
565e971e4e Reorganize tests 2016-09-27 14:11:04 +02:00
Markus Unterwaditzer
8e3caf2c58 Extend coverage for repair command 2016-09-27 14:07:12 +02:00
Markus Unterwaditzer
a524f8e971 Debug output 2016-09-27 12:38:36 +02:00
Markus Unterwaditzer
6f4ff7aab1 Replace Dav with DAV
Fix #501
2016-09-27 10:46:17 +02:00
Markus Unterwaditzer
6aedd624a9 update nextcloud 2016-09-26 20:19:29 +02:00
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