TestSuite¶
This document is non-normative and targets contributors. For core entry points, see the core module. For output formats and generator usage, see Getting started.
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.
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.