CARRIER TRUNKS: 24 ACTIVE | GATEWAY: D1 EDGE REPLICATED | SYSTEM STATUS: OPERATIONAL
MODEL CONTEXT PROTOCOL (MCP) READY

CI/CD Synthetic SMS Testing Guide

Automate user signup, OTP verification, and password reset testing in GitHub Actions CI pipelines using SMSRiver synthetic test events.

.github/workflows/auth_e2e.yml
CI/CD Pipeline
name: Auth E2E Tests
on: [push, pull_request]
jobs:
  test-auth:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run Playwright with SMSRiver
        env:
          SMSRIVER_API_KEY: ${{ secrets.SMSRIVER_API_KEY }}
        run: npm run test:e2e:auth
test_auth.spec.ts
REST API v1
import { test, expect } from "@playwright/test";

test("User signup with synthetic SMS OTP", async ({ page, request }) => {
  await page.goto("http://localhost:3000/signup");
  await page.fill("#phone", "+12025550101");
  await page.click("#submit");
  // OTP received deterministically via SMSRiver test inbox
});

Implementation Walkthrough

1

Store API Key in GitHub Secrets

Add `SMSRIVER_API_KEY` to your repository settings under Actions secrets.

2

Configure E2E Test Suite

Wire your Playwright, Cypress, or Selenium test scripts to target SMSRiver synthetic numbers.

3

Execute Zero-Cost Runs on Every PR

Run hundreds of full authentication test passes without incurring per-segment carrier fees or SMS rate limits.

Supported MCP Agent Tools

list_countries
alias: sms_list_numbers

Discover supported countries, inventory counts, and carrier capabilities by source type.

get_number_capabilities
alias: sms_get_capabilities

Check line types, SMS capabilities, carrier limitations, and rental costs for a phone number or ISO country.

create_test_inbox
alias: sms_create_inbox

Create an isolated synthetic test inbox for deterministic webhook integration testing without real carriers.

generate_test_sms
aliases: sms_generate_sms, sms_create_synthetic_message

Inject zero-carrier-cost synthetic SMS inbound events directly into webhook endpoints for CI/CD test automation.

simulate_delivery_failure
alias: sms_simulate_failure

Simulate carrier drops, 10DLC rejections, DND blocks, and queue timeouts to verify retry handling.

inspect_webhook_events
alias: sms_inspect_webhooks

Query recorded test events, delivery status, latency, and raw carrier webhook payloads within plan retention.

replay_test_event
alias: sms_replay_event

Replay an existing test event to re-trigger local webhooks or reproduce failed integration test cases.

get_usage_summary
alias: sms_get_usage

Inspect current billing plan, monthly quota, consumed requests, and remaining units across REST and MCP.

Copied to clipboard