tests: Add tests for the pg-safeupdate library

This commit is contained in:
Laurence Isla
2022-08-10 11:50:57 -05:00
committed by GitHub
parent 57bc3d805c
commit 4ac47df528
8 changed files with 151 additions and 24 deletions
+9
View File
@@ -803,3 +803,12 @@ INSERT INTO "SPECIAL ""@/\#~_-".names (id, name) VALUES (1, 'John'), (2, 'Mary')
TRUNCATE TABLE do$llar$s CASCADE;
INSERT INTO do$llar$s (a$num$) VALUES (100), (200), (300);
TRUNCATE TABLE safe_update CASCADE;
INSERT INTO safe_update(id, name) VALUES (1, 'First'), (2, 'Second'), (3, 'Third');
TRUNCATE TABLE safe_delete CASCADE;
INSERT INTO safe_delete(id, name) VALUES (1, 'First'), (2, 'Second'), (3, 'Third');
TRUNCATE TABLE unsafe_update CASCADE;
INSERT INTO unsafe_update(id, name) VALUES (1, 'First'), (2, 'Second'), (3, 'Third');
TRUNCATE TABLE unsafe_delete CASCADE;
INSERT INTO unsafe_delete(id, name) VALUES (1, 'First'), (2, 'Second'), (3, 'Third');
+4
View File
@@ -195,6 +195,10 @@ GRANT ALL ON TABLE
, shop_bles
, "SPECIAL ""@/\#~_-".names
, do$llar$s
, safe_update
, safe_delete
, unsafe_update
, unsafe_delete
TO postgrest_test_anonymous;
GRANT INSERT ON TABLE insertonly TO postgrest_test_anonymous;
+27
View File
@@ -2689,3 +2689,30 @@ $$ LANGUAGE sql;
CREATE TABLE do$llar$s (
a$num$ numeric
);
-- Tables and functions to test the pg-safeupdate library
CREATE TABLE test.safe_update(
id INT PRIMARY KEY,
name TEXT
);
CREATE TABLE test.safe_delete(
id INT PRIMARY KEY,
name TEXT
);
CREATE TABLE test.unsafe_update(
id INT PRIMARY KEY,
name TEXT
);
CREATE TABLE test.unsafe_delete(
id INT PRIMARY KEY,
name TEXT
);
CREATE OR REPLACE FUNCTION test.load_safeupdate() RETURNS VOID AS $$
BEGIN
LOAD 'safeupdate';
END; $$ LANGUAGE plpgsql SECURITY DEFINER;