• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / supabase-flutter / 27544768443 / 3
85%
main: 85%

Build:
DEFAULT BRANCH: main
Ran 15 Jun 2026 12:10PM UTC
Files 23
Run time 1s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

15 Jun 2026 12:01PM UTC coverage: 80.063%. Remained the same
27544768443.3

push

github

web-flow
test(realtime): add Dockerized integration tests for v1 and v2 protocols (#1405)

## What

Adds Dockerized integration tests for `realtime_client` that run against
a real Supabase Realtime server, exercising the full client surface for
**both** the legacy `1.0.0` and the new `2.0.0` protocol formats.

## Changes

### Infra (`infra/realtime_client/`)
Follows the same pattern as the `gotrue`/`postgrest`/`storage_client`
setups.
- `docker-compose.yml` — `supabase/postgres:15.1.0.37` +
`supabase/realtime:v2.102.3`. The Realtime server connects as the
`postgres` superuser and seeds a `realtime-dev` tenant on startup via
`SEED_SELF_HOST` (the required `METRICS_JWT_SECRET` is set alongside
`API_JWT_SECRET`).
- `db/00-schema.sql` — a self-contained bootstrap that creates the
standard Supabase roles (`supabase_admin`, `anon`, `authenticated`,
`service_role`, `authenticator`), the
`extensions`/`auth`/`_realtime`/`realtime` schemas, a `public.todos`
table with `REPLICA IDENTITY FULL`, the grants, and the
`supabase_realtime` publication used for `postgres_changes`. The bare
image does not create these roles itself, and the per-tenant `realtime`
schema must exist before the tenant initializes.

### Tests (`packages/realtime_client/test/`)
- `realtime_integration_test.dart` runs once per
`RealtimeProtocolVersion`, covering:
  - connection and open state
  - channel subscribe / unsubscribe
  - self-broadcast and cross-client broadcast
  - presence track / sync / join / untrack / leave
- `postgres_changes` insert / update / delete plus a server-side filter
- `utils/realtime_test_utils.dart` — generates HS256 JWTs signed with
the server `API_JWT_SECRET`, builds clients per protocol version, opens
a direct Postgres connection to mutate rows, polls the server for
readiness (`waitForRealtimeServer`), and primes the replication pipeline
(`primePostgresChanges`) so `postgres_changes` events are delivered
reliably on first use.

### Wiring
- `realtime_client.yml` workflow n... (continued)

1265 of 1580 relevant lines covered (80.06%)

3.82 hits per line

Source Files on job gotrue - 27544768443.3
  • Tree
  • List 23
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 27544768443
  • 9ece0332 on github
  • Prev Job for on main (#27539879221.5)
  • Next Job for on main (#27546909655.)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc