terraform/backend/remote-state/pg/client_test.go

66 lines
1.5 KiB
Go
Raw Normal View History

2018-10-10 23:42:57 +02:00
package pg
import (
"database/sql"
"fmt"
"testing"
"github.com/hashicorp/terraform/backend"
"github.com/hashicorp/terraform/state/remote"
)
func TestRemoteClient_impl(t *testing.T) {
var _ remote.Client = new(RemoteClient)
var _ remote.ClientLocker = new(RemoteClient)
}
func TestRemoteClient(t *testing.T) {
connStr := getDatabaseUrl()
schemaName := fmt.Sprintf("terraform_%s", t.Name())
dbCleaner, err := sql.Open("postgres", connStr)
if err != nil {
t.Fatal(err)
}
defer dbCleaner.Query(fmt.Sprintf("DROP SCHEMA IF EXISTS %s CASCADE", schemaName))
2018-11-14 02:09:43 +01:00
config := backend.TestWrapConfig(map[string]interface{}{
2018-10-10 23:42:57 +02:00
"conn_str": connStr,
"schema_name": schemaName,
2018-11-14 02:09:43 +01:00
})
2018-10-10 23:42:57 +02:00
b := backend.TestBackendConfig(t, New(), config).(*Backend)
if b == nil {
t.Fatal("Backend could not be configured")
}
2018-11-14 02:09:43 +01:00
s, err := b.StateMgr(backend.DefaultStateName)
2018-10-10 23:42:57 +02:00
if err != nil {
t.Fatal(err)
}
remote.TestClient(t, s.(*remote.State).Client)
}
func TestRemoteLocks(t *testing.T) {
connStr := getDatabaseUrl()
schemaName := fmt.Sprintf("terraform_%s", t.Name())
dbCleaner, err := sql.Open("postgres", connStr)
if err != nil {
t.Fatal(err)
}
defer dbCleaner.Query(fmt.Sprintf("DROP SCHEMA IF EXISTS %s CASCADE", schemaName))
2018-11-14 02:09:43 +01:00
config := backend.TestWrapConfig(map[string]interface{}{
2018-10-10 23:42:57 +02:00
"conn_str": connStr,
"schema_name": schemaName,
2018-11-14 02:09:43 +01:00
})
2018-10-10 23:42:57 +02:00
b := backend.TestBackendConfig(t, New(), config).(*Backend)
2018-11-14 02:09:43 +01:00
s, err := b.StateMgr(backend.DefaultStateName)
2018-10-10 23:42:57 +02:00
if err != nil {
t.Fatal(err)
}
remote.TestRemoteLocks(t, s.(*remote.State).Client, s.(*remote.State).Client)
}