Commit graph

685 commits

Author SHA1 Message Date
Markus Unterwaditzer
97f58ddc46 Disable health checks for distro builds 2018-02-05 17:01:37 +01:00
Markus Unterwaditzer
93df284d3c Make a maintenance release of vdirsyncer, fix #708 2018-02-05 08:23:45 +01:00
Markus Unterwaditzer
9e3c231cc3 Remove Python 3.3 support (#674)
* Remove Python 3.3 support
2017-10-02 14:38:54 +02:00
Markus Unterwaditzer
1f8d1a0dc5 More tests for sync status 2017-10-01 22:29:33 +02:00
Markus Unterwaditzer
be33fd3ed3 Restructure vdirsyncer.sync 2017-10-01 21:44:14 +02:00
Markus Unterwaditzer
32d1fecbb4 New tests for sync status 2017-10-01 21:44:14 +02:00
Markus Unterwaditzer
cf8e89b5b4 Split up fetchparams tests 2017-10-01 21:44:14 +02:00
Markus Unterwaditzer
88969ae5e6 Fix xandikos git url 2017-09-24 12:02:24 +02:00
Markus Unterwaditzer
9314a93d67 Add autopep8 git commit hook (#671)
* Add autopep git hook

* Fix broken link
2017-09-23 13:55:57 +02:00
Markus Unterwaditzer
3112e6899e Remove invalid ascii chars from xml, fix #626 (#668)
* Remove invalid ascii chars from xml, fix #626

* Add changelog

* Remove unused imports

* Fix errors on older Python versions

* Fix tests
2017-09-13 20:55:03 +02:00
Markus Unterwaditzer
77658fa0b5 Disable urllib3 warnings 2017-09-11 21:25:56 +02:00
Markus Unterwaditzer
0d47e06d89 Add test re #657 2017-08-12 16:46:22 +02:00
Markus Unterwaditzer
547b327557 Attempt to fix requests tests 2017-08-02 19:55:56 +02:00
Jelmer Vernooij
01c88b514c Set defaults for CI and DETERMINISTIC_TESTS. (#653)
This makes it a bit easier to manually run individual tests.
2017-07-19 21:40:52 +02:00
Markus Unterwaditzer
56fe38fcdc UID replacement benchmark 2017-07-16 22:17:04 +02:00
Markus Unterwaditzer
37a1eb2fdb Remove remoteStorage (#648)
Fix #647
2017-07-02 18:42:55 +02:00
Markus Unterwaditzer
fa6a98ec9b Remove useless skip 2017-05-31 12:40:40 +02:00
Markus Unterwaditzer
7f80251527 Test development Radicale again (#428)
* Revert "Don't test development Radicale"

This reverts commit 7a5241101e.

* Fix Radicale test setup

* Radicale is very tolerant

* Simplify test such that output is more predictable

* Runtime version check for Radicale

* Don't create user explicitly

* stylefix

* Shorter tracebacks

Travis logs are very hard to read
2017-05-30 09:12:00 +02:00
Markus Unterwaditzer
8a5df8b802 stylefix 2017-05-02 13:56:57 +02:00
Markus Unterwaditzer
2b0492fe5e Fix etesync tests 2017-05-02 12:58:58 +02:00
Markus Unterwaditzer
cc54ed6e7c Migrate etesync db 2017-04-29 21:33:50 +02:00
Markus Unterwaditzer
09dacde3f3 owncloud update 2017-04-18 23:12:32 +02:00
Markus Unterwaditzer
3dd132e1b6 Fix import 2017-04-13 16:51:24 +02:00
Markus Unterwaditzer
0d9ec646d7 Initial etesync support (#614)
* Initial etesync support

* Optimized get()

* Bugfixes

* bugfixes

* Add writing operations

* collection creation WIP

* Fix collection creation

* tests wip

* wip

* Final touch for test setup

* actually skip tests

* Disable metadata tests

* Avoid polluting working tree

* Avoid importing wsgi-intercept if not installed

* Fix collection tests

* Proper teardown

* Skip bad test

* Remove vtodo

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Add docs

* Remove useless pkg

* Don't crash if etesync isn't imported

* Stylefix

* Fix more import errors

* More import errors

* Only run etesync on latest python

* Fix etesync check

* journal-manager migration
2017-04-13 16:27:11 +02:00
Markus Unterwaditzer
45d275f71d Disable OS X in Travis (#618)
See #617
2017-04-13 16:26:37 +02:00
Markus Unterwaditzer
b6be4b44de Fix metasync testcase 2017-04-07 12:58:42 +02:00
Markus Unterwaditzer
9a32c34e76 Switch to sqlite for sync status (#611)
* Switch to sqlite for sync status

* Add more info to changelog

* Fix transactions

* Fix transactions more
2017-03-28 10:18:24 +02:00
Markus Unterwaditzer
0e89753757 Use sqlite for sync internally (#609)
See #546
2017-03-27 00:08:23 +02:00
Markus Unterwaditzer
28f204162b Add xandikos to CI (#601)
* Add xandikos to CI

* wip

* Work around missing dependency spec

* Add xandikos to travis

* Remove auth

* Test release and devel

* Refactor xandikos setup

* Fix syntax error

* Only test xandikos-git

* Add section to supported.rst

* changelog
2017-03-22 14:40:41 +01:00
Markus Unterwaditzer
e5bc3fd6e7 Document resolution of #593 2017-03-12 13:36:12 +01:00
Markus Unterwaditzer
a285c555f0 Ignore fs collections that have subfolders (#591)
Fix #588
2017-03-09 13:40:27 +01:00
Markus Unterwaditzer
feea65ff1d Stylefix 2017-03-08 11:38:57 +01:00
Markus Unterwaditzer
bb35d7c091 Flatten mysteryshack submodule 2017-03-08 10:16:26 +01:00
Markus Unterwaditzer
a02f36f0cb Flatten davical submodule 2017-03-08 10:14:07 +01:00
Markus Unterwaditzer
c15a04a1de Expand flake8 to submodules 2017-03-08 10:08:24 +01:00
Markus Unterwaditzer
668220dbd7 Add fastmail testserver (#572) 2017-03-02 21:13:08 +01:00
Markus Unterwaditzer
47a38c0af3 Update submodules 2017-02-28 12:25:45 +01:00
Markus Unterwaditzer
76f794eef3 Module restructuring 2017-02-27 21:19:27 +01:00
Markus Unterwaditzer
6aeeb90259 Test iCloud (#567)
* Test iCloud

Fix #149
2017-02-27 19:52:24 +01:00
Markus Unterwaditzer
96e7c4da37 Fix styling 2017-02-27 00:43:21 +01:00
Markus Unterwaditzer
e457586b29 Fix bug in custom conflict_resolution
Fix #563
2017-02-26 23:24:30 +01:00
Markus Unterwaditzer
10490a12f1 Unconditionally disable HealthCheck.too_slow 2017-02-18 15:45:06 +01:00
Markus Unterwaditzer
9744a3a682 Stylefix 2017-02-12 00:34:42 +01:00
Markus Unterwaditzer
c4dda80e52 Fix tests on mac 2017-02-12 00:28:37 +01:00
Markus Unterwaditzer
ff5732f5ff Restructure tests 2017-02-11 22:53:12 +01:00
Markus Unterwaditzer
c87848fd03 Add example from failing CI run on OS X 2017-02-11 20:25:07 +01:00
Markus Unterwaditzer
7ab6de6f37 More tests 2017-02-11 20:24:55 +01:00
Markus Unterwaditzer
0f2e7e2395 More tests 2017-02-11 20:24:55 +01:00
Markus Unterwaditzer
11694f2766 repair: More tests, slight refactor 2017-02-11 20:24:55 +01:00
Markus Unterwaditzer
6a0b95a4bd Update davical testserver 2017-02-06 20:55:00 +01:00
Markus Unterwaditzer
e54f5b89a3 Makefile: new coverage param 2017-01-30 13:42:01 +01:00
Markus Unterwaditzer
dd465eb909 Don't fail when discovery fails 2017-01-30 12:48:18 +01:00
Markus Unterwaditzer
d454093365 Larger refactor of CLI discovery
Also fix #543
2017-01-29 11:47:47 +01:00
Markus Unterwaditzer
3514d7348c More tests for vobject (#541)
* More tests for vobject

* wip

* wip

* stylefix
2017-01-22 23:46:14 +01:00
Markus Unterwaditzer
9c417248de More tests 2017-01-20 23:05:00 +01:00
Markus Unterwaditzer
91a284d60b Remove old logic for config values 2017-01-20 23:05:00 +01:00
Markus Unterwaditzer
0172166510 Stylefix 2017-01-20 21:58:56 +01:00
Markus Unterwaditzer
41794f095d More tests 2017-01-19 22:10:45 +01:00
Markus Unterwaditzer
e7910e92aa Update nextcloud 2017-01-19 14:59:18 +01:00
Markus Unterwaditzer
b2422dbea6 Reorganize testsuite
The end goal here is to independently measure coverage of each of those
testsuites.
2017-01-18 22:42:42 +01:00
Markus Unterwaditzer
af5705f740 Return back to None as non-ETag
nextCloud now returns no etag on upload, which is why we're forced to
adapt the tests accordingly. So now we need to specify a fixed value for
"no etag returned" such that the tests can act accordingly. We also need
to test that the sync algorithm works properly with None.
2017-01-12 13:52:32 +01:00
Markus Unterwaditzer
bd19ee45d8 Stylefix for new bugbear update 2016-12-19 22:18:27 +01:00
Markus Unterwaditzer
c7164cfcca Update mysteryshack 2016-12-10 23:50:02 +01:00
Markus Unterwaditzer
c4d04ad3d7 Baikal and owncloud update 2016-12-10 01:29:28 +01:00
Markus Unterwaditzer
b0f85f9f53 Nextcloud update 2016-12-10 01:27:50 +01:00
Markus Unterwaditzer
c6873c5f18 php servers update 2016-12-10 01:08:19 +01:00
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