mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	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
This commit is contained in:
		@@ -29,9 +29,31 @@ CREATE USER regress_priv_user5;	-- duplicate
 | 
				
			|||||||
ERROR:  role "regress_priv_user5" already exists
 | 
					ERROR:  role "regress_priv_user5" already exists
 | 
				
			||||||
CREATE USER regress_priv_user6;
 | 
					CREATE USER regress_priv_user6;
 | 
				
			||||||
CREATE USER regress_priv_user7;
 | 
					CREATE USER regress_priv_user7;
 | 
				
			||||||
 | 
					CREATE USER regress_priv_user8;
 | 
				
			||||||
 | 
					CREATE USER regress_priv_user9;
 | 
				
			||||||
 | 
					CREATE USER regress_priv_user10;
 | 
				
			||||||
CREATE ROLE regress_priv_role;
 | 
					CREATE ROLE regress_priv_role;
 | 
				
			||||||
GRANT pg_read_all_data TO regress_priv_user6;
 | 
					GRANT pg_read_all_data TO regress_priv_user6;
 | 
				
			||||||
GRANT pg_write_all_data TO regress_priv_user7;
 | 
					GRANT pg_write_all_data TO regress_priv_user7;
 | 
				
			||||||
 | 
					GRANT pg_read_all_settings TO regress_priv_user8 WITH ADMIN OPTION;
 | 
				
			||||||
 | 
					SET SESSION AUTHORIZATION regress_priv_user8;
 | 
				
			||||||
 | 
					GRANT pg_read_all_settings TO regress_priv_user9 WITH ADMIN OPTION;
 | 
				
			||||||
 | 
					SET SESSION AUTHORIZATION regress_priv_user9;
 | 
				
			||||||
 | 
					GRANT pg_read_all_settings TO regress_priv_user10;
 | 
				
			||||||
 | 
					SET SESSION AUTHORIZATION regress_priv_user8;
 | 
				
			||||||
 | 
					REVOKE pg_read_all_settings FROM regress_priv_user10;
 | 
				
			||||||
 | 
					REVOKE ADMIN OPTION FOR pg_read_all_settings FROM regress_priv_user9;
 | 
				
			||||||
 | 
					REVOKE pg_read_all_settings FROM regress_priv_user9;
 | 
				
			||||||
 | 
					RESET SESSION AUTHORIZATION;
 | 
				
			||||||
 | 
					REVOKE ADMIN OPTION FOR pg_read_all_settings FROM regress_priv_user8;
 | 
				
			||||||
 | 
					SET SESSION AUTHORIZATION regress_priv_user8;
 | 
				
			||||||
 | 
					SET ROLE pg_read_all_settings;
 | 
				
			||||||
 | 
					RESET ROLE;
 | 
				
			||||||
 | 
					RESET SESSION AUTHORIZATION;
 | 
				
			||||||
 | 
					REVOKE pg_read_all_settings FROM regress_priv_user8;
 | 
				
			||||||
 | 
					DROP USER regress_priv_user10;
 | 
				
			||||||
 | 
					DROP USER regress_priv_user9;
 | 
				
			||||||
 | 
					DROP USER regress_priv_user8;
 | 
				
			||||||
CREATE GROUP regress_priv_group1;
 | 
					CREATE GROUP regress_priv_group1;
 | 
				
			||||||
CREATE GROUP regress_priv_group2 WITH USER regress_priv_user1, regress_priv_user2;
 | 
					CREATE GROUP regress_priv_group2 WITH USER regress_priv_user1, regress_priv_user2;
 | 
				
			||||||
ALTER GROUP regress_priv_group1 ADD USER regress_priv_user4;
 | 
					ALTER GROUP regress_priv_group1 ADD USER regress_priv_user4;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,10 +32,39 @@ CREATE USER regress_priv_user5;
 | 
				
			|||||||
CREATE USER regress_priv_user5;	-- duplicate
 | 
					CREATE USER regress_priv_user5;	-- duplicate
 | 
				
			||||||
CREATE USER regress_priv_user6;
 | 
					CREATE USER regress_priv_user6;
 | 
				
			||||||
CREATE USER regress_priv_user7;
 | 
					CREATE USER regress_priv_user7;
 | 
				
			||||||
 | 
					CREATE USER regress_priv_user8;
 | 
				
			||||||
 | 
					CREATE USER regress_priv_user9;
 | 
				
			||||||
 | 
					CREATE USER regress_priv_user10;
 | 
				
			||||||
CREATE ROLE regress_priv_role;
 | 
					CREATE ROLE regress_priv_role;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GRANT pg_read_all_data TO regress_priv_user6;
 | 
					GRANT pg_read_all_data TO regress_priv_user6;
 | 
				
			||||||
GRANT pg_write_all_data TO regress_priv_user7;
 | 
					GRANT pg_write_all_data TO regress_priv_user7;
 | 
				
			||||||
 | 
					GRANT pg_read_all_settings TO regress_priv_user8 WITH ADMIN OPTION;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SET SESSION AUTHORIZATION regress_priv_user8;
 | 
				
			||||||
 | 
					GRANT pg_read_all_settings TO regress_priv_user9 WITH ADMIN OPTION;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SET SESSION AUTHORIZATION regress_priv_user9;
 | 
				
			||||||
 | 
					GRANT pg_read_all_settings TO regress_priv_user10;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SET SESSION AUTHORIZATION regress_priv_user8;
 | 
				
			||||||
 | 
					REVOKE pg_read_all_settings FROM regress_priv_user10;
 | 
				
			||||||
 | 
					REVOKE ADMIN OPTION FOR pg_read_all_settings FROM regress_priv_user9;
 | 
				
			||||||
 | 
					REVOKE pg_read_all_settings FROM regress_priv_user9;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RESET SESSION AUTHORIZATION;
 | 
				
			||||||
 | 
					REVOKE ADMIN OPTION FOR pg_read_all_settings FROM regress_priv_user8;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SET SESSION AUTHORIZATION regress_priv_user8;
 | 
				
			||||||
 | 
					SET ROLE pg_read_all_settings;
 | 
				
			||||||
 | 
					RESET ROLE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RESET SESSION AUTHORIZATION;
 | 
				
			||||||
 | 
					REVOKE pg_read_all_settings FROM regress_priv_user8;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DROP USER regress_priv_user10;
 | 
				
			||||||
 | 
					DROP USER regress_priv_user9;
 | 
				
			||||||
 | 
					DROP USER regress_priv_user8;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CREATE GROUP regress_priv_group1;
 | 
					CREATE GROUP regress_priv_group1;
 | 
				
			||||||
CREATE GROUP regress_priv_group2 WITH USER regress_priv_user1, regress_priv_user2;
 | 
					CREATE GROUP regress_priv_group2 WITH USER regress_priv_user1, regress_priv_user2;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user