summaryrefslogtreecommitdiffstats
path: root/lib_pgsql.sh
diff options
context:
space:
mode:
Diffstat (limited to 'lib_pgsql.sh')
-rw-r--r--lib_pgsql.sh60
1 files changed, 60 insertions, 0 deletions
diff --git a/lib_pgsql.sh b/lib_pgsql.sh
new file mode 100644
index 0000000..6997827
--- /dev/null
+++ b/lib_pgsql.sh
@@ -0,0 +1,60 @@
+# PostgreSQL related helper functions.
+
+# PostgreSQL tests require beakerlib:
+# https://fedorahosted.org/beakerlib/
+
+. /usr/share/beakerlib/beakerlib.sh || exit 1
+
+dtf_postgresql_check_started()
+{
+ service postgresql status &>/dev/null
+ rlAssertEquals "service postgresql should be started" $? 0
+}
+
+dtf_postgresql_check_stopped()
+{
+ service postgresql status &>/dev/null
+ rlAssertEquals "service postgresql should be stopped" $? 3
+}
+
+dtf_postgresql_phase_cleanup()
+{
+ rlPhaseStartCleanup
+ rlServiceStop postgresql
+ dtf_postgresql_check_stopped
+ rlRun "rm -r /var/lib/pgsql/data"
+ rlPhaseEnd
+}
+
+dtf_postgresql_checkphase()
+{
+ rlPhaseStart FAIL "Check"
+ rlAssertRpm postgresql-server
+
+ dtf_postgresql_check_stopped
+
+ rlAssertNotExists "/var/lib/pgsql/data"
+
+ rlAssert0 "run under root user" `id -u`
+
+ rlGetPhaseState
+ test $? -gt 0 \
+ && echo >&2 "Check phase failed." && exit 1
+ rlPhaseEnd
+}
+
+dtf_postgresql_test_init()
+{
+ rlJournalStart
+ dtf_postgresql_checkphase
+ rlPhaseStartTest
+}
+
+dtf_postgresql_test_finish()
+{
+ rlPhaseEnd
+ dtf_generate_results_tarball "$BEAKERLIB_DIR"
+ dtf_postgresql_phase_cleanup
+ rlJournalEnd
+ rlGetTestState || return 1
+}