diff --git a/src/scripts/backupScript.sh b/src/scripts/backupScript.sh new file mode 100755 index 000000000..091dd4657 --- /dev/null +++ b/src/scripts/backupScript.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# The OED Docker database container must be running for this script to work + +# Input the pathname for the desired backup directory +# ie PATH="/home//path_to/database_dumps/" +# This path MUST exist, otherwise, this script will attempt to create the directory, or fail. + +# This could probably be programmatically populated. Currently needs to be set manually +db_dump_path="/home//database_dumps" #INPUT REQUIRED + +# Checks to see if the directory is exists +# If not, it will display a message, and attempt to create the backup directory +if [ ! -d "$db_dump_path" ]; then + echo "Backup directory does not exist. Creating it now..." + mkdir -p "$db_dump_path" || { echo "Failed to create directory. Exiting."; exit 1; } +fi + +# Generate a timestamp to append to the dump file. +date=`date +%Y-%m-%d_%H_%M_%S` + +# Set the final path for the backup file +final_path="${db_dump_path}/dump_${date}.sql" + +# Perform the backup using pg_dump +docker compose exec database pg_dump -U oed > "$final_path" + +echo "OED database backup placed in ${final_path}" diff --git a/src/server/test/web/readingsCompareMeterQuantity.js b/src/server/test/web/readingsCompareMeterQuantity.js index 89002d46b..3b1b0fb93 100644 --- a/src/server/test/web/readingsCompareMeterQuantity.js +++ b/src/server/test/web/readingsCompareMeterQuantity.js @@ -85,7 +85,19 @@ mocha.describe('readings API', () => { expectCompareToEqualExpected(res, expected); }); - // Add C6 here + mocha.it('C6: 28 day shift end 2022-10-31 17:12:34 (partial hour) for 15 minute reading intervals and quantity units & kWh as kWh', async () => { + await prepareTest(unitDatakWh, conversionDatakWh, meterDatakWh); + const unitId = await getUnitId('kWh'); + const expected = [108269.924822581, 108889.847659507]; + const res = await chai.request(app).get(`/api/compareReadings/meters/${METER_ID}`) + .query({ + curr_start: '2022-10-09 00:00:00', + curr_end: '2022-10-31 17:12:34', + shift: 'P28D', + graphicUnitId: unitId + }); + expectCompareToEqualExpected(res, expected); + }); mocha.it('C8: 1 day shift end 2022-10-31 17:00:00 for 15 minute reading intervals and quantity units & kWh as MJ', async () => { // Use predefined unit and conversion data