view schema/run_tests.sh @ 334:df1fc589ad9d

Prevent Waterway Admins from updating users from their country We need to ensure this in the trigger function, because we cannot apply different rules for SELECT and UPDATE like with RLS policies on real tables.
author Tom Gottfried <tom@intevation.de>
date Fri, 03 Aug 2018 17:23:55 +0200
parents 363983d5c567
children c6bd6ed18942
line wrap: on
line source

#!/bin/sh -e

dropdb --if-exists gemma_test

./install-db.sh -d gemma_test
psql -qv ON_ERROR_STOP= -c 'CREATE EXTENSION pgtap' -d gemma_test

# Collect test roles to be dropped
# Concatenate with dummy role to prevent syntax error if there is no test role
TEST_ROLES=$(psql -qtc \
    "SELECT concat_ws(',', 'test', string_agg(rolname, ',')) FROM pg_roles
         WHERE rolname LIKE 'test%'")

# Drop test roles, add test data and run tests
psql -qXv ON_ERROR_STOP= -v -d gemma_test \
    -c 'SET client_min_messages TO WARNING' \
    -c "DROP ROLE IF EXISTS $TEST_ROLES" \
    -f tap_tests_data.sql \
    -c 'SELECT plan(45)' \
    -f auth_tests.sql \
    -f manage_users_tests.sql \
    -c 'SELECT * FROM finish()'