Skip to content

Use generated artifacts for Ruby BDD tests#3585

Draft
nogates wants to merge 1 commit into
masterfrom
nogates/use-generated-bdd-artifacts
Draft

Use generated artifacts for Ruby BDD tests#3585
nogates wants to merge 1 commit into
masterfrom
nogates/use-generated-bdd-artifacts

Conversation

@nogates

@nogates nogates commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • load language-neutral operation, schema, body, and parameter plans at the request-sending step
  • replay HTTP interactions through the generated test server instead of Ruby VCR cassettes
  • keep the generated Ruby SDK method as the request execution path
  • support nested array item schemas from generated request plans
  • distinguish the runner internal raw-template marker from legitimate API fields named template
  • normalize Ruby empty-body requests so HTTParty does not introduce an unrecorded form content type
  • add a local runner that requires neither datadog-api-spec nor openapi-transformer at test runtime

Compatibility usage

The transformer compatibility workflow checks out Ruby master and cherry-picks this PR as one adapter commit. It then generates the complete server, recording database, request plans, and feature tree into the SDK checkout before running Cucumber. No spec-repository files are required at SDK test runtime.

Validation

  • complete generated replay against current datadog-api-spec master: 1,685 scenarios discovered; 1,675 passed and 10 SDK-tagged scenarios skipped
  • 15,383 Cucumber steps passed
  • focused coverage for array bodies, legitimate string/array template fields, and empty-body requests
  • Ruby and shell syntax checks

Scope

This PR is the thin Ruby adapter. The language-neutral request construction and generated features live in openapi-transformer; the generated replay database and server are test artifacts.

@nogates
nogates requested review from a team as code owners July 20, 2026 10:47
@datadog-datadog-prod-us1-2

This comment has been minimized.

@nogates
nogates marked this pull request as draft July 20, 2026 11:07
@nogates
nogates force-pushed the nogates/use-generated-bdd-artifacts branch 2 times, most recently from 94d5f6d to f35048d Compare July 22, 2026 08:15
@nogates
nogates force-pushed the nogates/use-generated-bdd-artifacts branch from f35048d to 77d98cb Compare July 23, 2026 10:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant