Files

Contract tests

Contract tests validate WHMCS module requests and responses against the GameCloud integration API (/api/v1/integrations/whmcs/*).

Scope

  • Request signing headers (X-HGC-Integration-ID, X-HGC-Signature, X-HGC-Idempotency-Key, …)
  • Canonical HMAC signature base string
  • JSON request/response shapes from packages/contracts/src/whmcs.ts
  • Idempotent lifecycle operations (provision, suspend, renew, change-package)

Running

Contract tests require a reachable GameCloud API or a recorded mock server. They are not executed in CI by default.

# From integrations/whmcs after installing dev dependencies:
composer install
./vendor/bin/phpunit --testsuite Contract

Fixtures

Sample WHMCS $params payloads and signed API examples will live under tests/Fixtures/ as the contract suite grows.

  • OpenAPI / Zod contracts: packages/contracts/src/whmcs.ts
  • Server module client: modules/servers/hexagamecloud/lib/ApiClient.php
  • Addon module client: modules/addons/hexagamecloud/lib/ApiClient.php