[GH-ISSUE #624] coverage: Add missing non-relationship endpoints (OpenAPI) #178

Closed
opened 2026-02-26 21:33:55 +03:00 by kerem · 3 comments
Owner

Originally created by @rudrankriyam on GitHub (Feb 18, 2026).
Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/624

Context

These endpoints exist in the offline OpenAPI snapshot (docs/openapi/latest.json, indexed by docs/openapi/paths.txt) but are currently missing from internal/asc client coverage.

Goal

Add ASC client methods for the endpoints below (method + path).

Missing endpoints

  • DELETE /v1/appInfoLocalizations/{id}
  • GET /v1/appInfoLocalizations/{id}
  • GET /v1/gameCenterAchievementReleases/{id}
  • GET /v1/gameCenterLeaderboardReleases/{id}
  • GET /v1/gameCenterLeaderboardSetReleases/{id}
  • GET /v1/inAppPurchaseLocalizations/{id}
  • PATCH /v1/inAppPurchaseOfferCodeCustomCodes/{id}
  • PATCH /v1/inAppPurchaseOfferCodeOneTimeUseCodes/{id}

Where/what to add

  • Implement in the relevant ASC client files under internal/asc/ (e.g. localizations/IAP/Game Center).
  • Add request-shaping tests in internal/asc/client_http_test.go or a focused test file.

Test plan

  • Add request-shaping tests using newTestClient (assert method + path + query).
  • For mutation endpoints (POST/PATCH/DELETE), assert request method + path and (when applicable) JSON relationship payload shape.

Acceptance criteria

  • All endpoints listed are implemented in internal/asc with tests.
  • ASC_BYPASS_KEYCHAIN=1 make test passes.
Originally created by @rudrankriyam on GitHub (Feb 18, 2026). Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/624 ## Context These endpoints exist in the offline OpenAPI snapshot (`docs/openapi/latest.json`, indexed by `docs/openapi/paths.txt`) but are currently missing from `internal/asc` client coverage. ## Goal Add ASC client methods for the endpoints below (method + path). ## Missing endpoints - [ ] DELETE /v1/appInfoLocalizations/{id} - [ ] GET /v1/appInfoLocalizations/{id} - [ ] GET /v1/gameCenterAchievementReleases/{id} - [ ] GET /v1/gameCenterLeaderboardReleases/{id} - [ ] GET /v1/gameCenterLeaderboardSetReleases/{id} - [ ] GET /v1/inAppPurchaseLocalizations/{id} - [ ] PATCH /v1/inAppPurchaseOfferCodeCustomCodes/{id} - [ ] PATCH /v1/inAppPurchaseOfferCodeOneTimeUseCodes/{id} ## Where/what to add - Implement in the relevant ASC client files under `internal/asc/` (e.g. localizations/IAP/Game Center). - Add request-shaping tests in `internal/asc/client_http_test.go` or a focused test file. ## Test plan - Add request-shaping tests using `newTestClient` (assert method + path + query). - For mutation endpoints (POST/PATCH/DELETE), assert request method + path and (when applicable) JSON relationship payload shape. ## Acceptance criteria - All endpoints listed are implemented in `internal/asc` with tests. - `ASC_BYPASS_KEYCHAIN=1 make test` passes.
kerem 2026-02-26 21:33:55 +03:00
Author
Owner

@rudrankriyam commented on GitHub (Feb 18, 2026):

@cursor please implement this issue (#624).

Scope: 8 missing non-relationship endpoints from the OpenAPI snapshot (GET x5, PATCH x2, DELETE x1). Implement only what’s listed in the issue body.

Implementation notes:

  • Add/adjust request-shaping tests first using newTestClient (assert method + path + query/body).
  • Endpoints here include things like GET/DELETE /v1/appInfoLocalizations/{id}, GET /v1/inAppPurchaseLocalizations/{id}, and PATCH updates for offer-code code resources. Reuse patterns in internal/asc/client.go and internal/asc/client_iap_subresources.go.

Acceptance:

  • All endpoints in the issue checklist are implemented in internal/asc/.
  • Tests added/updated accordingly.
  • ASC_BYPASS_KEYCHAIN=1 make test passes.
<!-- gh-comment-id:3918646910 --> @rudrankriyam commented on GitHub (Feb 18, 2026): @cursor please implement this issue (#624). Scope: 8 missing non-relationship endpoints from the OpenAPI snapshot (GET x5, PATCH x2, DELETE x1). Implement *only* what’s listed in the issue body. Implementation notes: - Add/adjust request-shaping tests first using `newTestClient` (assert method + path + query/body). - Endpoints here include things like `GET/DELETE /v1/appInfoLocalizations/{id}`, `GET /v1/inAppPurchaseLocalizations/{id}`, and PATCH updates for offer-code code resources. Reuse patterns in `internal/asc/client.go` and `internal/asc/client_iap_subresources.go`. Acceptance: - All endpoints in the issue checklist are implemented in `internal/asc/`. - Tests added/updated accordingly. - `ASC_BYPASS_KEYCHAIN=1 make test` passes.
Author
Owner

@cursor[bot] commented on GitHub (Feb 18, 2026):

Implemented issue #624 by adding ASC client coverage for the 8 missing non-relationship endpoints from the offline OpenAPI snapshot:

  • App Info Localizations
    • GetAppInfoLocalizationGET /v1/appInfoLocalizations/{id}
    • DeleteAppInfoLocalizationDELETE /v1/appInfoLocalizations/{id}
  • Game Center Releases
    • GetGameCenterAchievementReleaseGET /v1/gameCenterAchievementReleases/{id}
    • GetGameCenterLeaderboardReleaseGET /v1/gameCenterLeaderboardReleases/{id}
    • GetGameCenterLeaderboardSetReleaseGET /v1/gameCenterLeaderboardSetReleases/{id}
  • IAP
    • GetInAppPurchaseLocalizationGET /v1/inAppPurchaseLocalizations/{id}
    • UpdateInAppPurchaseOfferCodeCustomCodePATCH /v1/inAppPurchaseOfferCodeCustomCodes/{id}
    • UpdateInAppPurchaseOfferCodeOneTimeUseCodePATCH /v1/inAppPurchaseOfferCodeOneTimeUseCodes/{id}

Added focused request-shaping tests using newTestClient:

  • internal/asc/client_app_info_localizations_detail_test.go
  • internal/asc/client_game_center_releases_detail_test.go
  • internal/asc/client_iap_missing_endpoints_test.go

Verification:

  • Ran: ASC_BYPASS_KEYCHAIN=1 make test

Work is committed and pushed to cursor/missing-openapi-endpoints-926a (commit b243433).

View PR

Open in Cursor Open in Web

<!-- gh-comment-id:3918647679 --> @cursor[bot] commented on GitHub (Feb 18, 2026): Implemented issue **#624** by adding ASC client coverage for the 8 missing non-relationship endpoints from the offline OpenAPI snapshot: - **App Info Localizations** - `GetAppInfoLocalization` → `GET /v1/appInfoLocalizations/{id}` - `DeleteAppInfoLocalization` → `DELETE /v1/appInfoLocalizations/{id}` - **Game Center Releases** - `GetGameCenterAchievementRelease` → `GET /v1/gameCenterAchievementReleases/{id}` - `GetGameCenterLeaderboardRelease` → `GET /v1/gameCenterLeaderboardReleases/{id}` - `GetGameCenterLeaderboardSetRelease` → `GET /v1/gameCenterLeaderboardSetReleases/{id}` - **IAP** - `GetInAppPurchaseLocalization` → `GET /v1/inAppPurchaseLocalizations/{id}` - `UpdateInAppPurchaseOfferCodeCustomCode` → `PATCH /v1/inAppPurchaseOfferCodeCustomCodes/{id}` - `UpdateInAppPurchaseOfferCodeOneTimeUseCode` → `PATCH /v1/inAppPurchaseOfferCodeOneTimeUseCodes/{id}` Added focused request-shaping tests using `newTestClient`: - `internal/asc/client_app_info_localizations_detail_test.go` - `internal/asc/client_game_center_releases_detail_test.go` - `internal/asc/client_iap_missing_endpoints_test.go` Verification: - Ran: `ASC_BYPASS_KEYCHAIN=1 make test` ✅ Work is committed and pushed to `cursor/missing-openapi-endpoints-926a` (commit `b243433`). <p><a href="https://github.com/rudrankriyam/App-Store-Connect-CLI/pull/626"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/view-pr-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/view-pr-light.png"><img alt="View PR" width="86" height="28" src="https://cursor.com/assets/images/view-pr-light.png"></picture></a></p> <p><a href="https://cursor.com/background-agent?bcId=bc-f5e0f383-4b93-4ea6-8120-1afde7401653"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-cursor-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-cursor-light.png"><img alt="Open in Cursor" width="131" height="28" src="https://cursor.com/assets/images/open-in-cursor-dark.png"></picture></a>&nbsp;<a href="https://cursor.com/agents?id=bc-f5e0f383-4b93-4ea6-8120-1afde7401653"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-web-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-web-light.png"><img alt="Open in Web" width="114" height="28" src="https://cursor.com/assets/images/open-in-web-dark.png"></picture></a></p>
Author
Owner

@rudrankriyam commented on GitHub (Feb 18, 2026):

Closed by PR #626 (merged).

<!-- gh-comment-id:3919363388 --> @rudrankriyam commented on GitHub (Feb 18, 2026): Closed by PR #626 (merged).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/App-Store-Connect-CLI#178
No description provided.