Hugo Osvaldo Barrera
f3714fc493
Add type hints and configure mypy
...
Configure mypy as a pre-commit hook and add all type hints necessary for
mypy to pass.
There's still more work to be done here typing a lot more code, but this
provides a clear starting point.
2021-08-03 19:23:37 +02:00
Hugo Osvaldo Barrera
7b493416f7
Merge pull request #920 from pimutils/meta_delete
...
metasync: use None as no-value and delete missing values on syncing
2021-07-26 13:07:45 +02:00
Hugo Osvaldo Barrera
5b8f00e720
Sort imports
2021-07-25 18:35:47 +02:00
Hugo Osvaldo Barrera
7379a96f73
Skip test on unsupported servers
2021-07-23 20:27:34 +02:00
Дилян Палаузов
c0ccb3d1aa
metasync: use None as no-value and delete missing values on syncing
...
- change the interface of Storage.get_meta() and .set_meta()
to use '' as the empty value and None as missing value.
- When a property is missing (e.g calendar-color was removed)
in the filesystem storage delete the 'color' file, and
in the WebDAV storage issue propertyupdate/remove call.
- remove the property from [status]/[pair]/[collection].metadata
I have adjusted, but not run the test suite. On the other side
I tested on real system: source is CalDAV - destination is filesystem;
and source is CalDAV, destination is CalDAV (another account)
2021-07-23 19:07:02 +02:00
Hugo Osvaldo Barrera
71879045e4
Tidy up test collection creation
...
- No need to empty collections, they're generated with a UUID and should
always be empty (the code to empty them does not actually run in CI
right now).
- Move deletion code to _after_ the yield, since that's the order in
which things happen.
- Delete all collections asynchronously.
2021-06-27 13:16:31 +02:00
Hugo Osvaldo Barrera
17f422c1b7
Auto-delete test containers
2021-06-26 19:59:56 +02:00
Hugo Osvaldo Barrera
ef2419efa9
Avoid running bogus tests with Fastmail
...
The fix that disabled VTODO tests accidentally ran all other tests twice
for this storage.
This wasn't picked up earlier since Fastmail is not currently running on
CI.
2021-06-26 18:12:54 +02:00
Hugo Osvaldo Barrera
2eff8e08e1
Fix breakage in Fastmail tests
...
Some code that wasn't updated with the switch to asyncio.
2021-06-26 18:12:22 +02:00
Hugo Osvaldo Barrera
1a1f6f0788
Initial async support
...
Add asyncio to the storage backends and most of the codebase. A lot of
it merely uses asyncio APIs, but still doesn't actually run several
things concurrently internally. Further improvements will be added on
top of these changes
Thanks to Thomas Grainger (@graingert) for a few useful pointers
related to asyncio.
2021-06-26 13:40:35 +02:00
Hugo Osvaldo Barrera
623c0537e1
Update test
2021-06-26 13:02:41 +02:00
Hugo Osvaldo Barrera
4930b5f389
Drop multithreading support
...
This is mainly in preparation to moving to an async architecture.
2021-06-26 13:02:41 +02:00
Hugo Osvaldo Barrera
1f6cc6f8be
Fix SSL tests failing due to old weak MDs
...
Had to drop pytest-localserver, since it's broken and upstream is gone.
2021-06-20 18:49:02 +02:00
Hugo Osvaldo Barrera
29528123a3
Add a command to print the current config
...
This is intended to be used by external tools and integrations (such as
daemons which trigger `vdirsyncer` when there's a change in a
collection).
2021-06-16 19:03:50 +02:00
Hugo Osvaldo Barrera
5e36ca1334
Optimize another very slow test
2021-06-12 23:49:23 +02:00
Hugo Osvaldo Barrera
2e4fc7c65a
Drop unecessary hypothesis usage
...
This adds A LOT of time to test execution, for little benefit. While
having random data is good, in reality, most of it was just numbers, and
we rarely got very diverse data.
These hand-picked samples are as good to catch any regressions or issues
with servers.
2021-06-12 18:32:05 +02:00
Hugo Osvaldo Barrera
299c699cb9
Manage test DAV servers as fixtures
...
Rather than require manually starting them before tests, manage them as
fixtures an initialise/destroy them as needed.
2021-06-12 16:28:24 +02:00
Hugo Osvaldo Barrera
6c80293a98
Mark failing baikal tests as xfail
2021-06-12 13:26:01 +02:00
Hugo Osvaldo Barrera
a9fa61040f
Tidy up some collection initializations
2021-06-12 13:23:54 +02:00
Hugo Osvaldo Barrera
eec142ac15
Drop mysteryshack support
...
It's been unmaintained for years, so no point in keeping track of
compatibility.
2021-06-12 12:06:07 +02:00
Hugo Osvaldo Barrera
91ffb931e1
Move baikal out-of-repo too
2021-06-12 12:06:07 +02:00
Hugo Osvaldo Barrera
bba9d43caf
Remove empty install files
2021-06-12 12:06:03 +02:00
Hugo Osvaldo Barrera
d747977af2
Use externally-built containers for test servers
...
This speeds up CI by avoiding a rebuild of these container on each run.
2021-06-12 10:59:44 +02:00
Hugo Osvaldo Barrera
0e47775ce3
Remove unused submodules
...
These submodules were used to bootstrap local test servers for running
integration tests.
We'll be reusing that codebase inside docker containers, but don't want
the containers built for each push to this repo -- that'll happen in a
separate repository.
2021-06-12 10:59:44 +02:00
Hugo Osvaldo Barrera
d6c1b1847c
Fix a few linting errors
2021-06-12 10:59:44 +02:00
Bernhard Reiter
9b5e01ab38
Improve storage/test_filesystem
...
with one additional test and fixing of the documentation.
2021-05-20 12:50:05 +02:00
Bernhard Reiter
804b9f0429
Add tests to filesystem storage for file ignorance
...
that ignore .tmp files even when fileext is empty.
Prepares to make the filesystem storage more universal as part of #881 .
2021-05-19 17:40:04 +02:00
Hugo Osvaldo Barrera
d2d41e5df1
Use black to auto-format the codebase
2021-05-06 19:28:54 +02:00
Hugo Osvaldo Barrera
fdc12d561c
Update tests to work with hypothesis 6
2021-04-07 21:45:41 +02:00
Hugo Osvaldo Barrera
2685f8db68
Merge master into dav_default_ns
2021-04-07 08:42:29 +02:00
Hugo Osvaldo Barrera
2161de30d0
Avoid docker-compose
...
The way it handles docker networks breaks builds.
2021-04-06 19:53:00 +02:00
Hugo Osvaldo Barrera
255ea8f9bf
This comparison actually does something
2021-04-05 23:28:39 +02:00
Hugo Osvaldo Barrera
5ed9c821b8
This should work, right?
...
It's embarrassing that I didn't come up with something so simple before.
2021-04-05 23:28:39 +02:00
Hugo Osvaldo Barrera
53878f001a
Horrible, nasty hack
2021-04-05 23:28:39 +02:00
Дилян Палаузов
bf67af609e
Substitute the d: prefix for the DAV: namespace with no prefix (default namespace)
2021-03-09 22:23:12 +02:00
Hugo Osvaldo Barrera
14deb20ce5
Merge remote-tracking branch 'origin/master' into next
2020-06-10 21:10:02 +02:00
Hugo Osvaldo Barrera
1031b07349
Fix test failures that ONLY happen on master
2020-06-09 17:04:22 +02:00
Hugo Osvaldo Barrera
3eb9ce5ae4
Add compatibility with latest click
2020-06-09 14:45:02 +02:00
Hugo Osvaldo Barrera
b1b4dd92fe
Sort imports
...
I don't want to ever have to sort imports again. It's a poor use of
developer time. Automate this with a pre-commit hook, and check this on
CI.
Developers: I suggest you configure your editor to use
`reorder_python_imports`. It uses the standard sorting, and detects
first/third party libs well.
2020-06-09 14:34:45 +02:00
Hugo Osvaldo Barrera
9cb1f8d704
Drop support for Python 3.5 and 3.6
2020-06-09 14:33:14 +02:00
Hugo Osvaldo Barrera
53331fedee
Skip unsupported radicale test
2020-06-09 10:42:14 +02:00
Hugo Osvaldo Barrera
88f2cd5b53
Skip VTODO items for Fastmail
...
See #824
2020-06-09 10:42:14 +02:00
Hugo Osvaldo Barrera
4f894e04dd
Empty noop script
2020-06-09 10:42:14 +02:00
Hugo Osvaldo Barrera
6c6da2f613
Test baikal using docker
2020-06-09 09:49:18 +02:00
Hugo Osvaldo Barrera
b0d8fd34dc
Test radicale with docker too
2020-06-09 09:49:16 +02:00
Hugo Osvaldo Barrera
0f3b2e74c0
Test xandikos running it in docker
...
The main advantage here is that its dependencies are TOTALLY separate
from vdirsyncer's, keeping the runtime environment for vdirsyncer
cleaner.
It also makes testing locally not only possible, but fast and pleasant.
2020-06-09 09:49:03 +02:00
Hugo Osvaldo Barrera
3037c15a65
Use hypothesis setting load_profile to setup health check
...
Fixes #779
2020-06-08 19:58:35 +02:00
Amanda Hickman
c78ec6b3bd
Little spelling fix ( #695 )
...
* Fixed spelling of "occurred"
* Fix spelling of occurred.
* fixed one lingering misspelling
2020-06-08 19:58:35 +02:00
Hugo Osvaldo Barrera
461e4c55b0
Update servers for Fastmail
...
Fixes #785
2020-06-08 18:50:03 +02:00
Hugo Osvaldo Barrera
308289febf
Remove python2 leftover code
2020-06-08 18:40:33 +02:00
Hugo Osvaldo Barrera
a26d3bb58c
Update hypothesis
2020-06-08 18:40:33 +02:00
Hugo Osvaldo Barrera
7e4a0be674
Upgrade flake8
...
Update to the latest flake8, and fix all code warnings related to that.
2020-06-08 18:40:31 +02:00
Hugo Osvaldo Barrera
9505430b83
Pin an older version of Xandikos
...
This is the one used back when master was last green, so let's start
with this one and gradually move up.
2020-06-08 16:33:17 +02:00
Hugo Osvaldo Barrera
cb4ba5b38c
Fix linting errors
...
One more green checkmark! ✅
2020-06-08 15:39:01 +02:00
Hugo Osvaldo Barrera
65d17bdcbf
Pin a known-working version of radicale too
2020-06-08 14:47:41 +02:00
Hugo Osvaldo Barrera
7c04289ed4
Pin xandikos to 0.1.0
2020-06-08 13:51:15 +02:00
Hugo Osvaldo Barrera
558da29e5e
Use the syntax hypothesis accepts
2020-06-08 13:26:39 +02:00
Markus Unterwaditzer
80a42e4c6c
Fixes for open_graphical_browser, fixes #754
2018-07-19 21:14:30 +02:00
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