Skip to content

Unified test reporting platform with deterministic parsers, ZIP ingestion API, Postgres storage, and Grafana dashboards provisioned from config. Runs fully local via Docker.

Notifications You must be signed in to change notification settings

quitecode9-lab/tracemind

Repository files navigation

Unified Test Reporting Platform

Deterministic, parser based unified test reporting with Grafana dashboards. No LLMs.

Architecture

  • API: FastAPI with REST ingestion
  • Storage: Postgres
  • Visualization: Grafana dashboards provisioned from JSON

Architecture diagram

ZIP report
    |
    v
REST API /push
    |
    v
ZIP extract -> parser -> normalized schema
    |
    v
Postgres storage
    |
    v
Grafana dashboards (provisioned)

Data flow:

  1. POST /push with framework and ZIP report
  2. ZIP is extracted and parsed by the framework parser
  3. Data is normalized into a framework agnostic schema
  4. Grafana reads from Postgres with provisioned dashboards

Quickstart

  1. Start the stack
docker-compose up --build
  1. Push a report ZIP
curl -X POST http://localhost:8080/push \
  -F "framework=junit" \
  -F "report=@sample_data/sample_reports.zip"
  1. Open Grafana

Dashboard: Unified Test Reporting

REST API

POST /push

  • Request: multipart/form-data
  • Fields:
    • framework: allure | junit | testng | cypress | playwright | go-test | ginkgo
    • report: ZIP file

Errors:

  • 400 if framework is unsupported
  • 400 if ZIP does not contain matching report files

GET /health

  • Returns API and database status

Normalized schema

Each ingested ZIP is treated as one suite.

Fields per test case:

  • name
  • start_time
  • end_time
  • duration_ms
  • status (PASS | FAIL | SKIP)
  • failure_reason

Missing data uses "NA".

Extending parsers

  1. Add a parser in api/app/parsers/
  2. Implement detect(root) and parse(root)
  3. Register in api/app/parsers/registry.py
  4. Add a fixture under sample_data/ and a test in tests/test_parsers.py

Grafana provisioning

  • Datasource: grafana/provisioning/datasources/datasource.yml
  • Dashboards: grafana/dashboards/test_reporting.json

No manual dashboard edits are required or supported.

About

Unified test reporting platform with deterministic parsers, ZIP ingestion API, Postgres storage, and Grafana dashboards provisioned from config. Runs fully local via Docker.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published