mirror of https://github.com/dexidp/dex.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
745 B
38 lines
745 B
package repo |
|
|
|
import ( |
|
"os" |
|
"testing" |
|
|
|
"github.com/go-gorp/gorp" |
|
|
|
"github.com/coreos/dex/db" |
|
) |
|
|
|
func connect(t *testing.T) *gorp.DbMap { |
|
dsn := os.Getenv("DEX_TEST_DSN") |
|
if dsn == "" { |
|
t.Fatal("DEX_TEST_DSN environment variable not set") |
|
} |
|
c, err := db.NewConnection(db.Config{DSN: dsn}) |
|
if err != nil { |
|
t.Fatalf("Unable to connect to database: %v", err) |
|
} |
|
if err = c.DropTablesIfExists(); err != nil { |
|
t.Fatalf("Unable to drop database tables: %v", err) |
|
} |
|
|
|
if err = db.DropMigrationsTable(c); err != nil { |
|
t.Fatalf("Unable to drop migration table: %v", err) |
|
} |
|
|
|
n, err := db.MigrateToLatest(c) |
|
if err != nil { |
|
t.Fatalf("Unable to migrate: %v", err) |
|
} |
|
if n == 0 { |
|
t.Fatalf("No migrations performed") |
|
} |
|
|
|
return c |
|
}
|
|
|