diff --git a/scripts/bats/20_check.bats b/scripts/bats/20_check.bats index 72c7761..df25535 100644 --- a/scripts/bats/20_check.bats +++ b/scripts/bats/20_check.bats @@ -5,7 +5,11 @@ load 'test/libs/seeds' load 'test/libs/sql' setup_file() { - reset_database + init_database +} + +teardown_file() { + drop_database } setup() { @@ -49,6 +53,7 @@ EOF assert_success assert_output --partial "All partitions are correctly configured" + rm "$CONFIGURATION_FILE" } @test "Test check return an error when retention partitions are missing" { @@ -79,6 +84,7 @@ EOF assert_failure assert_output --partial "Found missing tables" + rm "$CONFIGURATION_FILE" } @test "Test check return an error when preProvisioned partitions are missing" { @@ -109,6 +115,7 @@ EOF assert_failure assert_output --partial "Found missing tables" + rm "$CONFIGURATION_FILE" } @test "Test check succeeding with an UUID partition key" { diff --git a/scripts/bats/30_provisioning.bats b/scripts/bats/30_provisioning.bats index c36fae5..eb2f00e 100644 --- a/scripts/bats/30_provisioning.bats +++ b/scripts/bats/30_provisioning.bats @@ -6,7 +6,11 @@ load 'test/libs/sql' load 'test/libs/time' setup_file() { - reset_database + init_database +} + +teardown_file() { + drop_database } setup() { @@ -45,6 +49,8 @@ EOF assert_table_exists public $(generate_daily_partition_name ${TABLE} -1) # retention partition assert_table_exists public $(generate_daily_partition_name ${TABLE} 0) # current partition assert_table_exists public $(generate_daily_partition_name ${TABLE} 1) # preProvisioned partition + + rm "$CONFIGURATION_FILE" } @test "Test that preProvisioned and retention partitions can be increased" { @@ -90,6 +96,8 @@ EOF assert_output --partial "All partitions are correctly provisioned" assert_table_exists public $(generate_daily_partition_name ${TABLE} -${NEW_RETENTION}) # New retention partition assert_table_exists public $(generate_daily_partition_name ${TABLE} ${NEW_PREPROVISIONED}) # New preProvisioned partition + + rm "$CONFIGURATION_FILE" } @test "Test monthly partitions" { @@ -127,6 +135,8 @@ EOF assert_table_exists public ${EXPECTED_LAST_TABLE} assert_table_exists public ${EXPECTED_CURRENT_TABLE} assert_table_exists public ${EXPECTED_NEXT_TABLE} + + rm "$CONFIGURATION_FILE" } @test "Test quarterly partitions" { @@ -157,12 +167,13 @@ EOF run "$PPM_PROG" run provisioning -c ${CONFIGURATION_FILE} - assert_success assert_output --partial "All partitions are correctly provisioned" assert_table_exists public ${EXPECTED_LAST_TABLE} assert_table_exists public ${EXPECTED_CURRENT_TABLE} assert_table_exists public ${EXPECTED_NEXT_TABLE} + + rm "$CONFIGURATION_FILE" } @test "Test yearly partitions" { @@ -198,6 +209,8 @@ EOF assert_table_exists public ${EXPECTED_LAST_TABLE} assert_table_exists public ${EXPECTED_CURRENT_TABLE} assert_table_exists public ${EXPECTED_NEXT_TABLE} + + rm "$CONFIGURATION_FILE" } @test "Test interval change" { @@ -228,7 +241,7 @@ EOF assert_success assert_output --partial "All partitions are correctly provisioned" - run list_existing_partitions "unittest" "public" ${TABLE} + run list_existing_partitions "public" ${TABLE} local expected_monthly=$(cat < "${FILENAME}" - - echo $FILENAME + rm "${TEMPORARY_FILE}" + echo "$FILENAME" } # Return a common configuration diff --git a/scripts/bats/test/libs/sql.bash b/scripts/bats/test/libs/sql.bash index c380292..522bca9 100644 --- a/scripts/bats/test/libs/sql.bash +++ b/scripts/bats/test/libs/sql.bash @@ -2,7 +2,7 @@ execute_sql() { local SQL_COMMAND=$1 local DATABASE=$2 - if [ -z ${DATABASE} ]; then + if [ -z "$DATABASE" ]; then psql --echo-all --echo-errors -c "${SQL_COMMAND}" else psql --echo-all --echo-errors --dbname="${DATABASE}" -c "${SQL_COMMAND}" @@ -13,7 +13,7 @@ execute_sql_file() { local SQL_FILE=$1 local DATABASE=$2 - if [ -z ${DATABASE} ]; then + if [ -z "$DATABASE" ]; then psql --echo-all --echo-errors -f "${SQL_FILE}" else psql --echo-all --echo-errors --dbname="${DATABASE}" -f "${SQL_FILE}" @@ -25,16 +25,23 @@ execute_sql_commands() { # $1: sql commands # $2: dbname (if unset, psql defaults to $PGDATABASE and then $USER) - psql --tuples-only --no-align --quiet "$2" <