From 06f563bb730aa8846ae9cff4d5c2366a360c7f09 Mon Sep 17 00:00:00 2001 From: Raul Marin Date: Fri, 31 May 2019 15:33:42 +0200 Subject: [PATCH] Tests: Only create publicuser if necessary Also, don't try to drop it since it's used by default CARTO installation --- test/CDB_UserTablesTest.sql | 17 +++++++++++++++-- test/CDB_UserTablesTest_expect | 5 +++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/test/CDB_UserTablesTest.sql b/test/CDB_UserTablesTest.sql index 97821e7..3e16c1b 100644 --- a/test/CDB_UserTablesTest.sql +++ b/test/CDB_UserTablesTest.sql @@ -1,4 +1,18 @@ -CREATE ROLE publicuser LOGIN; +SET client_min_messages TO ERROR; +DO +$do$ +BEGIN + IF NOT EXISTS ( + SELECT * + FROM pg_catalog.pg_user + WHERE usename = 'publicuser') THEN + + CREATE ROLE publicuser LOGIN; + END IF; +END +$do$; +SET client_min_messages TO NOTICE; + CREATE TABLE pub(a int); CREATE TABLE prv(a int); GRANT SELECT ON TABLE pub TO publicuser; @@ -16,4 +30,3 @@ SELECT 'private_publicuser',CDB_UserTables('private') ORDER BY 2; \c contrib_regression postgres DROP TABLE pub; DROP TABLE prv; -DROP ROLE publicuser; diff --git a/test/CDB_UserTablesTest_expect b/test/CDB_UserTablesTest_expect index 2325bab..dc7fc63 100644 --- a/test/CDB_UserTablesTest_expect +++ b/test/CDB_UserTablesTest_expect @@ -1,4 +1,6 @@ -CREATE ROLE +SET +DO +SET CREATE TABLE CREATE TABLE GRANT @@ -15,4 +17,3 @@ public_publicuser|pub You are now connected to database "contrib_regression" as user "postgres". DROP TABLE DROP TABLE -DROP ROLE