Fix ent-based postgres storage tests
Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>
This commit is contained in:
parent
19884d92ac
commit
49adc4e5bb
11
.github/workflows/ci.yaml
vendored
11
.github/workflows/ci.yaml
vendored
@ -20,6 +20,12 @@ jobs:
|
|||||||
- 5432
|
- 5432
|
||||||
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
||||||
|
|
||||||
|
postgres-ent:
|
||||||
|
image: postgres:10.8
|
||||||
|
ports:
|
||||||
|
- 5432
|
||||||
|
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
||||||
|
|
||||||
mysql:
|
mysql:
|
||||||
image: mysql:5.7
|
image: mysql:5.7
|
||||||
env:
|
env:
|
||||||
@ -70,6 +76,11 @@ jobs:
|
|||||||
DEX_POSTGRES_PASSWORD: postgres
|
DEX_POSTGRES_PASSWORD: postgres
|
||||||
DEX_POSTGRES_HOST: localhost
|
DEX_POSTGRES_HOST: localhost
|
||||||
DEX_POSTGRES_PORT: ${{ job.services.postgres.ports[5432] }}
|
DEX_POSTGRES_PORT: ${{ job.services.postgres.ports[5432] }}
|
||||||
|
DEX_POSTGRES_ENT_DATABASE: postgres
|
||||||
|
DEX_POSTGRES_ENT_USER: postgres
|
||||||
|
DEX_POSTGRES_ENT_PASSWORD: postgres
|
||||||
|
DEX_POSTGRES_ENT_HOST: localhost
|
||||||
|
DEX_POSTGRES_ENT_PORT: ${{ job.services.postgres-ent.ports[5432] }}
|
||||||
DEX_ETCD_ENDPOINTS: http://localhost:${{ job.services.etcd.ports[2379] }}
|
DEX_ETCD_ENDPOINTS: http://localhost:${{ job.services.etcd.ports[2379] }}
|
||||||
DEX_LDAP_HOST: localhost
|
DEX_LDAP_HOST: localhost
|
||||||
DEX_LDAP_PORT: 389
|
DEX_LDAP_PORT: 389
|
||||||
|
@ -11,10 +11,11 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
entSQL "entgo.io/ent/dialect/sql"
|
||||||
|
|
||||||
// Register postgres driver.
|
// Register postgres driver.
|
||||||
_ "github.com/lib/pq"
|
_ "github.com/lib/pq"
|
||||||
|
|
||||||
entSQL "entgo.io/ent/dialect/sql"
|
|
||||||
"github.com/dexidp/dex/pkg/log"
|
"github.com/dexidp/dex/pkg/log"
|
||||||
"github.com/dexidp/dex/storage"
|
"github.com/dexidp/dex/storage"
|
||||||
"github.com/dexidp/dex/storage/ent/client"
|
"github.com/dexidp/dex/storage/ent/client"
|
||||||
|
@ -12,6 +12,14 @@ import (
|
|||||||
"github.com/dexidp/dex/storage/conformance"
|
"github.com/dexidp/dex/storage/conformance"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
PostgresEntHostEnv = "DEX_POSTGRES_ENT_HOST"
|
||||||
|
PostgresEntPortEnv = "DEX_POSTGRES_ENT_PORT"
|
||||||
|
PostgresEntDatabaseEnv = "DEX_POSTGRES_ENT_DATABASE"
|
||||||
|
PostgresEntUserEnv = "DEX_POSTGRES_ENT_USER"
|
||||||
|
PostgresEntPasswordEnv = "DEX_POSTGRES_ENT_PASSWORD"
|
||||||
|
)
|
||||||
|
|
||||||
func getenv(key, defaultVal string) string {
|
func getenv(key, defaultVal string) string {
|
||||||
if val := os.Getenv(key); val != "" {
|
if val := os.Getenv(key); val != "" {
|
||||||
return val
|
return val
|
||||||
@ -22,9 +30,9 @@ func getenv(key, defaultVal string) string {
|
|||||||
func postgresTestConfig(host string, port uint64) *Postgres {
|
func postgresTestConfig(host string, port uint64) *Postgres {
|
||||||
return &Postgres{
|
return &Postgres{
|
||||||
NetworkDB: NetworkDB{
|
NetworkDB: NetworkDB{
|
||||||
Database: getenv("DEX_POSTGRES_DATABASE", "postgres"),
|
Database: getenv(PostgresEntDatabaseEnv, "postgres"),
|
||||||
User: getenv("DEX_POSTGRES_USER", "postgres"),
|
User: getenv(PostgresEntUserEnv, "postgres"),
|
||||||
Password: getenv("DEX_POSTGRES_PASSWORD", "postgres"),
|
Password: getenv(PostgresEntPasswordEnv, "postgres"),
|
||||||
Host: host,
|
Host: host,
|
||||||
Port: uint16(port),
|
Port: uint16(port),
|
||||||
},
|
},
|
||||||
@ -50,13 +58,13 @@ func newPostgresStorage(host string, port uint64) storage.Storage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestPostgres(t *testing.T) {
|
func TestPostgres(t *testing.T) {
|
||||||
host := os.Getenv("DEX_POSTGRES_HOST")
|
host := os.Getenv(PostgresEntHostEnv)
|
||||||
if host == "" {
|
if host == "" {
|
||||||
t.Skipf("test environment variable DEX_POSTGRES_HOST not set, skipping")
|
t.Skipf("test environment variable %s not set, skipping", PostgresEntHostEnv)
|
||||||
}
|
}
|
||||||
|
|
||||||
port := uint64(5432)
|
port := uint64(5432)
|
||||||
if rawPort := os.Getenv("DEX_POSTGRES_PORT"); rawPort != "" {
|
if rawPort := os.Getenv(PostgresEntPortEnv); rawPort != "" {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
port, err = strconv.ParseUint(rawPort, 10, 32)
|
port, err = strconv.ParseUint(rawPort, 10, 32)
|
||||||
@ -138,13 +146,13 @@ func TestPostgresDSN(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestPostgresDriver(t *testing.T) {
|
func TestPostgresDriver(t *testing.T) {
|
||||||
host := os.Getenv("DEX_POSTGRES_HOST")
|
host := os.Getenv(PostgresEntHostEnv)
|
||||||
if host == "" {
|
if host == "" {
|
||||||
t.Skipf("test environment variable DEX_POSTGRES_HOST not set, skipping")
|
t.Skipf("test environment variable %s not set, skipping", PostgresEntHostEnv)
|
||||||
}
|
}
|
||||||
|
|
||||||
port := uint64(5432)
|
port := uint64(5432)
|
||||||
if rawPort := os.Getenv("DEX_POSTGRES_PORT"); rawPort != "" {
|
if rawPort := os.Getenv(PostgresEntPortEnv); rawPort != "" {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
port, err = strconv.ParseUint(rawPort, 10, 32)
|
port, err = strconv.ParseUint(rawPort, 10, 32)
|
||||||
|
Reference in New Issue
Block a user