From c4e2549dc891e296b278b04121a40dc05754eee8 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Mon, 15 Jul 2019 18:14:23 +0200 Subject: [PATCH] A few more permissions tests for completeness --- test/extension/test.sh | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/test/extension/test.sh b/test/extension/test.sh index 4b59853..ffe2ba3 100755 --- a/test/extension/test.sh +++ b/test/extension/test.sh @@ -631,8 +631,16 @@ EOF sql cdb_testmember_2 "SELECT a from test_user_fdw.foo LIMIT 1;" should 42 sql cdb_testmember_1 "SELECT cartodb.CDB_Organization_Revoke_Role('test_user_fdw');" + # By default publicuser cannot access the FDW + sql publicuser "SELECT a from test_user_fdw.foo LIMIT 1;" fails + sql cdb_testmember_1 "GRANT test_user_fdw TO publicuser;" # but can be granted + sql publicuser "SELECT a from test_user_fdw.foo LIMIT 1;" should 42 + sql cdb_testmember_1 "REVOKE test_user_fdw FROM publicuser;" + # If there are dependent objects, we cannot drop the foreign server sql cdb_testmember_1 "SELECT cartodb.CDB_Drop_User_Foreign_Server('test_user_fdw')" fails + sql cdb_testmember_1 "DROP FOREIGN TABLE test_user_fdw.foo;" + sql cdb_testmember_1 "SELECT cartodb.CDB_Drop_User_Foreign_Server('test_user_fdw')" # Teardown @@ -642,9 +650,6 @@ EOF DATABASE=fdw_target sql postgres 'REVOKE SELECT ON cdb_tablemetadata_text FROM fdw_user;' DATABASE=fdw_target sql postgres 'DROP ROLE fdw_user;' - sql cdb_testmember_1 "DROP FOREIGN TABLE test_user_fdw.foo;" - sql cdb_testmember_1 "SELECT cartodb.CDB_Drop_User_Foreign_Server('test_user_fdw')" - sql postgres "select pg_terminate_backend(pid) from pg_stat_activity where datname='fdw_target';" DATABASE=fdw_target tear_down_database }