Skip to content

Commit 4597fd7

Browse files
Add test for REVOKE ADMIN OPTION
The REVOKE ADMIN OPTION FOR <role_name> syntax didn't have ample test coverage. Fix by adding coverage in the privileges test suite. Author: Mark Dilger <mark.dilger@enterprisedb.com> Discussion: https://postgr.es/m/333B0203-D19B-4335-AE64-90EB0FAF46F0@enterprisedb.com
1 parent b2a459e commit 4597fd7

File tree

2 files changed

+51
-0
lines changed

2 files changed

+51
-0
lines changed

src/test/regress/expected/privileges.out

+22
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,31 @@ CREATE USER regress_priv_user5; -- duplicate
2929
ERROR: role "regress_priv_user5" already exists
3030
CREATE USER regress_priv_user6;
3131
CREATE USER regress_priv_user7;
32+
CREATE USER regress_priv_user8;
33+
CREATE USER regress_priv_user9;
34+
CREATE USER regress_priv_user10;
3235
CREATE ROLE regress_priv_role;
3336
GRANT pg_read_all_data TO regress_priv_user6;
3437
GRANT pg_write_all_data TO regress_priv_user7;
38+
GRANT pg_read_all_settings TO regress_priv_user8 WITH ADMIN OPTION;
39+
SET SESSION AUTHORIZATION regress_priv_user8;
40+
GRANT pg_read_all_settings TO regress_priv_user9 WITH ADMIN OPTION;
41+
SET SESSION AUTHORIZATION regress_priv_user9;
42+
GRANT pg_read_all_settings TO regress_priv_user10;
43+
SET SESSION AUTHORIZATION regress_priv_user8;
44+
REVOKE pg_read_all_settings FROM regress_priv_user10;
45+
REVOKE ADMIN OPTION FOR pg_read_all_settings FROM regress_priv_user9;
46+
REVOKE pg_read_all_settings FROM regress_priv_user9;
47+
RESET SESSION AUTHORIZATION;
48+
REVOKE ADMIN OPTION FOR pg_read_all_settings FROM regress_priv_user8;
49+
SET SESSION AUTHORIZATION regress_priv_user8;
50+
SET ROLE pg_read_all_settings;
51+
RESET ROLE;
52+
RESET SESSION AUTHORIZATION;
53+
REVOKE pg_read_all_settings FROM regress_priv_user8;
54+
DROP USER regress_priv_user10;
55+
DROP USER regress_priv_user9;
56+
DROP USER regress_priv_user8;
3557
CREATE GROUP regress_priv_group1;
3658
CREATE GROUP regress_priv_group2 WITH USER regress_priv_user1, regress_priv_user2;
3759
ALTER GROUP regress_priv_group1 ADD USER regress_priv_user4;

src/test/regress/sql/privileges.sql

+29
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,39 @@ CREATE USER regress_priv_user5;
3232
CREATE USER regress_priv_user5; -- duplicate
3333
CREATE USER regress_priv_user6;
3434
CREATE USER regress_priv_user7;
35+
CREATE USER regress_priv_user8;
36+
CREATE USER regress_priv_user9;
37+
CREATE USER regress_priv_user10;
3538
CREATE ROLE regress_priv_role;
3639

3740
GRANT pg_read_all_data TO regress_priv_user6;
3841
GRANT pg_write_all_data TO regress_priv_user7;
42+
GRANT pg_read_all_settings TO regress_priv_user8 WITH ADMIN OPTION;
43+
44+
SET SESSION AUTHORIZATION regress_priv_user8;
45+
GRANT pg_read_all_settings TO regress_priv_user9 WITH ADMIN OPTION;
46+
47+
SET SESSION AUTHORIZATION regress_priv_user9;
48+
GRANT pg_read_all_settings TO regress_priv_user10;
49+
50+
SET SESSION AUTHORIZATION regress_priv_user8;
51+
REVOKE pg_read_all_settings FROM regress_priv_user10;
52+
REVOKE ADMIN OPTION FOR pg_read_all_settings FROM regress_priv_user9;
53+
REVOKE pg_read_all_settings FROM regress_priv_user9;
54+
55+
RESET SESSION AUTHORIZATION;
56+
REVOKE ADMIN OPTION FOR pg_read_all_settings FROM regress_priv_user8;
57+
58+
SET SESSION AUTHORIZATION regress_priv_user8;
59+
SET ROLE pg_read_all_settings;
60+
RESET ROLE;
61+
62+
RESET SESSION AUTHORIZATION;
63+
REVOKE pg_read_all_settings FROM regress_priv_user8;
64+
65+
DROP USER regress_priv_user10;
66+
DROP USER regress_priv_user9;
67+
DROP USER regress_priv_user8;
3968

4069
CREATE GROUP regress_priv_group1;
4170
CREATE GROUP regress_priv_group2 WITH USER regress_priv_user1, regress_priv_user2;

0 commit comments

Comments
 (0)