Files
pnoker 769d1cb977 style: apply repository-wide formatting
- expand single-line Javadocs to multi-line blocks, rewrap Markdown prose, and reflow POM, YAML, and TypeScript formatting
- formatting only: no Java code lines changed, no build-file semantics changed
- verified: backend compile and check_documentation.py pass, pnpm check and pnpm lint:check pass, and the dc3 YAML files parse
2026-08-25 13:35:00 +08:00

45 lines
1.7 KiB
Markdown

# DC3 E2E
## Overview
`dc3-e2e` is the backend end-to-end test suite of the IoT DC3 platform. It drives a running stack through real HTTP (via
REST Assured) and message-queue paths to verify cross-service behavior — command call, event report, point-value
storage, RabbitMQ delivery, and TimescaleDB hypertables.
## Module Information
- **Group ID**: io.github.pnoker
- **Artifact ID**: dc3-e2e
- **Packaging**: jar (test sources only)
## Test Suites
| IT | Verifies |
|--------------------------|--------------------------------------------------|
| `HarnessSmokeIT` | The E2E harness itself comes up |
| `RestAssuredHarnessIT` | REST Assured wiring against the gateway |
| `CommandCallE2eIT` | Command call end-to-end |
| `EventReportE2eIT` | Event report end-to-end |
| `RabbitDeliveryIT` | RabbitMQ message delivery |
| `PostgresHypertableIT` | TimescaleDB hypertable behavior |
| `MqttVendorNeutralityIT` | Broker-neutral MQTT delivery across vendors |
| `E2eEnvironmentGuardIT` | Guards that the target environment is configured |
The harness (`E2eStack`, `BaseE2eIT`) lives under `src/test/java/io/github/pnoker/e2e/harness`.
## Running
```bash
make test-e2e
# = DC3_E2E=true mvn -s .mvn/settings.xml -B -Dmaven.test.skip=false -Dskip.unit.tests=true -pl dc3-e2e -am -Pe2e verify
```
Requires a Docker-compatible container runtime for the Testcontainers-backed dependencies provided by
`dc3-common-test`.
## Dependencies
- `dc3-common-test` — Testcontainers and test harnesses
- `dc3-common-model` — domain models
- `rest-assured` — HTTP assertions