Skip to content

Commit c2374dd

Browse files
committed
Add conformance tests
1 parent 7964139 commit c2374dd

1 file changed

Lines changed: 87 additions & 42 deletions

File tree

pkg/framework/objects/databricks_credential/resource_acceptance_test.go

Lines changed: 87 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,49 @@ import (
66
"strings"
77
"testing"
88

9+
"github.com/dbt-labs/terraform-provider-dbtcloud/pkg/framework/acctest_config"
910
"github.com/dbt-labs/terraform-provider-dbtcloud/pkg/framework/acctest_helper"
1011
"github.com/dbt-labs/terraform-provider-dbtcloud/pkg/helper"
1112
"github.com/hashicorp/terraform-plugin-testing/helper/acctest"
1213
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
1314
"github.com/hashicorp/terraform-plugin-testing/terraform"
1415
)
1516

17+
18+
func TestConformanceBasicConfig(t *testing.T) {
19+
projectName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha))
20+
targetName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha))
21+
token := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha))
22+
23+
resource.Test(t, resource.TestCase{
24+
PreCheck: func() { acctest_helper.TestAccPreCheck(t) },
25+
CheckDestroy: testAccCheckDbtCloudDatabricksCredentialDestroy,
26+
Steps: []resource.TestStep{
27+
acctest_helper.MakeExternalProviderTestStep(getBasicConfigTestStep(projectName, targetName, token), acctest_config.LAST_VERSION_BEFORE_FRAMEWORK_MIGRATION),
28+
acctest_helper.MakeCurrentProviderNoOpTestStep(getBasicConfigTestStep(projectName, targetName, token)),
29+
},
30+
})
31+
}
32+
33+
func TestConformanceModifyConfig(t *testing.T) {
34+
projectName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha))
35+
targetName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha))
36+
targetName2 := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha))
37+
token := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha))
38+
token2 := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha))
39+
40+
// MODIFY: test that running commands in SDKv2 and then the same commands in Framework generates a NoOp plan
41+
resource.Test(t, resource.TestCase{
42+
PreCheck: func() { acctest_helper.TestAccPreCheck(t) },
43+
CheckDestroy: testAccCheckDbtCloudDatabricksCredentialDestroy,
44+
Steps: []resource.TestStep{
45+
acctest_helper.MakeExternalProviderTestStep(getModifyConfigTestStep(projectName, targetName, targetName2, token, token2), acctest_config.LAST_VERSION_BEFORE_FRAMEWORK_MIGRATION),
46+
acctest_helper.MakeCurrentProviderNoOpTestStep(getModifyConfigTestStep(projectName, targetName, targetName2, token, token2)),
47+
},
48+
})
49+
}
50+
51+
1652
func TestAccDbtCloudDatabricksCredentialResourceLegacy(t *testing.T) {
1753

1854
projectName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha))
@@ -21,53 +57,16 @@ func TestAccDbtCloudDatabricksCredentialResourceLegacy(t *testing.T) {
2157
token := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha))
2258
token2 := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha))
2359

60+
var basicConfigTestStep = getBasicConfigTestStep(projectName, targetName, token)
61+
var modifyConfigTestStep = getModifyConfigTestStep(projectName, targetName, targetName2, token, token2)
62+
2463
resource.Test(t, resource.TestCase{
2564
PreCheck: func() { acctest_helper.TestAccPreCheck(t) },
2665
ProtoV6ProviderFactories: acctest_helper.TestAccProtoV6ProviderFactories,
2766
CheckDestroy: testAccCheckDbtCloudDatabricksCredentialDestroy,
2867
Steps: []resource.TestStep{
29-
{
30-
Config: testAccDbtCloudDatabricksCredentialResourceBasicConfigLegacy(
31-
projectName,
32-
targetName,
33-
token,
34-
),
35-
Check: resource.ComposeTestCheckFunc(
36-
testAccCheckDbtCloudDatabricksCredentialExists(
37-
"dbtcloud_databricks_credential.test_credential",
38-
),
39-
resource.TestCheckResourceAttr(
40-
"dbtcloud_databricks_credential.test_credential",
41-
"target_name",
42-
targetName,
43-
),
44-
),
45-
},
46-
// RENAME
47-
// MODIFY
48-
{
49-
Config: testAccDbtCloudDatabricksCredentialResourceBasicConfigLegacy(
50-
projectName,
51-
targetName2,
52-
token2,
53-
),
54-
Check: resource.ComposeTestCheckFunc(
55-
testAccCheckDbtCloudDatabricksCredentialExists(
56-
"dbtcloud_databricks_credential.test_credential",
57-
),
58-
resource.TestCheckResourceAttr(
59-
"dbtcloud_databricks_credential.test_credential",
60-
"target_name",
61-
targetName2,
62-
),
63-
resource.TestCheckResourceAttr(
64-
"dbtcloud_databricks_credential.test_credential",
65-
"token",
66-
token2,
67-
),
68-
),
69-
},
70-
// IMPORT
68+
basicConfigTestStep,
69+
modifyConfigTestStep,
7170
{
7271
ResourceName: "dbtcloud_databricks_credential.test_credential",
7372
ImportState: true,
@@ -270,3 +269,49 @@ func testAccCheckDbtCloudDatabricksCredentialDestroy(s *terraform.State) error {
270269

271270
return nil
272271
}
272+
273+
274+
func getBasicConfigTestStep(projectName, targetName, token string) resource.TestStep {
275+
return resource.TestStep{
276+
Config: testAccDbtCloudDatabricksCredentialResourceBasicConfigLegacy(
277+
projectName,
278+
targetName,
279+
token,
280+
),
281+
Check: resource.ComposeTestCheckFunc(
282+
testAccCheckDbtCloudDatabricksCredentialExists(
283+
"dbtcloud_databricks_credential.test_credential",
284+
),
285+
resource.TestCheckResourceAttr(
286+
"dbtcloud_databricks_credential.test_credential",
287+
"target_name",
288+
targetName,
289+
),
290+
),
291+
}
292+
}
293+
294+
func getModifyConfigTestStep(projectName, targetName, targetName2, token, token2 string) resource.TestStep {
295+
return resource.TestStep{
296+
Config: testAccDbtCloudDatabricksCredentialResourceBasicConfigLegacy(
297+
projectName,
298+
targetName2,
299+
token2,
300+
),
301+
Check: resource.ComposeTestCheckFunc(
302+
testAccCheckDbtCloudDatabricksCredentialExists(
303+
"dbtcloud_databricks_credential.test_credential",
304+
),
305+
resource.TestCheckResourceAttr(
306+
"dbtcloud_databricks_credential.test_credential",
307+
"target_name",
308+
targetName2,
309+
),
310+
resource.TestCheckResourceAttr(
311+
"dbtcloud_databricks_credential.test_credential",
312+
"token",
313+
token2,
314+
),
315+
),
316+
}
317+
}

0 commit comments

Comments
 (0)