Properly make the replication tests skippable on 9.5 and below

pull/224/head
Kris Wehner 2017-01-05 10:25:48 -08:00
parent 883e604d0e
commit 69852595d8
3 changed files with 18 additions and 6 deletions

View File

@ -14,6 +14,7 @@ var plainPasswordConnConfig *pgx.ConnConfig = nil
var invalidUserConnConfig *pgx.ConnConfig = nil
var tlsConnConfig *pgx.ConnConfig = nil
var customDialerConnConfig *pgx.ConnConfig = nil
var replicationConfig *pgx.ConnConfig = nil
// var tcpConnConfig *pgx.ConnConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "pgx_md5", Password: "secret", Database: "pgx_test"}
// var unixSocketConnConfig *pgx.ConnConfig = &pgx.ConnConfig{Host: "/private/tmp", User: "pgx_none", Database: "pgx_test"}

View File

@ -3,6 +3,8 @@ package pgx_test
import (
"crypto/tls"
"github.com/jackc/pgx"
"os"
"strconv"
)
var defaultConnConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "pgx_md5", Password: "secret", Database: "pgx_test"}
@ -13,3 +15,11 @@ var plainPasswordConnConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "pgx_pw",
var invalidUserConnConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "invalid", Database: "pgx_test"}
var tlsConnConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "pgx_ssl", Password: "secret", Database: "pgx_test", TLSConfig: &tls.Config{InsecureSkipVerify: true}}
var customDialerConnConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "pgx_md5", Password: "secret", Database: "pgx_test"}
var pgVersion = os.getenv("PGVERSION")
var replicationConfig *pgx.ConnConfig = nil
if len(pgVersion) > 0 {
version, err := strconv.ParseFloat(pgVersion)
if err == nil && version >= 9.6 {
replicationConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "pgx_replication", Password: "secret", Database: "pgx_test"}
}
}

View File

@ -41,19 +41,20 @@ func TestSimpleReplicationConnection(t *testing.T) {
var err error
var replicationUserConfig pgx.ConnConfig
var replicationConnConfig pgx.ConnConfig
replicationUserConfig = *defaultConnConfig
replicationUserConfig.User = "pgx_replication"
// /.s.PGSQL.5432
if replicationConnConfig == nil {
t.Skip("Skipping due to undefined replicationConnConfig")
}
replicationUserConfig = *replicationConnConfig
conn := mustConnect(t, replicationUserConfig)
defer closeConn(t, conn)
replicationConnConfig = *defaultConnConfig
replicationConnConfig.User = "pgx_replication"
replicationConnConfig.RuntimeParams = make(map[string]string)
replicationConnConfig.RuntimeParams["replication"] = "database"
replicationConn := mustConnect(t, replicationConnConfig)
replicationConn := mustConnect(t, *replicationConnConfig)
defer closeConn(t, replicationConn)
_, err = replicationConn.Exec("CREATE_REPLICATION_SLOT pgx_test LOGICAL test_decoding")