28917c17ef
CI - Build & Test / Backend (.NET) (push) Successful in 50s
CI - Build & Test / Backend integration (PostgreSQL/Toxiproxy) (push) Successful in 57s
CI - Build & Test / Frontend (Vue/TS) (push) Successful in 2m53s
CI - Build & Test / Security Check (push) Successful in 7s
CI - Build & Test / Deploy Nexus (push) Successful in 1m3s
Backend tests
The normal test command remains Docker-free:
dotnet test Nexus.Api.Tests.csproj --configuration Release
Docker-backed tests are discovered but skipped unless explicitly enabled.
They use postgres:17-alpine; the optional network-fault contract additionally
uses Testcontainers Toxiproxy and a pinned lightweight OpenClaw HTTP stub.
$env:NEXUS_RUN_DOCKER_INTEGRATION_TESTS = "true"
dotnet test Nexus.Api.Tests.csproj --configuration Release `
--filter "Category=DockerIntegration"
Enable the slower Toxiproxy case as well:
$env:NEXUS_RUN_DOCKER_INTEGRATION_TESTS = "true"
$env:NEXUS_RUN_TOXIPROXY_INTEGRATION_TESTS = "true"
dotnet test Nexus.Api.Tests.csproj --configuration Release `
--filter "Category=DockerIntegration"
Once opted in, an unavailable Docker daemon is a test failure rather than a
silent skip. In Gitea Actions, set the repository variable
NEXUS_RUN_DOCKER_INTEGRATION_TESTS=true; optionally set
NEXUS_RUN_TOXIPROXY_INTEGRATION_TESTS=true for the timeout contract. The
selected runner must expose a working Docker endpoint to Testcontainers.