(t *testing.T)
| 52 | } |
| 53 | |
| 54 | func 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)) |
nothing calls this directly
no test coverage detected