Files
threshold/internal/db/sqltest/tests/purge/trigger_insert_on_delete.sql
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

30 lines
1.2 KiB
PL/PgSQL
Raw Normal View History

-- Copyright (c) HashiCorp, Inc.
-- SPDX-License-Identifier: BUSL-1.1
begin;
2024-01-08 18:39:00 +00:00
select plan(10);
-- Verify the trigger functions exist and are declared properly
select has_function('insert_deleted_id');
select volatility_is('insert_deleted_id', 'volatile');
select isnt_strict('insert_deleted_id');
select has_trigger('auth_token', 'insert_deleted_id');
-- To test the trigger that moves deleted rows into their appropriate tables, we'll use auth_token
-- Ensure session state table is populated, and session_deleted and auth_token_deleted tables are empty
select is(count(*), 1::bigint) from session_state where session_id = 's1_____clare';
select is(count(*), 0::bigint) from session_deleted;
select is(count(*), 0::bigint) from auth_token_deleted;
-- Check that we have a session for a particular auth token
select is(count(*), 2::bigint) from session where auth_token_id = 'tok____clare';
-- Delete auth tokens, expect no errors, check that the auth_token table is now populated
delete from auth_token where public_id = 'tok____clare';
select is(count(*), 0::bigint) from auth_token where public_id = 'tok____clare';
select is(count(*), 1::bigint) from auth_token_deleted;
select * from finish();
rollback;