5.2 Expression / Reference Syntax [OBS]
Values are interpolated with ${{ … }}.
| Form | Resolves to | Example |
|---|---|---|
${{ env.<var-id> }} |
A manifest variable's value, whatever its type | ${{ env.ccm_usage_policy }} |
${{ env.schemas.<schema-id> }} |
A declared JSON Schema | ${{ env.schemas.certificate_schema }} |
${{ env.testdata.<testdata-id> }} |
A declared test data file's content | ${{ env.testdata.send_feedback_body }} |
${{ execution.<step-id>.<return-key> }} |
A prior step's declared return | ${{ execution.pull_notification_endpoint.edr_token }} |
${{ setup.<step-id>.<return-key> }} [PROP] |
A setup step's return | ${{ setup.create_asset.asset_id }} |
${{ execution.id }} |
The id of this run — the job id an engine hands the player. Unique per run (no execution step may be called id), so a test can name what it leaves in a shared system apart from another run's |
"testlab-ccmapi-${{ execution.id }}" |
Resolved. Slide 29 referenced a compound
sut_connectorvariable withcounter_party_*return keys, while slide 20 declared one variable per value. One value per variable is normative, and a variable is referenced by its id alone —${{ env.sut_counter_party_address }}. A variable that published several named artifacts was the reason a reference had to name one, and the reason the same value had two spellings; there is now nothing to name. Counter-party address and id are not variables at all: they come from the SUT's infrastructure binding (§3.4infrastructure).
Rules [PROP]:
-
A reference is resolved once. What it stands for is resolved again only when it is part of the TCK package — a test data file or a static
envvalue, whose${{ }}the author wrote. A step output, an operator input or a binding is data: a${{ }}inside it is handed on as text, never resolved. Authored content may nest references 16 deep. -
References resolve only backwards within the same test, plus
env/testdataglobally. - Referencing a step in a later phase, a later step, or another test is a compile error.
- Whole-value references may be unquoted; embedded references must be quoted:
path: "/companycertificate/request"vsdataplane_url: "${{ execution.x.dataplane_url }}".