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

Lines changed: 22 additions & 0 deletions
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

Lines changed: 29 additions & 0 deletions
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy