mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-16 11:23:11 -06:00
Select db connect string according to execution environment
Signed-off-by: Maximilian Seifert <max.seifert@drglitch.net>
This commit is contained in:
parent
c5f7000361
commit
4017ff2871
|
|
@ -5,12 +5,36 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/matrix-org/dendrite/clientapi/auth/authtypes"
|
"github.com/matrix-org/dendrite/clientapi/auth/authtypes"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
const dataSourceName = "postgres://dendrite:itsasecret@postgres/dendrite_device?sslmode=disable"
|
var dataSource string
|
||||||
|
var insideCi = false
|
||||||
|
var insideDocker = false
|
||||||
|
|
||||||
//const dataSourceLocal = "postgres://dendrite:itsasecret@localhost:15432/dendrite_device?sslmode=disable"
|
func init() {
|
||||||
|
for _, val := range os.Environ() {
|
||||||
|
tokens := strings.Split(val, "=")
|
||||||
|
if tokens[0] == "CI" && tokens[1] == "true" {
|
||||||
|
insideCi = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if !insideCi {
|
||||||
|
if _, err := os.Open("/.dockerenv"); err == nil {
|
||||||
|
insideDocker = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if insideCi {
|
||||||
|
dataSource = "postgres://postgres@postgres/dendrite_device?sslmode=disable"
|
||||||
|
} else if insideDocker {
|
||||||
|
dataSource = "postgres://dendrite:itsasecret@postgres/dendrite_device?sslmode=disable"
|
||||||
|
} else {
|
||||||
|
dataSource = "postgres://dendrite:itsasecret@localhost:15432/dendrite_device?sslmode=disable"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
type deviceSpec struct {
|
type deviceSpec struct {
|
||||||
localPart string
|
localPart string
|
||||||
|
|
@ -20,7 +44,7 @@ type deviceSpec struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDatabase_GetDevicesByLocalpart(t *testing.T) {
|
func TestDatabase_GetDevicesByLocalpart(t *testing.T) {
|
||||||
db, err := NewDatabase(dataSourceName, "localhost")
|
db, err := NewDatabase(dataSource, "localhost")
|
||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
|
|
||||||
devSpec := deviceSpec{
|
devSpec := deviceSpec{
|
||||||
|
|
@ -59,7 +83,7 @@ func TestDatabase_CreateDevice(t *testing.T) {
|
||||||
|
|
||||||
// create a number of device entries in the database, using ``devSpecScheme`` as the creation pattern.
|
// create a number of device entries in the database, using ``devSpecScheme`` as the creation pattern.
|
||||||
func createTestDevice(devSpecScheme *deviceSpec, count int) (devices []*authtypes.Device, err error) {
|
func createTestDevice(devSpecScheme *deviceSpec, count int) (devices []*authtypes.Device, err error) {
|
||||||
db, err := NewDatabase(dataSourceName, "localhost")
|
db, err := NewDatabase(dataSource, "localhost")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,18 +5,42 @@ import (
|
||||||
"github.com/matrix-org/dendrite/roomserver/api"
|
"github.com/matrix-org/dendrite/roomserver/api"
|
||||||
"github.com/matrix-org/gomatrixserverlib"
|
"github.com/matrix-org/gomatrixserverlib"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
const dataSourceName = "postgres://dendrite:itsasecret@postgres/dendrite_syncapi?sslmode=disable"
|
var dataSource string
|
||||||
|
var insideCi = false
|
||||||
|
var insideDocker = false
|
||||||
|
|
||||||
//const dataSourceName = "postgres://dendrite:itsasecret@localhost:15432/dendrite_syncapi?sslmode=disable"
|
func init() {
|
||||||
|
for _, val := range os.Environ() {
|
||||||
|
tokens := strings.Split(val, "=")
|
||||||
|
if tokens[0] == "CI" && tokens[1] == "true" {
|
||||||
|
insideCi = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if !insideCi {
|
||||||
|
if _, err := os.Open("/.dockerenv"); err == nil {
|
||||||
|
insideDocker = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if insideCi {
|
||||||
|
dataSource = "postgres://postgres@postgres/dendrite_syncapi?sslmode=disable"
|
||||||
|
} else if insideDocker {
|
||||||
|
dataSource = "postgres://dendrite:itsasecret@postgres/dendrite_syncapi?sslmode=disable"
|
||||||
|
} else {
|
||||||
|
dataSource = "postgres://dendrite:itsasecret@localhost:15432/dendrite_syncapi?sslmode=disable"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const testEventId = "test-event-id"
|
const testEventId = "test-event-id"
|
||||||
|
|
||||||
func Test_sanityCheckOutputRoomEvents(t *testing.T) {
|
func Test_sanityCheckOutputRoomEvents(t *testing.T) {
|
||||||
db, err := NewSyncServerDatabase(dataSourceName)
|
db, err := NewSyncServerDatabase(dataSource)
|
||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
|
|
||||||
err = db.events.prepare(db.db)
|
err = db.events.prepare(db.db)
|
||||||
|
|
@ -29,7 +53,7 @@ func Test_sanityCheckOutputRoomEvents(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSyncServerDatabase_selectEventsWithEventIDs(t *testing.T) {
|
func TestSyncServerDatabase_selectEventsWithEventIDs(t *testing.T) {
|
||||||
db, err := NewSyncServerDatabase(dataSourceName)
|
db, err := NewSyncServerDatabase(dataSource)
|
||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
insertTestEvent(t, db)
|
insertTestEvent(t, db)
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue