From a15bca9dc7ed0500ed4e667a7ea80fe8a18dcb78 Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Mon, 9 Jul 2012 15:35:17 +0200 Subject: [PATCH 1/3] Add database roles used in testsuite Actually only "tileuser" is currently used, but "development_cartodb_user_3" is also referenced by the gadm4.sql so I added that too. --- test/sql/gadm4.sql | 3 +++ test/sql/windshaft.test.sql | 2 ++ 2 files changed, 5 insertions(+) diff --git a/test/sql/gadm4.sql b/test/sql/gadm4.sql index 1d6f221f..aba12fa5 100644 --- a/test/sql/gadm4.sql +++ b/test/sql/gadm4.sql @@ -96,6 +96,9 @@ ALTER TABLE ONLY gadm4 ADD CONSTRAINT bdll25_provincias_4326_2_pkey PRIMARY KEY (cartodb_id); CREATE INDEX bdll25_provincias_4326_2_the_geom_webmercator_idx ON gadm4 USING gist (the_geom_webmercator); + +-- development_cartodb_user_3 role +CREATE USER development_cartodb_user_3; GRANT ALL ON TABLE gadm4 TO development_cartodb_user_3; GRANT SELECT ON TABLE gadm4 TO tileuser; diff --git a/test/sql/windshaft.test.sql b/test/sql/windshaft.test.sql index 8824937c..25a9899f 100644 --- a/test/sql/windshaft.test.sql +++ b/test/sql/windshaft.test.sql @@ -15,6 +15,8 @@ SET search_path = public, pg_catalog; SET default_tablespace = ''; SET default_with_oids = false; +-- tileuser role +CREATE USER tileuser; -- first table CREATE TABLE test_table ( From 903aa9fc04e50fd44fb5e231b9fa584f99a10422 Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Mon, 9 Jul 2012 15:44:01 +0200 Subject: [PATCH 2/3] Parametrize name of testing database Name left unchanged for now ("cartodb_test_user_1_db") --- test/prepare_db.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/test/prepare_db.sh b/test/prepare_db.sh index 47a39dd8..c33d4e0d 100755 --- a/test/prepare_db.sh +++ b/test/prepare_db.sh @@ -11,15 +11,17 @@ die() { exit 1 } +TEST_DB="cartodb_test_user_1_db" + echo "preparing redis..." echo "HSET rails:users:vizzuality id 1" | redis-cli -n 5 -echo "HSET rails:users:vizzuality database_name cartodb_test_user_1_db" | redis-cli -n 5 -echo 'HSET rails:cartodb_test_user_1_db:my_table infowindow "this, that, the other"' | redis-cli -n 0 +echo "HSET rails:users:vizzuality database_name '${TEST_DB}'" | redis-cli -n 5 +echo 'HSET rails:${TEST_DB}:my_table infowindow "this, that, the other"' | redis-cli -n 0 echo "preparing postgres..." -dropdb cartodb_test_user_1_db -createdb -Ttemplate_postgis -EUTF8 cartodb_test_user_1_db || die "Could not create test database" -psql cartodb_test_user_1_db < ./sql/windshaft.test.sql -psql cartodb_test_user_1_db < ./sql/gadm4.sql +dropdb "${TEST_DB}" +createdb -Ttemplate_postgis -EUTF8 "${TEST_DB}" || die "Could not create test database" +psql "${TEST_DB}" < ./sql/windshaft.test.sql +psql "${TEST_DB}" < ./sql/gadm4.sql echo "Finished preparing data. Run tests with expresso." From 4f264de594dd9ba10952d50f1448e7c4c75bd890 Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Mon, 9 Jul 2012 15:50:23 +0200 Subject: [PATCH 3/3] Add a note about role creation side-effects of test db preparation --- test/prepare_db.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/prepare_db.sh b/test/prepare_db.sh index c33d4e0d..6559fdab 100755 --- a/test/prepare_db.sh +++ b/test/prepare_db.sh @@ -4,6 +4,11 @@ # # NOTE: assumes existance of a "template_postgis" # NOTE2: use PG* environment variables to control who and where +# +# NOTE3: a side effect of the db preparation is the persistent creation +# of two database roles which will be valid for the whole cluster +# TODO: fix that +# die() { msg=$1