Testy¶
Zakres
Ta sekcja dotyczy wyłącznie rozwoju bpp-deploy — orkiestracji Docker Compose,
Makefile, skryptów konfiguracyjnych i monitoringu.
Rozwój samej aplikacji BPP (kod Django w /src/, modele, widoki, importery,
integracje z PBN, ORCID itd.) odbywa się w osobnym repozytorium
github.com/iplweb/bpp.
Uruchamianie¶
./tests/test_makefile.sh # główny zestaw (orkiestracja, konfiguracja)
./scripts/test-config-path.sh # ścieżka katalogu konfiguracyjnego (szybki, bez Dockera)
./scripts/test-grafana-datasources.sh # render datasources.yaml bez gettexta
Testy weryfikują orkiestrację bpp-deploy:
- first-run setup (tworzenie konfiguracji, generowanie haseł)
- idempotentność
init-configs - losowość haseł między instancjami
- dostępność targetów Make w trybie normalnym
- poprawność bind mountów w docker-compose
- brak mechanizmów SCP w konfiguracji
- walidację ścieżki katalogu konfiguracyjnego (katalog obok repozytorium ma być
przyjęty, katalog w środku — odrzucony, ścieżka windowsowa
C:\...przyjęta)
scripts/test-grafana-datasources.sh uruchamia render datasource'ów Grafany z PATH
pozbawionym envsubst. Renderowanie szablonów po stronie hosta nie może zależeć od
gettexta — Windows go nie ma, a update-configs jest prerequisite make up, więc taka
zależność wywracała każdy deploy, nie tylko instalację.
scripts/test-config-path.sh to unit-testy samej normalizacji ścieżki
(scripts/lib-config-path.sh). Windows jest w nich symulowany atrapami cygpath
i uname w PATH, dzięki czemu regresja „każda ścieżka odrzucana pod Windows"
wychodzi na każdym systemie, a nie dopiero na runnerze Windows.
CI¶
.github/workflows/ci.yml uruchamia testy na Ubuntu, Windows i macOS (make działa
na wszystkich trzech), plus pre-commit i walidację składni docker-compose*.yml.
Dokumentacja (ta strona) jest budowana i publikowana osobnym workflow
.github/workflows/docs.yml (build --strict + mkdocs gh-deploy na push do main).