Skip to content

feat(sms): add stop, disable-dependencies and render; drop the dead razor check - #24

Merged
Domantas merged 3 commits into
mainfrom
audit/sms-sdk-python
Oct 3, 2026
Merged

Domantas merged 3 commits into
mainfrom
audit/sms-sdk-python

Conversation

@Domantas

@Domantas Domantas commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

What changed

SMS coverage of the Python SDK goes from 32 of 35 gateway routes to 35 of 35, with a test per route and a documented page.

  • stop_sms_campaign(id) — POST /{version}/notifications/sms/campaigns/{Id}/stop
  • get_sms_disable_dependencies() — GET /{version}/notifications/sms/disable-dependencies
  • render_sms() — POST /{version}/notifications/sms/templates/render
  • get_sms_campaign_message now spells the route token {notificationId} as the gateway does (same URL as before; the coverage matrix now finds the route string)
  • sync and async twins for all of the above

Breaking: sms_razor_syntax_check is removed. It posted to /{version}/notifications/sms/templates/razor-syntax-check, a route the gateway does not have, so every call answered 404. Use render_sms to check a template.

Tests

  • uv run pytest: 684 passed (625 on main)
  • new tests/hub/test_sms.py: 57 tests — the resolved path and verb of all 35 SMS routes (size-guarded), the 4 campaign audiences and 8 providers as the gateway reads them, the Fake provider with only its name, render_sms body, stop_sms_campaign with no body, get_sms_campaign_message with the batch id as a query value, async twins. Capture transport only; nothing leaves the process.
  • make typecheck clean (35 files), uv run ruff check . clean

Docs

  • docs/hub/notifications.md: one row per SMS method (35)
  • docs/hub/sms.md: campaign audiences, providers, render, message detail, preview
  • docs/hub/_index.md: notifications count corrected to the page (117 rows)

Release

Expected next version: v3.2.0 (minor; the major is frozen until launch).

Please merge with Squash and merge so this title becomes the release commit. The commit subjects on this branch start with [n] (plan step numbers) and python-semantic-release's conventional parser does not parse them (checked with scripts/release_parser.py on the real commits: ParseError), so a "Rebase and merge" would release nothing — the same is true of the two [6] commits already on main since v3.1.0.

Report (item file, Sms campaign): worktrees/gateway/audit/sms/docs/testing/testing-plan/14-sms/items/sdk-py.md (gateway repo, branch audit/sms).

🤖 Generated with Claude Code

Domantas and others added 3 commits October 2, 2026 16:21
…ad razor check

- stop_sms_campaign(id): POST /{version}/notifications/sms/campaigns/{Id}/stop
- get_sms_disable_dependencies(): GET /{version}/notifications/sms/disable-dependencies
- render_sms(): POST /{version}/notifications/sms/templates/render
- get_sms_campaign_message: route token is {notificationId}, as in the gateway
  (same URL as before; the coverage matrix now finds the route string)
- sync and async twins for all of the above

Breaking: sms_razor_syntax_check is removed. It posted to
/{version}/notifications/sms/templates/razor-syntax-check, a route the gateway
does not have, so every call answered 404. Use render_sms to check a template.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…rs, render, stop

tests/hub/test_sms.py in the push shape: every SMS route's resolved path and
verb (35, size-guarded), the four campaign audiences and the eight providers
as the gateway reads them, the Fake provider with only its name, render_sms
body, stop_sms_campaign with no body, get_sms_campaign_message with the batch
id as a query value, async twins. Capture transport only; nothing leaves the
process.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…iders

- docs/hub/notifications.md: one row per SMS method (verb, path, scope)
- docs/hub/sms.md: campaign audiences, providers, render, message detail, preview
- docs/hub/_index.md: notifications count matches the page (117 rows)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@Domantas
Domantas merged commit 03082db into main Oct 3, 2026
9 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.

1 participant