TestSuite¶
This page is the schema reference for generated TestSuite output (JSON/YAML) written by the test-suite-writer generator. It is also useful to contributors, since these model types are shared across core generation and reporting.
See also: Test-suite-writer generator and the core module.
Scope and responsibilities¶
The model module contains the canonical data classes shared across the system. It is data-only and has no dependency on core. It is consumed by core, example-value, generators, and reporting layers.
Key types¶
TestCase¶
See TestCase.
TestSuite¶
TestSuite groups cases for one operation. operationName is the stable identifier used by test-suite-writer for keys and filenames. When operationName is null or blank, writers may skip the suite.
SecurityValues¶
SecurityValues stores security-only values (query/header/cookie) derived from OpenAPI security requirements. It helps auth rules reason about security material separately from general parameters. For OAuth2/OpenID Connect, securityValues.other can include structured scope metadata; see TestCase for authorizationScopes.
KeyValuePair¶
KeyValuePair preserves ordering for headers and cookies, where duplicates may exist.
Serialization expectations¶
- Data classes are designed to preserve JSON shape for generators.
- Header/cookie ordering is preserved via
List<KeyValuePair<...>>. ruleandoperationNameare used as stable identifiers for output and traceability.
How core uses these models¶
ValidCaseBuildercreates the baselineTestCase.- Providers derive invalid
TestCaseinstances by changing a single field or security value. TestSuiteWriterusesTestSuite.operationNameas the suite key or filename.- Reporting aggregates
TestSuitevalues into aGenerationReport.
See the core module for the pipeline overview and the test-suite-writer generator for output behavior.