Skip to content

Add UTS (Universal Test Spec) suite for REST API#456

Open
paddybyers wants to merge 2 commits intomainfrom
uts-rest
Open

Add UTS (Universal Test Spec) suite for REST API#456
paddybyers wants to merge 2 commits intomainfrom
uts-rest

Conversation

@paddybyers
Copy link
Copy Markdown
Member

Summary

  • Adds ably-common as a git submodule (pinned to latest main)
  • Adds portable, language-independent test specifications covering the REST client API:
    • Auth: auth callbacks, auth scheme, authorize, client ID, token details, token renewal, token request params, revoke tokens
    • Channels: publish, history, annotations, idempotency, message versions, get message, publish result, channel attributes, update/delete messages, channels collection
    • Encoding: message encoding/decoding (JSON, base64, cipher)
    • Batch: batch publish, batch presence
    • Fallback: host selection, retry logic, cache expiry, endpoint routing, option conflicts
    • Presence: REST presence get/history
    • Push: device registrations, channel subscriptions, admin publish
    • Types: error, message, mutable message, options, paginated result, presence message, token types
    • Other: REST client options, request/response, request endpoint, stats, time, logging
    • Helpers: mock HTTP spec
  • Includes a README documenting the UTS framework, pseudocode conventions, and mock infrastructure

These specs serve as the source of truth for expected SDK behaviour, independent of any specific programming language implementation. Each spec references the relevant specification points (e.g. RSA, RSL, RSC) and describes test setup, actions, and assertions in portable pseudocode.

Test plan

  • Review specs for consistency with features.md
  • Verify pseudocode is language-agnostic and follows conventions in README

🤖 Generated with Claude Code

paddybyers and others added 2 commits April 30, 2026 09:13
Add ably-common as a git submodule at submodules/ably-common, pinned to
6ff9a1a. This provides shared test fixtures and protocol definitions
used by the UTS (Universal Test Suite) specs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add portable, language-independent test specifications covering the REST
client: authentication (RSA), channels (RSL/RSP), encoding, batch
publish, pagination, stats, time, fallback hosts, push admin, and type
definitions. Includes a mock HTTP helper spec and a README documenting
the UTS framework.

These specs serve as the source of truth for expected SDK behaviour,
independent of any specific programming language implementation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant