File: database.go

package info (click to toggle)
icingadb 1.5.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 59,960 kB
  • sloc: ansic: 170,157; asm: 7,097; sql: 4,098; sh: 1,614; cpp: 1,132; makefile: 438; xml: 160
file content (28 lines) | stat: -rw-r--r-- 578 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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
}