199 lines
3.4 KiB
Markdown
199 lines
3.4 KiB
Markdown
# 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
|