Dokumentiere erste Dev-Testschritte

This commit is contained in:
Jesko Anschütz 2026-03-22 16:35:59 +01:00
parent bf993a5945
commit a976312e21
2 changed files with 200 additions and 0 deletions

View file

@ -17,6 +17,7 @@ Die Trennung von `/srv/docker/infoboard-netboot` ist sinnvoll, damit:
- API- und MQTT-Vertrag: `API-MQTT-VERTRAG.md`
- Technologieentscheidungen: `TECH-STACK.md`
- Entwicklungsleitfaden: `DEVELOPMENT.md`
- Erste Dev-Testliste: `docs/TEST-CHECKLIST-DEV.md`
- Template-/Kampagnenkonzept: `docs/TEMPLATE-KONZEPT.md`
- `layout_json` fuer `message_wall`: `docs/LAYOUT-JSON.md`
- Provisionierungskonzept: `docs/PROVISIONIERUNGSKONZEPT.md`

199
docs/TEST-CHECKLIST-DEV.md Normal file
View file

@ -0,0 +1,199 @@
# Info-Board Neu - Erste Test-Checkliste fuer den Entwicklungsrechner
## Ziel
Diese Liste beschreibt die ersten sinnvollen Verifikationsschritte auf einem Entwicklungsrechner mit installiertem `go` und optional `make`.
## 1. Tooling pruefen
```bash
go version
make --version
docker --version
docker compose version
```
Erwartung:
- `go` ist in Version `1.24.x` verfuegbar
- `make` ist vorhanden oder die Kommandos werden direkt mit `go` ausgefuehrt
## 2. Repository holen und Status pruefen
```bash
git clone git.az-it.net:az/morz-infoboard.git
cd morz-infoboard
git status
```
Erwartung:
- sauberer Working Tree
## 3. Backend bauen
Mit Make:
```bash
make build-backend
```
Oder direkt:
```bash
cd server/backend
go build ./...
```
Erwartung:
- Build ohne Fehler
## 4. Backend-Tests laufen lassen
```bash
cd server/backend
go test ./...
```
Erwartung:
- Tests fuer `messagewall` und HTTP-Bausteine laufen gruen durch
## 5. Backend lokal starten
```bash
cd server/backend
go run ./cmd/api
```
Dann pruefen:
```bash
curl http://127.0.0.1:8080/healthz
curl http://127.0.0.1:8080/api/v1
curl http://127.0.0.1:8080/api/v1/meta
```
Erwartung:
- `healthz` liefert `status=ok`
- `api/v1` liefert Basisinfos
- `api/v1/meta` listet den Tool-Endpunkt auf
## 6. `message_wall`-Resolver testen
```bash
curl -X POST http://127.0.0.1:8080/api/v1/tools/message-wall/resolve \
-H 'Content-Type: application/json' \
-d '{
"source": "/media/banner.png",
"duration_seconds": 30,
"load_timeout_seconds": 15,
"on_error": "skip",
"layout": {
"version": 1,
"coordinate_space": {
"width": 300,
"height": 100,
"unit": "grid"
},
"fit_mode": "cover",
"slots": [
{ "slot_id": "wall-r1-c1", "x": 0, "y": 0, "width": 100, "height": 100 },
{ "slot_id": "wall-r1-c2", "x": 100, "y": 0, "width": 100, "height": 100 },
{ "slot_id": "wall-r1-c3", "x": 200, "y": 0, "width": 100, "height": 100 }
]
}
}'
```
Erwartung:
- valide JSON-Antwort
- drei aufgeloeste Szenen mit passenden `crop`-Werten
## 7. Agent bauen
Mit Make:
```bash
make build-agent
```
Oder direkt:
```bash
cd player/agent
go build ./...
```
## 8. Agent-Tests laufen lassen
```bash
cd player/agent
go test ./...
```
Erwartung:
- Konfigurationstest laeuft erfolgreich
## 9. Agent lokal mit Beispielkonfiguration starten
```bash
cd player/agent
MORZ_INFOBOARD_CONFIG=../config/config.example.json go run ./cmd/agent
```
Erwartung:
- Agent startet
- Log zeigt Screen-ID, Server-URL, MQTT-Broker und Heartbeat-Ticks
## 10. Compose-Grundgeruest pruefen
```bash
docker compose -f compose/server-stack.yml config
```
Optional starten:
```bash
docker compose -f compose/server-stack.yml up -d
```
Erwartung:
- Compose-Datei ist syntaktisch gueltig
- PostgreSQL und Mosquitto starten lokal
## 11. Ansible-Dateien kurz pruefen
```bash
ansible-playbook --syntax-check -i ansible/inventory.example.yml ansible/site.yml
```
Erwartung:
- Syntax ok
## 12. Falls etwas fehlschlaegt
Dann zuerst pruefen:
- Go-Version korrekt?
- lokale Pfade korrekt?
- `MORZ_INFOBOARD_CONFIG` richtig gesetzt?
- Port `8080` frei?
- Docker/Compose installiert?
- Ansible installiert?
## Reihenfolge fuer sinnvolle erste Fehlerbehebung
1. `go test ./...` in `server/backend`
2. `go test ./...` in `player/agent`
3. Backend-Endpunkte per `curl`
4. Agent mit Beispielconfig
5. Compose-Check
6. Ansible-Syntaxcheck