From 396625c3b91d784b2144a9e33e03b0266392e3fe Mon Sep 17 00:00:00 2001 From: David Cox Date: Mon, 16 Dec 2024 13:14:28 -0800 Subject: [PATCH] test: add reset script to improve dev workflow --- Makefile | 6 ++++++ tests/reset.sql | 26 ++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 tests/reset.sql diff --git a/Makefile b/Makefile index 1dad5b7..4035f6e 100644 --- a/Makefile +++ b/Makefile @@ -19,6 +19,12 @@ help: @echo " test - Run tests" @echo " pg_tap - Run pg_tap tests" +# Reset database +.PHONY: reset-database +reset-database: + @echo "Resetting..." + PGPASSWORD=$(PG_PASSWORD) psql -h $(PG_HOST) -p $(PG_PORT) -U $(PG_USER) -d $(PG_DB) -v ON_ERROR_STOP=1 -f $(TEST_DIR)/reset.sql + # Set up Supabase .PHONY: setup-supabase setup-supabase: diff --git a/tests/reset.sql b/tests/reset.sql new file mode 100644 index 0000000..82b7e58 --- /dev/null +++ b/tests/reset.sql @@ -0,0 +1,26 @@ +-- KeyHippo Database Reset Script +-- Drop schemas +DROP TABLE IF EXISTS public.test_accounts CASCADE; + +DROP SCHEMA IF EXISTS keyhippo CASCADE; + +DROP SCHEMA IF EXISTS keyhippo_internal CASCADE; + +DROP SCHEMA IF EXISTS keyhippo_rbac CASCADE; + +DROP SCHEMA IF EXISTS keyhippo_impersonation CASCADE; + +-- Drop custom types +DROP TYPE IF EXISTS keyhippo.app_permission CASCADE; + +DROP TYPE IF EXISTS keyhippo.app_role CASCADE; + +-- Delete all rows from auth.users +DELETE FROM auth.users; + +-- Drop the trigger on auth.users +DROP TRIGGER IF EXISTS assign_default_role_trigger ON auth.users; + +-- Notify PostgREST to reload configuration +NOTIFY pgrst, +'reload config';