morz-infoboard/docs/TEST-CHECKLIST-DEV.md
2026-03-22 16:35:59 +01:00

3.4 KiB

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

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

git clone git.az-it.net:az/morz-infoboard.git
cd morz-infoboard
git status

Erwartung:

  • sauberer Working Tree

3. Backend bauen

Mit Make:

make build-backend

Oder direkt:

cd server/backend
go build ./...

Erwartung:

  • Build ohne Fehler

4. Backend-Tests laufen lassen

cd server/backend
go test ./...

Erwartung:

  • Tests fuer messagewall und HTTP-Bausteine laufen gruen durch

5. Backend lokal starten

cd server/backend
go run ./cmd/api

Dann pruefen:

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

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:

make build-agent

Oder direkt:

cd player/agent
go build ./...

8. Agent-Tests laufen lassen

cd player/agent
go test ./...

Erwartung:

  • Konfigurationstest laeuft erfolgreich

9. Agent lokal mit Beispielkonfiguration starten

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

docker compose -f compose/server-stack.yml config

Optional starten:

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

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