Skip to content

Commit

Permalink
Using Protov5ProviderFactories in tests for compatibility with TF >= …
Browse files Browse the repository at this point in the history
…0.12 (#177)
  • Loading branch information
bendbennett committed May 6, 2022
1 parent e95a34c commit 97ed28f
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 53 deletions.
21 changes: 17 additions & 4 deletions internal/provider_fm/provider_test.go
Original file line number Diff line number Diff line change
@@ -1,17 +1,30 @@
package provider_fm

import (
"context"
"github.com/hashicorp/terraform-plugin-framework/providerserver"
"github.com/hashicorp/terraform-plugin-go/tfprotov5"
"github.com/hashicorp/terraform-plugin-go/tfprotov6"
"github.com/hashicorp/terraform-plugin-mux/tf6to5server"
"log"
"testing"
)

func testAccPreCheck(t *testing.T) {
}

//nolint:unparam
var testAccProtoV6ProviderFactories = map[string]func() (tfprotov6.ProviderServer, error){
"random": func() (tfprotov6.ProviderServer, error) {
return providerserver.NewProtocol6(NewFramework())(), nil
},
func testAccProtoV5ProviderFactories() map[string]func() (tfprotov5.ProviderServer, error) {
downgradedFrameworkProvider, err := tf6to5server.DowngradeServer(context.Background(), func() tfprotov6.ProviderServer {
return providerserver.NewProtocol6(NewFramework())()
})
if err != nil {
log.Fatal(err)
}

return map[string]func() (tfprotov5.ProviderServer, error){
"random": func() (tfprotov5.ProviderServer, error) {
return downgradedFrameworkProvider, nil
},
}
}
4 changes: 2 additions & 2 deletions internal/provider_fm/resource_id_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ type idLens struct {
func TestAccResourceID(t *testing.T) {
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testAccResourceIDConfig,
Expand All @@ -41,7 +41,7 @@ func TestAccResourceID(t *testing.T) {
func TestAccResourceID_importWithPrefix(t *testing.T) {
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testAccResourceIDConfigWithPrefix,
Expand Down
34 changes: 4 additions & 30 deletions internal/provider_fm/resource_integer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ func TestAccResourceIntegerBasic(t *testing.T) {
t.Parallel()
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testRandomIntegerBasic,
Expand All @@ -34,7 +34,7 @@ func TestAccResourceIntegerUpdate(t *testing.T) {
t.Parallel()
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testRandomIntegerBasic,
Expand All @@ -56,7 +56,7 @@ func TestAccResourceIntegerSeedless_to_seeded(t *testing.T) {
t.Parallel()
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testRandomIntegerSeedless,
Expand All @@ -78,7 +78,7 @@ func TestAccResourceIntegerSeeded_to_seedless(t *testing.T) {
t.Parallel()
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testRandomIntegerBasic,
Expand All @@ -96,25 +96,6 @@ func TestAccResourceIntegerSeeded_to_seedless(t *testing.T) {
})
}

func TestAccResourceIntegerBig(t *testing.T) {
t.Parallel()
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
Steps: []resource.TestStep{
{
Config: testRandomIntegerBig,
},
{
ResourceName: "random_integer.integer_1",
ImportState: true,
ImportStateId: "7227701560655103598,7227701560655103597,7227701560655103598,12345",
ImportStateVerify: true,
},
},
})
}

func testAccResourceIntegerBasic(id string) resource.TestCheckFunc {
return func(s *terraform.State) error {
rs, ok := s.RootModule().Resources[id]
Expand Down Expand Up @@ -205,11 +186,4 @@ resource "random_integer" "integer_1" {
max = 3
}
`

testRandomIntegerBig = `
resource "random_integer" "integer_1" {
max = 7227701560655103598
min = 7227701560655103597
seed = 12345
}`
)
6 changes: 3 additions & 3 deletions internal/provider_fm/resource_pasword_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
func TestAccResourcePasswordBasic(t *testing.T) {
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testAccResourcePasswordBasic,
Expand Down Expand Up @@ -50,7 +50,7 @@ func TestAccResourcePasswordBasic(t *testing.T) {
func TestAccResourcePasswordOverride(t *testing.T) {
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testAccResourcePasswordOverride,
Expand All @@ -68,7 +68,7 @@ func TestAccResourcePasswordOverride(t *testing.T) {
func TestAccResourcePasswordMin(t *testing.T) {
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testAccResourcePasswordMin,
Expand Down
8 changes: 4 additions & 4 deletions internal/provider_fm/resource_pet_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import (
func TestAccResourcePet_basic(t *testing.T) {
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testAccResourcePet_basic,
Expand All @@ -28,7 +28,7 @@ func TestAccResourcePet_basic(t *testing.T) {
func TestAccResourcePet_length(t *testing.T) {
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testAccResourcePet_length,
Expand All @@ -43,7 +43,7 @@ func TestAccResourcePet_length(t *testing.T) {
func TestAccResourcePet_prefix(t *testing.T) {
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testAccResourcePet_prefix,
Expand All @@ -60,7 +60,7 @@ func TestAccResourcePet_prefix(t *testing.T) {
func TestAccResourcePet_separator(t *testing.T) {
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testAccResourcePet_separator,
Expand Down
10 changes: 5 additions & 5 deletions internal/provider_fm/resource_shuffle_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import (
func TestAccResourceShuffleDefault(t *testing.T) {
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testAccResourceShuffleConfigDefault,
Expand All @@ -39,7 +39,7 @@ func TestAccResourceShuffleDefault(t *testing.T) {
func TestAccResourceShuffleShorter(t *testing.T) {
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testAccResourceShuffleConfigShorter,
Expand All @@ -57,7 +57,7 @@ func TestAccResourceShuffleShorter(t *testing.T) {
func TestAccResourceShuffleLonger(t *testing.T) {
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testAccResourceShuffleConfigLonger,
Expand All @@ -75,7 +75,7 @@ func TestAccResourceShuffleLonger(t *testing.T) {
func TestAccResourceShuffleEmpty(t *testing.T) {
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testAccResourceShuffleConfigEmpty,
Expand All @@ -93,7 +93,7 @@ func TestAccResourceShuffleEmpty(t *testing.T) {
func TestAccResourceShuffleOne(t *testing.T) {
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testAccResourceShuffleConfigOne,
Expand Down
8 changes: 4 additions & 4 deletions internal/provider_fm/resource_string_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ type customLens struct {
func TestAccResourceString(t *testing.T) {
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testAccResourceStringBasic,
Expand All @@ -38,7 +38,7 @@ func TestAccResourceString(t *testing.T) {
func TestAccResourceStringOverride(t *testing.T) {
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testAccResourceStringOverride,
Expand All @@ -56,7 +56,7 @@ func TestAccResourceStringOverride(t *testing.T) {
func TestAccResourceStringMin(t *testing.T) {
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testAccResourceStringMin,
Expand All @@ -77,7 +77,7 @@ func TestAccResourceStringMin(t *testing.T) {
func TestAccResourceStringErrors(t *testing.T) {
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testAccResourceStringInvalidConfig,
Expand Down
2 changes: 1 addition & 1 deletion internal/provider_fm/resource_uuid_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (
func TestAccResourceUUID(t *testing.T) {
resource.UnitTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
ProtoV5ProviderFactories: testAccProtoV5ProviderFactories(),
Steps: []resource.TestStep{
{
Config: testAccResourceUUIDConfig,
Expand Down

0 comments on commit 97ed28f

Please sign in to comment.