MCPcopy
hub / github.com/opentofu/opentofu / TestBackendConfig

Function TestBackendConfig

internal/backend/remote-state/pg/backend_test.go:54–371  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

52}
53
54func TestBackendConfig(t *testing.T) {
55 connectionURI := testACC(t)
56 connStr := os.Getenv("DATABASE_URL")
57
58 user := connectionURI.User.Username()
59 password, _ := connectionURI.User.Password()
60 databaseName := connectionURI.Path[1:]
61
62 connectionURIObfuscated := connectionURI
63 connectionURIObfuscated.User = nil
64
65 testCases := []struct {
66 Name string
67 EnvVars map[string]string
68 Config map[string]interface{}
69 Setup func(db *sql.DB) error
70 Teardown func(t *testing.T, db *sql.DB)
71 ExpectConfigurationError string
72 ExpectConnectionError string
73 }{
74 {
75 Name: "valid-config",
76 Config: map[string]interface{}{
77 "conn_str": connStr,
78 "schema_name": fmt.Sprintf("terraform_%s", t.Name()),
79 },
80 },
81 {
82 Name: "valid-config-with-table-name",
83 Config: map[string]interface{}{
84 "conn_str": connStr,
85 "schema_name": fmt.Sprintf("terraform_%s", t.Name()),
86 "table_name": fmt.Sprintf("terraform_%s", t.Name()),
87 },
88 },
89 {
90 Name: "valid-config-with-index-name",
91 Config: map[string]interface{}{
92 "conn_str": connStr,
93 "schema_name": fmt.Sprintf("terraform_%s", t.Name()),
94 "index_name": fmt.Sprintf("terraform_%s", t.Name()),
95 },
96 },
97 {
98 Name: "valid-config-with-table-name-and-index-name",
99 Config: map[string]interface{}{
100 "conn_str": connStr,
101 "schema_name": fmt.Sprintf("terraform_%s", t.Name()),
102 "index_name": fmt.Sprintf("terraform_%s", t.Name()),
103 "table_name": fmt.Sprintf("terraform_%s", t.Name()),
104 },
105 },
106 {
107 Name: "valid-config-creates-only-index",
108 Setup: func(db *sql.DB) error {
109 schemaName := fmt.Sprintf("terraform_%s", t.Name())
110 tableName := fmt.Sprintf("terraform_table_%s", t.Name())
111 query := fmt.Sprintf(`CREATE SCHEMA IF NOT EXISTS %s`, pq.QuoteIdentifier(schemaName))

Callers

nothing calls this directly

Calls 15

AppendMethod · 0.95
HasErrorsMethod · 0.95
ErrWithWarningsMethod · 0.95
TestWrapConfigFunction · 0.92
StateEncryptionDisabledFunction · 0.92
TestBackendStatesFunction · 0.92
dropSchemaFunction · 0.85
DecoderSpecMethod · 0.80
InConfigBodyMethod · 0.80
testACCFunction · 0.70
NewFunction · 0.70
NameMethod · 0.65

Tested by

no test coverage detected