diff --git a/internal/provider/tag_data_source_test.go b/internal/provider/tag_data_source_test.go index 118cc846..84177355 100644 --- a/internal/provider/tag_data_source_test.go +++ b/internal/provider/tag_data_source_test.go @@ -95,3 +95,35 @@ data scalr_tag test { account_id = "%[2]s" }`, name, defaultAccount) } + +func TestAccScalrTagDataSource_UpgradeFromSDK(t *testing.T) { + tagName := acctest.RandomWithPrefix("test-tag") + + resource.Test(t, resource.TestCase{ + Steps: []resource.TestStep{ + { + ExternalProviders: map[string]resource.ExternalProvider{ + "scalr": { + Source: "registry.scalr.io/scalr/scalr", + VersionConstraint: "<=2.2.0", + }, + }, + Config: testAccScalrTagDataSourceByIDConfig(tagName), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet("data.scalr_tag.test", "id"), + resource.TestCheckResourceAttr("data.scalr_tag.test", "name", tagName), + resource.TestCheckResourceAttr("data.scalr_tag.test", "account_id", defaultAccount), + ), + }, + { + ProtoV5ProviderFactories: protoV5ProviderFactories(t), + Config: testAccScalrTagDataSourceByIDConfig(tagName), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet("data.scalr_tag.test", "id"), + resource.TestCheckResourceAttr("data.scalr_tag.test", "name", tagName), + resource.TestCheckResourceAttr("data.scalr_tag.test", "account_id", defaultAccount), + ), + }, + }, + }) +} diff --git a/internal/provider/tag_resource_test.go b/internal/provider/tag_resource_test.go index 4ea00532..ee3b30e5 100644 --- a/internal/provider/tag_resource_test.go +++ b/internal/provider/tag_resource_test.go @@ -6,6 +6,7 @@ import ( "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/plancheck" "github.com/hashicorp/terraform-plugin-testing/terraform" "github.com/scalr/go-scalr" ) @@ -144,3 +145,35 @@ func testAccCheckScalrTagDestroy(s *terraform.State) error { return nil } + +func TestAccScalrTag_UpgradeFromSDK(t *testing.T) { + tagName := acctest.RandomWithPrefix("test-tag") + + resource.Test(t, resource.TestCase{ + Steps: []resource.TestStep{ + { + ExternalProviders: map[string]resource.ExternalProvider{ + "scalr": { + Source: "registry.scalr.io/scalr/scalr", + VersionConstraint: "<=2.2.0", + }, + }, + Config: testAccScalrTagBasic(tagName), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet("scalr_tag.test", "id"), + resource.TestCheckResourceAttr("scalr_tag.test", "name", tagName), + resource.TestCheckResourceAttr("scalr_tag.test", "account_id", defaultAccount), + ), + }, + { + ProtoV5ProviderFactories: protoV5ProviderFactories(t), + Config: testAccScalrTagBasic(tagName), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + }, + }) +}