November 24, 2025
Rollback, but make it drama
Show HN: Supabase-Test – Fast Isolated Postgres DBs for Testing Supabase RLS
HN rugs the Supabase test tool while devs debate “finally” vs “too much”
TLDR: A tool called supabase-test offers instant, disposable databases to safely test who can access what, promising cleaner, faster checks. Hacker News mod action rug-pulled the thread, sparking meta chatter; the broader debate is whether this helper is a time-saver for teams or just more wrapper fluff.
A new open-source tool just promised something developers dream about: push-button test databases that reset themselves and let you pretend to be different users, so you can safely check those tricky “who sees what” rules (Row-Level Security). Think instant, disposable Postgres sandboxes with clean rollbacks and auto-teardown. But the real story? Hacker News drama. Moderator dang slapped the thread with an “under-the-rug” stub, redirecting the convo to another link, and the comments basically vanished mid-sprint. Cue meta-chatter and jokes about “rolling back the thread faster than the tests.”
Fans are hyped: finally, a way to test RLS without fighting your own database. Skeptics side-eye anything that wraps Postgres, muttering that learning the raw tools beats another shiny helper. CI/CD folks (the automation crowd) are thrilled this thing plays well with GitHub Actions — because nobody wants flaky tests at 3 a.m. The mood swings between “this could save teams hours” and “just write SQL.”
With the discussion swept aside, the running gag became the moderation move itself: rugs, rollbacks, and “savepoints for threads.” Meanwhile, the project’s promise — quick seeds, role switching, and zero cleanup — has the peanut gallery imagining fewer test headaches and more green checkmarks. Whether it’s a godsend or overkill depends on whether you’ve suffered through RLS testing without a safety net.
Key Points
- •supabase-test provides instant, isolated PostgreSQL databases tailored for Supabase, with seeded, UUID-named test DBs.
- •Per-test isolation is handled via transactions/savepoints with automatic rollback using beforeEach and afterEach hooks.
- •getConnections() returns structured clients (superuser and app-level), an admin utility, a teardown function, and a shared connector.
- •PgTestClient wraps node-postgres to enable context switching (setContext), typed query helpers, and high-level testing APIs.
- •RLS testing is supported by simulating roles and claims via SET LOCAL, and it integrates smoothly with CI/CD like GitHub Actions.