Skip to main content

Data transfer objects

All DTOs are immutable Lombok types with a @Builder and a forced private no-args constructor for Jackson deserialization. Most free-form payloads travel in a Map<String, String> data field; the builders expose it via @Singular("data"), so entries can be added one at a time (.data("key", "value")) or as a whole map. The keys and values in data, and the string names (action, testCase, notification), are agreed per test case between orchestrator and agent.

Interface DTOs (orchestrator ↔ agent)

PreparationDto — request body of prepare

FieldTypeNotes
testCaseStringRequired (@NonNull). Name of the test case to prepare.
dataMap<String, String>Optional setup data for the agent.
callbackBaseUrlStringRequired (@NonNull). Orchestrator base URL for callbacks; persist it against the testId.

PreparationResultDto — response body of prepare

FieldTypeNotes
dataMap<String, String>Optional data the agent returns to the orchestrator.

DynamicDataDto — request body of update

FieldTypeNotes
dataMap<String, String>Dynamic data the orchestrator pushes into the agent.

ActionDto — request body of act

FieldTypeNotes
actionStringName of the action the agent should perform.
dataMap<String, String>Optional parameters for the action.

ActionResultDto — response body of act

FieldTypeNotes
dataMap<String, String>Optional result data returned to the orchestrator.

ReportDto — response body of verify

FieldTypeNotes
testcaseStringRequired (@NonNull). Name of the verified test case.
testIdStringRequired (@NonNull). The test run id.
dateTimeZonedDateTimeRequired (@NonNull). When the report was produced.
resultsList<ResultDto>Required (@NonNull). One entry per assertion.

ResultDto — one assertion within a ReportDto

FieldTypeNotes
nameStringRequired (@NonNull). Name of the checked assertion.
conclusionConclusionRequired (@NonNull). PASS or FAIL.
detailStringOptional free-text detail (e.g. failure reason).

Conclusion — enum

PASS, FAIL.

Callback DTOs (agent → orchestrator)

These are sent by the agent to the orchestrator's callback endpoints; see Orchestrator callbacks.

NotificationDto

FieldTypeNotes
testIdStringRequired (@NotNull). The test run id.
notificationStringRequired (@NotNull). Name of the reported event/state.
producerStringRequired (@NotNull). Which TestAgent produced it.
dataMap<String, String>Optional payload (e.g. ids produced during the process).

NotificationDto implements Serializable.

LogDto

FieldTypeNotes
logMessageStringRequired (@NonNull). The log text.
logLevelLogLevelRequired (@NonNull). Spring Boot org.springframework.boot.logging.LogLevel.
sourceStringRequired (@NonNull). Name of the emitting TestAgent.