Use privileged action on functions for tests

This commit is contained in:
Esther Lozano
2019-11-06 17:51:00 +01:00
parent f2e8d029eb
commit e63f5040d9
2 changed files with 16 additions and 15 deletions

View File

@@ -43,7 +43,7 @@ SELECT * FROM test_tablesas;
SELECT * FROM test_view;
SELECT * FROM test_mview;
SELECT * FROM test_selectinto;
SELECT public.test_function();
DROP FUNCTION test_function;
\set QUIET on
SET SESSION AUTHORIZATION "ownership_role";
@@ -54,9 +54,7 @@ SELECT 'denied_tableas', catch_permission_error($$SELECT * FROM test_tablesas;$$
SELECT 'denied_view', catch_permission_error($$SELECT * FROM test_view;$$);
SELECT 'denied_mview', catch_permission_error($$SELECT * FROM test_mview;$$);
SELECT 'denied_selectinto', catch_permission_error($$SELECT * FROM test_selectinto;$$);
SELECT test_function();
SELECT public.test_function();
SELECT 'denied_function', catch_permission_error($$SELECT public.test_function();$$);
SELECT 'denied_function', catch_permission_error($$DROP FUNCTION test_function;$$);
\set QUIET on
SET SESSION AUTHORIZATION "creator_role";
@@ -90,9 +88,10 @@ SELECT * FROM test2_tablesas;
SELECT * FROM test2_view;
SELECT * FROM test2_mview;
SELECT * FROM test2_selectinto;
SELECT public.test2_function();
DROP FUNCTION test2_function;
\set QUIET on
CREATE FUNCTION test2_function() RETURNS integer AS $$ BEGIN RETURN 1; END; $$ LANGUAGE PLPGSQL;
SET SESSION AUTHORIZATION "ownership_role";
\set QUIET off
@@ -101,7 +100,7 @@ SELECT 'denied_tableas2', catch_permission_error($$SELECT * FROM test2_tablesas;
SELECT 'denied_view2', catch_permission_error($$SELECT * FROM test2_view;$$);
SELECT 'denied_mview2', catch_permission_error($$SELECT * FROM test2_mview;$$);
SELECT 'denied_selectinto2', catch_permission_error($$SELECT * FROM test2_selectinto;$$);
SELECT 'denied_function2', catch_permission_error($$SELECT public.test2_function();$$);
SELECT 'denied_function2', catch_permission_error($$DROP FUNCTION public.test2_function;$$);
\set QUIET on
SET SESSION AUTHORIZATION "creator_role";
@@ -135,9 +134,10 @@ SELECT * FROM test3_tablesas;
SELECT * FROM test3_view;
SELECT * FROM test3_mview;
SELECT * FROM test3_selectinto;
SELECT public.test3_function();
DROP FUNCTION test3_function;
\set QUIET on
CREATE FUNCTION test3_function() RETURNS integer AS $$ BEGIN RETURN 1; END; $$ LANGUAGE PLPGSQL;
SET SESSION AUTHORIZATION "ownership_role";
\set QUIET off
@@ -146,7 +146,7 @@ SELECT 'denied_tableas3', catch_permission_error($$SELECT * FROM test3_tablesas;
SELECT 'denied_view3', catch_permission_error($$SELECT * FROM test3_view;$$);
SELECT 'denied_mview3', catch_permission_error($$SELECT * FROM test3_mview;$$);
SELECT 'denied_selectinto3', catch_permission_error($$SELECT * FROM test3_selectinto;$$);
SELECT 'denied_function3', catch_permission_error($$SELECT public.test3_function();$$);
SELECT 'denied_function3', catch_permission_error($$DROP FUNCTION public.test3_function;$$);
\set QUIET on
SET SESSION AUTHORIZATION "creator_role";
@@ -180,9 +180,10 @@ SELECT * FROM test4_tablesas;
SELECT * FROM test4_view;
SELECT * FROM test4_mview;
SELECT * FROM test4_selectinto;
SELECT public.test4_function();
DROP FUNCTION test4_function;
\set QUIET on
CREATE FUNCTION test4_function() RETURNS integer AS $$ BEGIN RETURN 1; END; $$ LANGUAGE PLPGSQL;
SET SESSION AUTHORIZATION "ownership_role";
\set QUIET off
@@ -191,7 +192,7 @@ SELECT * FROM test4_tablesas;
SELECT * FROM test4_view;
SELECT * FROM test4_mview;
SELECT * FROM test4_selectinto;
SELECT public.test4_function();
SELECT test4_function();
-- Ownership role drops the tables
DROP TABLE test4_tablesas;

View File

@@ -11,7 +11,7 @@ CREATE FUNCTION
1
1
1
1
DROP FUNCTION
denied_table|t
denied_tableas|t
denied_view|t
@@ -38,7 +38,7 @@ CREATE FUNCTION
1
1
1
1
DROP FUNCTION
denied_table2|t
denied_tableas2|t
denied_view2|t
@@ -64,7 +64,7 @@ CREATE FUNCTION
1
1
1
1
DROP FUNCTION
denied_table3|t
denied_tableas3|t
denied_view3|t
@@ -90,13 +90,13 @@ CREATE FUNCTION
1
1
1
DROP FUNCTION
1
1
1
1
1
1
1
DROP FUNCTION
DROP TABLE
DROP VIEW
DROP MATERIALIZED VIEW