Documentation
¶
Overview ¶
Package framework is the root of the integration-test framework module. It embeds the files the engine reads at run time (compose files, version profiles, configuration overlays, and snapshots of the gateway schemas, configuration and pricing file, which the release generates), so a project that imports the framework as a Go module runs without an api-platform checkout.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var Assets embed.FS
Assets holds the repository files the engine reads when it runs without an api-platform checkout, and the canonical resource templates a project's features fall back to. Files under the module keep their module-relative path; snapshots of files that live elsewhere in the repository sit under snapshots/ at their repository-relative path. Git holds only snapshots/.gitkeep: the release workflow generates the snapshots and commits them on the release tag, and snapshots/ must hold a file for this directive to compile. It carries no key material, which the framework generates per run. The core/assets package resolves repository paths against it.
Functions ¶
This section is empty.
Types ¶
This section is empty.
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
standards
command
Command standards checks integration-suite source for rules that prevent timing, response-state, and resource-isolation defects.
|
Command standards checks integration-suite source for rules that prevent timing, response-state, and resource-isolation defects. |
|
syncassets
command
Command syncassets generates the framework's embedded snapshots from the repository files they copy.
|
Command syncassets generates the framework's embedded snapshots from the repository files they copy. |
|
Package framework is the root package for the API platform integration test framework.
|
Package framework is the root package for the API platform integration test framework. |
|
actor
Package actor defines identities used by integration-test scenarios.
|
Package actor defines identities used by integration-test scenarios. |
|
assets
Package assets resolves the repository-relative files the engine reads.
|
Package assets resolves the repository-relative files the engine reads. |
|
builder
Package builder validates and executes source-image build plans declared by catalog components.
|
Package builder validates and executes source-image build plans declared by catalog components. |
|
catalog
Package catalog provides the concrete component registry used by suites.
|
Package catalog provides the concrete component registry used by suites. |
|
catalog/a2aagent
Package a2aagent declares the A2A trip-planner component: a real A2A 1.0 agent built on the reference SDK, serving both HTTP bindings and a public Agent Card.
|
Package a2aagent declares the A2A trip-planner component: a real A2A 1.0 agent built on the reference SDK, serving both HTTP bindings and a public Agent Card. |
|
catalog/aiworkspace
Package aiworkspace declares the AI Workspace component: its image, build inputs, Compose wiring, and environment, for use in framework block topologies.
|
Package aiworkspace declares the AI Workspace component: its image, build inputs, Compose wiring, and environment, for use in framework block topologies. |
|
catalog/apiportal
Package apiportal declares the API Portal component: its image, build inputs, Compose wiring, and environment, for use in framework block topologies.
|
Package apiportal declares the API Portal component: its image, build inputs, Compose wiring, and environment, for use in framework block topologies. |
|
catalog/browser
Package browser declares the headless-browser component used by UI suites, including the Playwright image and its version-match check against the module.
|
Package browser declares the headless-browser component used by UI suites, including the Playwright image and its version-match check against the module. |
|
catalog/cloudconsole
Package cloudconsole defines the externally hosted APIP cloud target used by the cloud integration-test runners.
|
Package cloudconsole defines the externally hosted APIP cloud target used by the cloud integration-test runners. |
|
catalog/infrastructure
Package infrastructure declares shared dependency components, such as Redis, that product components rely on but that no single product owns.
|
Package infrastructure declares shared dependency components, such as Redis, that product components rely on but that no single product owns. |
|
catalog/platformapi
Package platformapi declares the Platform API component: its image, build inputs, Compose wiring, and environment, for use in framework block topologies.
|
Package platformapi declares the Platform API component: its image, build inputs, Compose wiring, and environment, for use in framework block topologies. |
|
catalog/platformgateway
Package platformgateway declares the platform gateway component: its image, build inputs, Compose wiring, coverage environment, and service wiring, for use in framework block topologies.
|
Package platformgateway declares the platform gateway component: its image, build inputs, Compose wiring, coverage environment, and service wiring, for use in framework block topologies. |
|
catalog/shared
Package shared provides catalog helpers common to every product component: image resolution, source-version lookup, and control-plane PKI material.
|
Package shared provides catalog helpers common to every product component: image resolution, source-version lookup, and control-plane PKI material. |
|
catalog/testbench
Package testbench declares the testbench mock-service component: its image, Compose wiring, and per-service endpoints, for use in framework block topologies.
|
Package testbench declares the testbench mock-service component: its image, Compose wiring, and per-service endpoints, for use in framework block topologies. |
|
catalog/tlsbackend
Package tlsbackend declares the component that serves the HTTPS backends the gateway's outbound mutual TLS is tested against.
|
Package tlsbackend declares the component that serves the HTTPS backends the gateway's outbound mutual TLS is tested against. |
|
cleanup
Package cleanup tracks resources created by a test runner and removes them during scenario and runner teardown.
|
Package cleanup tracks resources created by a test runner and removes them during scenario and runner teardown. |
|
components
Package components defines component types, definitions, registries, and running component instances used by the test framework.
|
Package components defines component types, definitions, registries, and running component instances used by the test framework. |
|
coverage
Package coverage collects and isolates Go, Node/V8, and source-level Istanbul browser coverage artifacts produced by framework test blocks.
|
Package coverage collects and isolates Go, Node/V8, and source-level Istanbul browser coverage artifacts produced by framework test blocks. |
|
logcapture
Package logcapture streams every container's stdout/stderr in a block into one combined, interleaved log file for the block's whole lifetime, so a scenario failure has the product's own logs available, not only the client-side symptom.
|
Package logcapture streams every container's stdout/stderr in a block into one combined, interleaved log file for the block's whole lifetime, so a scenario failure has the product's own logs available, not only the client-side symptom. |
|
runtime
Package runtime manages networks, databases, containers, Compose stacks, readiness, and the lifecycle of resolved test blocks.
|
Package runtime manages networks, databases, containers, Compose stacks, readiness, and the lifecycle of resolved test blocks. |
|
suiterun
Package suiterun runs a declarative suite from a Go test binary.
|
Package suiterun runs a declarative suite from a Go test binary. |
|
topology
Package topology defines, loads, resolves, selects, and validates suite topologies.
|
Package topology defines, loads, resolves, selects, and validates suite topologies. |
|
util/a2ax
Package a2ax drives A2A agents through the official Go A2A SDK and reports what each call returned in framework-owned types.
|
Package a2ax drives A2A agents through the official Go A2A SDK and reports what each call returned in framework-owned types. |
|
util/httpx
Package httpx provides shared HTTP clients and response publication for test steps.
|
Package httpx provides shared HTTP clients and response publication for test steps. |
|
util/retry
Package retry owns every deadline-bounded wait in the suites.
|
Package retry owns every deadline-bounded wait in the suites. |
|
util/tcontext
Package tcontext carries block- and runner-scoped test state through context.Context.
|
Package tcontext carries block- and runner-scoped test state through context.Context. |
|
util/testpki
Package testpki generates the certificate fixtures mutual TLS scenarios present and pool: authorities, intermediates, client leaves and gateway identities, each addressed by a fixture name.
|
Package testpki generates the certificate fixtures mutual TLS scenarios present and pool: authorities, intermediates, client leaves and gateway identities, each addressed by a fixture name. |
|
util/unique
Package unique generates collision-resistant names, contexts, and other test-owned identifiers, so parallel runners never collide on a shared literal.
|
Package unique generates collision-resistant names, contexts, and other test-owned identifiers, so parallel runners never collide on a shared literal. |
|
suites
|
|
|
cloud/steps/cloudconsole
Package cloudconsole contains APIP cloud control-plane and data-plane steps.
|
Package cloudconsole contains APIP cloud control-plane and data-plane steps. |
|
it/steps/aiworkspacecli
Package aiworkspacecli holds the steps that drive the ap CLI's ai-workspace commands against platform-api, the control plane the CLI treats as its AI Workspace server.
|
Package aiworkspacecli holds the steps that drive the ap CLI's ai-workspace commands against platform-api, the control plane the CLI treats as its AI Workspace server. |
|
it/steps/apcli
Package apcli drives the ap CLI binary.
|
Package apcli drives the ap CLI binary. |
|
it/steps/apiportal
Package apiportal holds steps that create real subscription, application, and API-key artifacts through api-portal's own REST API — the product that issues subscription tokens and API keys, which reach platform-api (and from there the gateway) as signed webhook events.
|
Package apiportal holds steps that create real subscription, application, and API-key artifacts through api-portal's own REST API — the product that issues subscription tokens and API keys, which reach platform-api (and from there the gateway) as signed webhook events. |
|
it/steps/common
Package common contains reusable integration-suite step mechanics.
|
Package common contains reusable integration-suite step mechanics. |
|
it/steps/platformapi
Package platformapi holds steps for both directions of the platform-api <-> gateway relationship: control_plane.go asserts against artifacts a gateway-controller pushes up to the control plane, and secret_deploy.go creates and deploys artifacts through the control plane's own REST API for the gateway to pull down.
|
Package platformapi holds steps for both directions of the platform-api <-> gateway relationship: control_plane.go asserts against artifacts a gateway-controller pushes up to the control plane, and secret_deploy.go creates and deploys artifacts through the control plane's own REST API for the gateway to pull down. |
|
it/steps/platformgateway
Package platformgateway contains platform-gateway-specific integration steps.
|
Package platformgateway contains platform-gateway-specific integration steps. |
|
ui/steps
Package steps holds suite-wide UI lifecycle and step definitions for godog features driving a real browser on the block's network.
|
Package steps holds suite-wide UI lifecycle and step definitions for godog features driving a real browser on the block's network. |
|
ui/steps/aiworkspace
Package aiworkspace contains AI Workspace-specific UI bindings.
|
Package aiworkspace contains AI Workspace-specific UI bindings. |
|
ui/steps/apiportal
Package apiportal contains API Portal-specific UI step definitions.
|
Package apiportal contains API Portal-specific UI step definitions. |
|
Package testbench hosts the mock services used by the integration suites.
|
Package testbench hosts the mock services used by the integration suites. |
|
cmd/testbench
command
Command testbench runs the mock services used by the integration suites.
|
Command testbench runs the mock services used by the integration suites. |
|
services/agentcard
Package agentcard provides a block-partitioned A2A Agent Card upstream with deterministic failure modes and a per-scope request counter.
|
Package agentcard provides a block-partitioned A2A Agent Card upstream with deterministic failure modes and a per-scope request counter. |
|
services/analytics
Package analytics provides a partitioned Moesif-compatible analytics collector for integration tests.
|
Package analytics provides a partitioned Moesif-compatible analytics collector for integration tests. |
|
services/backend
Package backend provides the stateless upstream used by integration tests.
|
Package backend provides the stateless upstream used by integration tests. |
|
services/bedrock
Package bedrock provides a deterministic AWS Bedrock ApplyGuardrail-compatible service.
|
Package bedrock provides a deterministic AWS Bedrock ApplyGuardrail-compatible service. |
|
services/capture
Package capture provides a partitioned upstream that remembers the last request it received per path.
|
Package capture provides a partitioned upstream that remembers the last request it received per path. |
|
services/contentsafety
Package contentsafety provides a deterministic Azure AI Content Safety-compatible service.
|
Package contentsafety provides a deterministic Azure AI Content Safety-compatible service. |
|
services/echo
Package echo provides HTTP reflection endpoints for integration tests.
|
Package echo provides HTTP reflection endpoints for integration tests. |
|
services/embeddings
Package embeddings provides a deterministic OpenAI-compatible embedding service for integration tests.
|
Package embeddings provides a deterministic OpenAI-compatible embedding service for integration tests. |
|
services/graphqlbackend
Package graphqlbackend provides a GraphQL-shaped upstream that echoes the request body back verbatim, unwrapped, as the response body.
|
Package graphqlbackend provides a GraphQL-shaped upstream that echoes the request body back verbatim, unwrapped, as the response body. |
|
services/guardian
Package guardian provides a deterministic content-safety model for the guardrail policies that ask an OpenAI-compatible chat model for a verdict: NeMo Guard Content Safety and Granite Guardian.
|
Package guardian provides a deterministic content-safety model for the guardrail policies that ask an OpenAI-compatible chat model for a verdict: NeMo Guard Content Safety and Granite Guardian. |
|
services/interceptor
Package interceptor provides a stateless request/response interceptor upstream.
|
Package interceptor provides a stateless request/response interceptor upstream. |
|
services/jwks
Package jwks serves a JWKS and signs test tokens on demand.
|
Package jwks serves a JWKS and signs test tokens on demand. |
|
services/mcp
Package mcp provides a stateless streamable-HTTP MCP server for integration tests.
|
Package mcp provides a stateless streamable-HTTP MCP server for integration tests. |
|
services/oauth2
Package oauth2 provides the partitioned OAuth2 identity provider used by gateway tests.
|
Package oauth2 provides the partitioned OAuth2 identity provider used by gateway tests. |
|
services/oidc
Package oidc provides an OpenID Connect identity provider for the API Portal's IDP mode.
|
Package oidc provides an OpenID Connect identity provider for the API Portal's IDP mode. |
|
services/openai
Package openai provides a deterministic, stateless mock upstream for several LLM providers.
|
Package openai provides a deterministic, stateless mock upstream for several LLM providers. |
|
services/tlsbackend
Package tlsbackend provides HTTPS backends that require a client certificate and report the subject of the one they received, for the gateway's outbound mutual TLS.
|
Package tlsbackend provides HTTPS backends that require a client certificate and report the subject of the one they received, for the gateway's outbound mutual TLS. |
|
services/webhook
Package webhook provides a block-partitioned HTTP receiver for API Portal deliveries.
|
Package webhook provides a block-partitioned HTTP receiver for API Portal deliveries. |