summaryrefslogtreecommitdiffstats
path: root/tests/internal/utils/database.go
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 12:36:04 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 12:36:04 +0000
commitb09c6d56832eb1718c07d74abf3bc6ae3fe4e030 (patch)
treed2caec2610d4ea887803ec9e9c3cd77136c448ba /tests/internal/utils/database.go
parentInitial commit. (diff)
downloadicingadb-upstream.tar.xz
icingadb-upstream.zip
Adding upstream version 1.1.0.upstream/1.1.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/internal/utils/database.go')
-rw-r--r--tests/internal/utils/database.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/internal/utils/database.go b/tests/internal/utils/database.go
new file mode 100644
index 0000000..c32566b
--- /dev/null
+++ b/tests/internal/utils/database.go
@@ -0,0 +1,28 @@
+package utils
+
+import (
+ "fmt"
+ "github.com/icinga/icinga-testing"
+ "github.com/icinga/icinga-testing/services"
+ "os"
+ "strings"
+ "testing"
+)
+
+func GetDatabase(it *icingatesting.IT, t testing.TB) services.RelationalDatabase {
+ k := "ICINGADB_TESTS_DATABASE_TYPE"
+ v := strings.ToLower(os.Getenv(k))
+
+ var rdb services.RelationalDatabase
+
+ switch v {
+ case "mysql":
+ rdb = it.MysqlDatabaseT(t)
+ case "pgsql":
+ rdb = it.PostgresqlDatabaseT(t)
+ default:
+ panic(fmt.Sprintf(`unknown database in %s environment variable: %q (must be "mysql" or "pgsql")`, k, v))
+ }
+
+ return rdb
+}