Ship the test-server registry and the docker server classes in caldav.testing
I maintainer di solito rispondono entro 1 giorno
Una pull request collegata è già stata integrata.
- #820 di @tobixen — integrata
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Start by reading caldav.testing and tests/test_servers/ to map the registry, config loader, session locks, and Docker server classes listed in the issue. Then trace how server classes locate docker-test-servers/ and how the existing tests import them. Done means the reusable framework is shipped in caldav.testing, with tests/test_servers re-exporting it and the location of the compose directory resolved.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Disclaimer: AI-generated text below the line, generated by Claude Opus 5.5.
caldav.testing ships the embedded Xandikos and Radicale servers, so other projects can run their tests against them. The rest of the test-server framework is in tests/test_servers/, which is not in the wheel:
ServerRegistry,get_available_servers()and the config loader;DockerTestServerand the classes for Baikal, Nextcloud, Cyrus, SOGo and the others;- the per-server session locks.
calendaring runs its CalDAV conformance suite on caldav's docker servers (pytest --caldav-servers=Baikal,...). To do so, it loads tests/test_servers by path from a caldav source checkout, under another package name. That works on a laptop, but it has two problems:
- it breaks whenever caldav's tests are refactored;
- a CI job has to check out caldav's repository at a matching version, beside the installed package.
Proposal: move the registry, the config loader, the locks and the docker server classes into caldav.testing (or a caldav.testing subpackage), and keep tests/test_servers as a thin re-export so caldav's own tests do not change. The docker-compose files can stay in the repository. A consumer starts the servers from a checkout or as CI service containers, and only needs the classes to find them and know their URLs, credentials and compatibility hints.
Things to settle:
- Where the
docker-test-servers/directory is found. Today it is found relative to the module, which stops working once the module lives in an installed package. One option is an environment variable, or a config key, naming the checkout. Another is for a shipped class to probe only its URL (is_accessible()) and never try to start anything. - No rush. This can wait for a release after 3.6.0; calendaring's path import works locally in the meantime.
- Lingua principale
- Python
- Stelle
- 412
- Fork
- 113
- Merge medio
- 9h 21m
- PR unite (30g)
- 77
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di python-caldav/caldav
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
python-caldav/caldav#844 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
python-caldav/caldav#792 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
python-caldav/caldav#788 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
python-caldav/caldav#687 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
python-caldav/caldav#847 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di python-caldav/caldav
Issue simili
-
flow-measurement measurement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 76/100
MichaelYcJo/SpecSeal#1366 ·
-
bug c/evals c/ui size:L
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
Arize-ai/phoenix#17633 · 2 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
TransformerLensOrg/TransformerLens#1980 ·
I maintainer di solito rispondono entro 1 giorno
-
Module: Solr Needs: Lead Needs: Triage Theme: Search Type: Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
internetarchive/openlibrary#14284 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 69/100
SpaceCowMedia/commander-spellbook-backend#1292 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno