Dokumentiere erste Dev-Testschritte
This commit is contained in:
parent
bf993a5945
commit
a976312e21
2 changed files with 200 additions and 0 deletions
|
|
@ -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
199
docs/TEST-CHECKLIST-DEV.md
Normal 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
|
||||
Loading…
Add table
Reference in a new issue