Skip to content

chore(spec): refresh bundled cloud_openapi.json from upstream#101

Merged
joshrotenberg merged 1 commit into
mainfrom
chore/refresh-bundled-openapi-spec
May 29, 2026
Merged

chore(spec): refresh bundled cloud_openapi.json from upstream#101
joshrotenberg merged 1 commit into
mainfrom
chore/refresh-bundled-openapi-spec

Conversation

@joshrotenberg
Copy link
Copy Markdown
Contributor

Summary

Re-fetched tests/fixtures/cloud_openapi.json from https://api.redislabs.com/v1/cloud-api-docs (the URL #40 cites as the authoritative source).

Old New Δ
Paths 75 93 +18
Schemas 119 138 +19
Operations 130 155 +25

Zero removals or renames — the refresh is purely additive.

What's new in the fixture

Category Paths
cost-report (already implemented) /cost-report, /cost-report/{costReportId}
Pro database lifecycle /traffic, /traffic/resume, /upgrade, /available-target-versions
Fixed database lifecycle same set on /fixed/...
Private Link (per-subscription) 4 endpoints under /subscriptions/{id}/private-link
Private Link (per-region) 4 endpoints under /subscriptions/{id}/regions/{regionId}/private-link
Resource tags /subscriptions/{id}/resource-tags

Drive-by

Nudged tests/openapi_validation.rs::test_all_endpoints_documented floor from 130 → 150 and rewrote the comment that referenced "the spec we analyzed from redis.io had 140" (the live spec now has 155). The assertion remains a floor so additive refreshes don't break it.

Why now

Two open issues depend on a fresh fixture:

  • #67 — executable route-coverage check needs an authoritative spec to test against
  • #72 — reconciliation between typed handlers and the spec. The previously-quoted "29 spec ops without handler, 22 handlers without spec path" numbers will shift now that the spec has caught up

Closes #69.

Test plan

  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --workspace — all 72 doctests + every integration suite green; the new fixture is purely additive

Re-fetched `tests/fixtures/cloud_openapi.json` from
`https://api.redislabs.com/v1/cloud-api-docs` (the URL #40 cites as
the authoritative source). The bundled copy was last refreshed when
upstream had 75 paths / 119 schemas / 130 operations; upstream now
has 93 paths / 138 schemas / 155 operations — pure additions, no
removals.

18 new paths land in the fixture:

- cost-report endpoints (already implemented in CostReportHandler):
  /cost-report, /cost-report/{costReportId}
- pro databases: /traffic, /traffic/resume, /upgrade,
  /available-target-versions
- fixed databases: same set
- private-link: 8 new endpoints under
  /subscriptions/{id}/private-link and
  /subscriptions/{id}/regions/{regionId}/private-link
- /subscriptions/{id}/resource-tags

19 new schemas. None of the existing operations or schemas were
removed or renamed, so this is a non-breaking refresh.

Also nudged `tests/openapi_validation.rs::test_all_endpoints_documented`
threshold from 130 to 150, and rewrote the stale comment that
referenced "the spec we analyzed from redis.io had 140" (it now has
155). The assertion stays as a floor so future refreshes that
strictly add endpoints don't break it.

This unblocks #67 (route coverage check needs an authoritative spec)
and #72 (reconciling typed handlers with the spec — drift will be
larger now that the spec has caught up).

Closes #69

Test plan
- cargo fmt --all -- --check
- cargo clippy --workspace --all-targets -- -D warnings
- cargo test --workspace (all existing tests pass; the new fixture
  is purely additive)
@joshrotenberg joshrotenberg merged commit a519475 into main May 29, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

spec(fixtures): refresh bundled cloud_openapi.json from the live Redis Cloud spec

1 participant