diff --git a/clientapi/auth/storage/devices/storage_test.go b/clientapi/auth/storage/devices/storage_test.go index a139c324a..f8ab01feb 100644 --- a/clientapi/auth/storage/devices/storage_test.go +++ b/clientapi/auth/storage/devices/storage_test.go @@ -5,12 +5,36 @@ import ( "fmt" "github.com/matrix-org/dendrite/clientapi/auth/authtypes" "github.com/stretchr/testify/assert" + "os" + "strings" "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 { localPart string @@ -20,7 +44,7 @@ type deviceSpec struct { } func TestDatabase_GetDevicesByLocalpart(t *testing.T) { - db, err := NewDatabase(dataSourceName, "localhost") + db, err := NewDatabase(dataSource, "localhost") assert.Nil(t, err) 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. func createTestDevice(devSpecScheme *deviceSpec, count int) (devices []*authtypes.Device, err error) { - db, err := NewDatabase(dataSourceName, "localhost") + db, err := NewDatabase(dataSource, "localhost") if err != nil { fmt.Println(err) } diff --git a/syncapi/storage/output_room_events_table_test.go b/syncapi/storage/output_room_events_table_test.go index 372fcbccd..589e2c041 100644 --- a/syncapi/storage/output_room_events_table_test.go +++ b/syncapi/storage/output_room_events_table_test.go @@ -5,18 +5,42 @@ import ( "github.com/matrix-org/dendrite/roomserver/api" "github.com/matrix-org/gomatrixserverlib" "github.com/stretchr/testify/assert" + "os" + "strings" "testing" "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" func Test_sanityCheckOutputRoomEvents(t *testing.T) { - db, err := NewSyncServerDatabase(dataSourceName) + db, err := NewSyncServerDatabase(dataSource) assert.Nil(t, err) err = db.events.prepare(db.db) @@ -29,7 +53,7 @@ func Test_sanityCheckOutputRoomEvents(t *testing.T) { } func TestSyncServerDatabase_selectEventsWithEventIDs(t *testing.T) { - db, err := NewSyncServerDatabase(dataSourceName) + db, err := NewSyncServerDatabase(dataSource) assert.Nil(t, err) insertTestEvent(t, db) ctx := context.Background()