Current state of affairs
As part of vdirsyncer’s test suite, I currently run tests against a multiple CalDav/CardDav servers. The CI pipeline does this by downloading dockerised versions of all the servers, starting them up and then running tests.
This isn’t ideal. On CI, the radicale, xandikos and baikal containers get downloaded on each test run which really doesn’t scale1. Adding more and more servers will just make the whole test suite slower, as well as more maintenance work. I really don’t want to set up a disposable container images for each existing Dav server out there, and production-ready images tend to be too involved for such use case.
Testing with a large variety of servers has proven to be a good approach. Such heterogeneous testing environments help find quirks and bugs (both on vdirsyncer and in the servers themselves). I want to continue testing with as many servers as possible, but want to offload setting these up as much as possible.
Looking for volunteer hostmasters
I’m currently calling out on anyone who’s self-hosting a Dav server instance: if you can create a spare account for testing on your server, that’d be very useful to use for testing. In general, vdirsyncer’s test suite:
- Only requires a single dedicated users.
- Creates collections and items and deletes them (assuming tests don’t fail/crash).
- It’s fine if all data gets flushed (e.g.: tests don’t expect anything specific).
I also don’t intend to run stress tests against hosted servers. So if you have a tiny self-hosted instance, a spare user might be enough for me!
Aside from testing the current vdirsyncer codebase, I’ll use this to properly test the upcoming Rust implementation (more news on this soon!).
Authentication other than HTTP basic auth
Servers configured with authentication other than HTTP basic auth would be most
welcome for testing. I currently don’t have servers to test things like
DIGEST AUTH or authentication with TLS client certificates.
It should be noted I haven’t mentioned NextCloud at all. Indeed, I currently don’t test with any NextCloud instance because I don’t have access to one. I’d very much like for this to change.
A publicly accessible instance along with a working user for this would be a very useful target for testing!
Radicale / Xandikos / Baikal
These are the lowest priority servers (since I have a working setup). They’re currently run via the quick-and-dirty images maintained in this repository.
Cyrus / Fastmail
I want to thank the folks at Fastmail, who have (for many years now) provided a free account for testing vdirsyncer. They use [and contribute to] Cyrus IMAP under the hook, so that’s one open source Dav server that’s covered.
Generally speaking, for any Dav server that I haven’t mentioned here, I welcome a test account on a working server where I can test vdirsyncer. Even if nothing works, at least we’ll have clear knowledge that nothing works on that specific server.
These are currently 158MB (xandikos), 56MB (radicale) and 454MB (baikal). They’re also downloaded once per each test environment. Not terrible, but far from great too. ↩︎