diff --git a/go.mod b/go.mod index 942f93e..0cade81 100644 --- a/go.mod +++ b/go.mod @@ -3,6 +3,7 @@ module github.com/bschaatsbergen/terraform-provider-assert go 1.21 require ( + github.com/YakDriver/regexache v0.23.0 github.com/hashicorp/copywrite v0.18.0 github.com/hashicorp/go-version v1.6.0 github.com/hashicorp/terraform-plugin-docs v0.18.0 diff --git a/go.sum b/go.sum index a3ae290..c0fd814 100644 --- a/go.sum +++ b/go.sum @@ -23,6 +23,8 @@ github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDe github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8/go.mod h1:I0gYDMZ6Z5GRU7l58bNFSkPTFN6Yl12dsUlAZ8xy98g= github.com/ProtonMail/go-crypto v1.1.0-alpha.0 h1:nHGfwXmFvJrSR9xu8qL7BkO4DqTHXE9N5vPhgY2I+j0= github.com/ProtonMail/go-crypto v1.1.0-alpha.0/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= +github.com/YakDriver/regexache v0.23.0 h1:kv3j4XKhbx/vqUilSBgizXDUXHvvH1KdYekdmGwz4C4= +github.com/YakDriver/regexache v0.23.0/go.mod h1:K4BZ3MYKAqSFbYWqmbsG+OzYUDyJjnMEr27DJEsVG3U= github.com/agext/levenshtein v1.2.2 h1:0S/Yg6LYmFJ5stwQeRp6EeOcCbj7xiqQSdNelsXvaqE= github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= diff --git a/internal/provider/between_function_test.go b/internal/provider/between_function_test.go index 12a29f5..e8ae2c3 100644 --- a/internal/provider/between_function_test.go +++ b/internal/provider/between_function_test.go @@ -11,10 +11,11 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" ) -func TestBetweenFunction_basic(t *testing.T) { +func TestBetweenFunction(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -32,10 +33,11 @@ func TestBetweenFunction_basic(t *testing.T) { }) } -func TestBetweenFunction_fail(t *testing.T) { +func TestBetweenFunction_errorCases(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ diff --git a/internal/provider/const.go b/internal/provider/const.go new file mode 100644 index 0000000..8f29157 --- /dev/null +++ b/internal/provider/const.go @@ -0,0 +1,9 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package provider + +const ( + // MinimalRequiredTerraformVersion is the minimal required Terraform version for this provider. + MinimalRequiredTerraformVersion = "1.8.0-beta1" +) diff --git a/internal/provider/contains_function_test.go b/internal/provider/contains_function_test.go index 4fdcf2a..3b694fe 100644 --- a/internal/provider/contains_function_test.go +++ b/internal/provider/contains_function_test.go @@ -11,10 +11,11 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" ) -func TestContainsFunction_basic(t *testing.T) { +func TestContainsFunction(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -32,10 +33,11 @@ func TestContainsFunction_basic(t *testing.T) { }) } -func TestContainsFunction_fail(t *testing.T) { +func TestContainsFunction_errorCases(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ diff --git a/internal/provider/equal_function_test.go b/internal/provider/equal_function_test.go index b93fba5..650b76b 100644 --- a/internal/provider/equal_function_test.go +++ b/internal/provider/equal_function_test.go @@ -11,10 +11,11 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" ) -func TestEqualFunction_basic(t *testing.T) { +func TestEqualFunction(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -33,9 +34,10 @@ func TestEqualFunction_basic(t *testing.T) { } func TestEqualFunction_float(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -53,10 +55,11 @@ func TestEqualFunction_float(t *testing.T) { }) } -func TestEqualFunction_fail(t *testing.T) { +func TestEqualFunction_errorCases(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -75,9 +78,10 @@ func TestEqualFunction_fail(t *testing.T) { } func TestEqualFunction_minus(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -96,9 +100,10 @@ func TestEqualFunction_minus(t *testing.T) { } func TestEqualFunction_minusFloat(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ diff --git a/internal/provider/false_function_test.go b/internal/provider/false_function_test.go index f788a26..316e354 100644 --- a/internal/provider/false_function_test.go +++ b/internal/provider/false_function_test.go @@ -11,10 +11,11 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" ) -func TestFalseFunction_basic(t *testing.T) { +func TestFalseFunction(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -33,9 +34,10 @@ func TestFalseFunction_basic(t *testing.T) { } func TestFalseFunction_stringComparison(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -56,10 +58,11 @@ func TestFalseFunction_stringComparison(t *testing.T) { }) } -func TestFalseFunction_fail(t *testing.T) { +func TestFalseFunction_errorCases(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -77,10 +80,11 @@ func TestFalseFunction_fail(t *testing.T) { }) } -func TestFalseFunction_stringComparison_fail(t *testing.T) { +func TestFalseFunction_stringComparison_errorCases(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ diff --git a/internal/provider/greater_function_test.go b/internal/provider/greater_function_test.go index 08d78e9..9638de1 100644 --- a/internal/provider/greater_function_test.go +++ b/internal/provider/greater_function_test.go @@ -11,10 +11,11 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" ) -func TestGreaterFunction_basic(t *testing.T) { +func TestGreaterFunction(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -32,10 +33,11 @@ func TestGreaterFunction_basic(t *testing.T) { }) } -func TestGreaterFunction_fail(t *testing.T) { +func TestGreaterFunction_errorCases(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -54,9 +56,10 @@ func TestGreaterFunction_fail(t *testing.T) { } func TestGreaterFunction_float(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -75,9 +78,10 @@ func TestGreaterFunction_float(t *testing.T) { } func TestGreaterFunction_minus(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -96,9 +100,10 @@ func TestGreaterFunction_minus(t *testing.T) { } func TestGreaterFunction_minusFloat(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ diff --git a/internal/provider/greater_or_equal_function_test.go b/internal/provider/greater_or_equal_function_test.go index 554d55b..bd864a9 100644 --- a/internal/provider/greater_or_equal_function_test.go +++ b/internal/provider/greater_or_equal_function_test.go @@ -11,10 +11,11 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" ) -func TestGreaterOrEqualFunction_basic(t *testing.T) { +func TestGreaterOrEqualFunction(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -33,9 +34,10 @@ func TestGreaterOrEqualFunction_basic(t *testing.T) { } func TestGreaterOrEqualFunction_equal(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -54,9 +56,10 @@ func TestGreaterOrEqualFunction_equal(t *testing.T) { } func TestGreaterOrEqualFunction_equalFloat(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -74,10 +77,11 @@ func TestGreaterOrEqualFunction_equalFloat(t *testing.T) { }) } -func TestGreaterOrEqualFunction_fail(t *testing.T) { +func TestGreaterOrEqualFunction_errorCases(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -96,9 +100,10 @@ func TestGreaterOrEqualFunction_fail(t *testing.T) { } func TestGreaterOrEqualFunction_float(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -117,9 +122,10 @@ func TestGreaterOrEqualFunction_float(t *testing.T) { } func TestGreaterOrEqualFunction_minus(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -138,9 +144,10 @@ func TestGreaterOrEqualFunction_minus(t *testing.T) { } func TestGreaterOrEqualFunction_minusFloat(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ diff --git a/internal/provider/http_client_error_function_test.go b/internal/provider/http_client_error_function_test.go index 14a89ea..49c57a3 100644 --- a/internal/provider/http_client_error_function_test.go +++ b/internal/provider/http_client_error_function_test.go @@ -11,10 +11,11 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" ) -func TestIsHTTPClientErrorFunction_basic(t *testing.T) { +func TestIsHTTPClientErrorFunction(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -33,9 +34,10 @@ func TestIsHTTPClientErrorFunction_basic(t *testing.T) { } func TestIsHTTPClientErrorFunction_httpForbidden(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -57,9 +59,10 @@ func TestIsHTTPClientErrorFunction_httpForbidden(t *testing.T) { } func TestIsHTTPClientErrorFunction_httpCreated(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ diff --git a/internal/provider/http_redirect_function_test.go b/internal/provider/http_redirect_function_test.go index 18ea317..e191389 100644 --- a/internal/provider/http_redirect_function_test.go +++ b/internal/provider/http_redirect_function_test.go @@ -11,10 +11,11 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" ) -func TestIsHTTP3XXFunction_basic(t *testing.T) { +func TestIsHTTP3XXFunction(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -33,9 +34,10 @@ func TestIsHTTP3XXFunction_basic(t *testing.T) { } func TestIsHTTP3XXFunction_httpMovedPermanently(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -59,7 +61,7 @@ func TestIsHTTP3XXFunction_httpMovedPermanently(t *testing.T) { func TestIsHTTP3XXFunction_httpForbidden(t *testing.T) { resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -83,7 +85,7 @@ func TestIsHTTP3XXFunction_httpForbidden(t *testing.T) { func TestIsHTTP3XXFunction_httpCreated(t *testing.T) { resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ diff --git a/internal/provider/http_server_error_function_test.go b/internal/provider/http_server_error_function_test.go index 42eff2b..a00b7a2 100644 --- a/internal/provider/http_server_error_function_test.go +++ b/internal/provider/http_server_error_function_test.go @@ -11,10 +11,11 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" ) -func TestIsHTTPServerErrorFunction_basic(t *testing.T) { +func TestIsHTTPServerErrorFunction(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -33,9 +34,10 @@ func TestIsHTTPServerErrorFunction_basic(t *testing.T) { } func TestIsHTTPServerErrorFunction_httpForbidden(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -57,9 +59,10 @@ func TestIsHTTPServerErrorFunction_httpForbidden(t *testing.T) { } func TestIsHTTPServerErrorFunction_httpCreated(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ diff --git a/internal/provider/http_success_function_test.go b/internal/provider/http_success_function_test.go index af7f24c..b2cd8a4 100644 --- a/internal/provider/http_success_function_test.go +++ b/internal/provider/http_success_function_test.go @@ -11,10 +11,11 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" ) -func TestIsHTTP2XXFunction_basic(t *testing.T) { +func TestIsHTTP2XXFunction(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -33,9 +34,10 @@ func TestIsHTTP2XXFunction_basic(t *testing.T) { } func TestIsHTTP2XXFunction_httpCreated(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -57,9 +59,10 @@ func TestIsHTTP2XXFunction_httpCreated(t *testing.T) { } func TestIsHTTP2XXFunction_httpForbidden(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ diff --git a/internal/provider/less_function_test.go b/internal/provider/less_function_test.go index ce3506f..d966b07 100644 --- a/internal/provider/less_function_test.go +++ b/internal/provider/less_function_test.go @@ -11,10 +11,11 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" ) -func TestLessFunction_basic(t *testing.T) { +func TestLessFunction(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -32,10 +33,11 @@ func TestLessFunction_basic(t *testing.T) { }) } -func TestLessFunction_fail(t *testing.T) { +func TestLessFunction_errorCases(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -54,9 +56,10 @@ func TestLessFunction_fail(t *testing.T) { } func TestLessFunction_float(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -75,9 +78,10 @@ func TestLessFunction_float(t *testing.T) { } func TestLessFunction_minus(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -96,9 +100,10 @@ func TestLessFunction_minus(t *testing.T) { } func TestLessFunction_minusFloat(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ diff --git a/internal/provider/less_or_equal_function_test.go b/internal/provider/less_or_equal_function_test.go index b3f21b1..305c38b 100644 --- a/internal/provider/less_or_equal_function_test.go +++ b/internal/provider/less_or_equal_function_test.go @@ -11,10 +11,11 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" ) -func TestLessOrEqualFunction_basic(t *testing.T) { +func TestLessOrEqualFunction(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -33,9 +34,10 @@ func TestLessOrEqualFunction_basic(t *testing.T) { } func TestLessOrEqualFunction_equal(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -54,9 +56,10 @@ func TestLessOrEqualFunction_equal(t *testing.T) { } func TestLessOrEqualFunction_equalFloat(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -74,10 +77,11 @@ func TestLessOrEqualFunction_equalFloat(t *testing.T) { }) } -func TestLessOrEqualFunction_fail(t *testing.T) { +func TestLessOrEqualFunction_errorCases(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -96,9 +100,10 @@ func TestLessOrEqualFunction_fail(t *testing.T) { } func TestLessOrEqualFunction_float(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -117,9 +122,10 @@ func TestLessOrEqualFunction_float(t *testing.T) { } func TestLessOrEqualFunction_minus(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -138,9 +144,10 @@ func TestLessOrEqualFunction_minus(t *testing.T) { } func TestLessOrEqualFunction_minusFloat(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ diff --git a/internal/provider/not_equal_function_test.go b/internal/provider/not_equal_function_test.go index 9e7bb32..ff0e2d5 100644 --- a/internal/provider/not_equal_function_test.go +++ b/internal/provider/not_equal_function_test.go @@ -11,10 +11,11 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" ) -func TestNotnot_equalFunction_basic(t *testing.T) { +func TestNotnot_equalFunction(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -33,9 +34,10 @@ func TestNotnot_equalFunction_basic(t *testing.T) { } func TestNotnot_equalFunction_float(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -53,10 +55,11 @@ func TestNotnot_equalFunction_float(t *testing.T) { }) } -func TestNotnot_equalFunction_fail(t *testing.T) { +func TestNotnot_equalFunction_errorCases(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -74,10 +77,11 @@ func TestNotnot_equalFunction_fail(t *testing.T) { }) } -func TestNotnot_equalFunction_failFloat(t *testing.T) { +func TestNotnot_equalFunction_errorCasesFloat(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -96,9 +100,10 @@ func TestNotnot_equalFunction_failFloat(t *testing.T) { } func TestNotnot_equalFunction_minus(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -117,9 +122,10 @@ func TestNotnot_equalFunction_minus(t *testing.T) { } func TestNotnot_equalFunction_minusFloat(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ diff --git a/internal/provider/not_null_function_test.go b/internal/provider/not_null_function_test.go index f703748..e7fef6a 100644 --- a/internal/provider/not_null_function_test.go +++ b/internal/provider/not_null_function_test.go @@ -11,10 +11,11 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" ) -func TestNotNullFunction_basic(t *testing.T) { +func TestNotNullFunction(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -39,9 +40,10 @@ func TestNotNullFunction_basic(t *testing.T) { } func TestNotNullFunction_null(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ diff --git a/internal/provider/null_function_test.go b/internal/provider/null_function_test.go index a2c6a3d..1e31495 100644 --- a/internal/provider/null_function_test.go +++ b/internal/provider/null_function_test.go @@ -11,10 +11,11 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" ) -func TestIsNullFunction_basic(t *testing.T) { +func TestIsNullFunction(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -36,9 +37,10 @@ func TestIsNullFunction_basic(t *testing.T) { } func TestIsNullFunction_notNull(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ diff --git a/internal/provider/true_function_test.go b/internal/provider/true_function_test.go index bf49942..8db4ce1 100644 --- a/internal/provider/true_function_test.go +++ b/internal/provider/true_function_test.go @@ -11,10 +11,11 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" ) -func TestTrueFunction_basic(t *testing.T) { +func TestTrueFunction(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -33,9 +34,10 @@ func TestTrueFunction_basic(t *testing.T) { } func TestTrueFunction_stringComparison(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -56,10 +58,11 @@ func TestTrueFunction_stringComparison(t *testing.T) { }) } -func TestTrueFunction_fail(t *testing.T) { +func TestTrueFunction_errorCases(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -78,9 +81,10 @@ func TestTrueFunction_fail(t *testing.T) { } func TestTrueFunction_stringComparisonFail(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ diff --git a/internal/provider/valid_json_function.go b/internal/provider/valid_json_function.go index cfe6e74..4016ba1 100644 --- a/internal/provider/valid_json_function.go +++ b/internal/provider/valid_json_function.go @@ -29,7 +29,7 @@ func (r ValidJSONFunction) Definition(_ context.Context, _ function.DefinitionRe Summary: "Checks whether a string is valid JSON", Parameters: []function.Parameter{ function.StringParameter{ - AllowNullValue: true, + AllowNullValue: false, AllowUnknownValues: true, Description: "The JSON string to check", Name: "json", diff --git a/internal/provider/valid_json_function_test.go b/internal/provider/valid_json_function_test.go index 7569ebb..b38a4fb 100644 --- a/internal/provider/valid_json_function_test.go +++ b/internal/provider/valid_json_function_test.go @@ -4,6 +4,7 @@ package provider import ( + "fmt" "testing" "github.com/hashicorp/go-version" @@ -11,10 +12,11 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" ) -func TestValidJSONFunction_basic(t *testing.T) { +func TestValidJSONFunction(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -37,10 +39,11 @@ func TestValidJSONFunction_basic(t *testing.T) { }) } -func TestValidJSONFunction_multiline(t *testing.T) { +func TestValidJSONFunction_MultiLine(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -65,22 +68,34 @@ func TestValidJSONFunction_multiline(t *testing.T) { }) } -func TestValidJSONFunction_fail(t *testing.T) { +func TestValidJSONFunction_EmptyJSON(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ { - Config: ` - locals { - not_json = "not json" - } - output "test" { - value = provider::assert::valid_json(local.not_json) - } - `, + Config: testValidJSONFunctionConfig("{}"), + Check: resource.ComposeAggregateTestCheckFunc( + resource.TestCheckOutput("test", "true"), + ), + }, + }, + }) +} + +func TestValidJSONFunction_NotJSON(t *testing.T) { + t.Parallel() + resource.UnitTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), + }, + ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, + Steps: []resource.TestStep{ + { + Config: testValidJSONFunctionConfig("not json"), Check: resource.ComposeAggregateTestCheckFunc( resource.TestCheckOutput("test", "false"), ), @@ -89,26 +104,28 @@ func TestValidJSONFunction_fail(t *testing.T) { }) } -func TestValidJSONFunction_emptyJSON(t *testing.T) { +func TestValidJSONFunction_abc(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ { - Config: ` - locals { - empty = "{}" - } - output "test" { - value = provider::assert::valid_json(local.empty) - } - `, + Config: testValidJSONFunctionConfig("abc"), Check: resource.ComposeAggregateTestCheckFunc( - resource.TestCheckOutput("test", "true"), + resource.TestCheckOutput("test", "false"), ), }, }, }) } + +func testValidJSONFunctionConfig(json string) string { + return fmt.Sprintf(` +output "test" { + value = provider::assert::valid_json(%[1]q) +} +`, json) +} diff --git a/internal/provider/valid_yaml_function_test.go b/internal/provider/valid_yaml_function_test.go index 05df7ad..4351f0c 100644 --- a/internal/provider/valid_yaml_function_test.go +++ b/internal/provider/valid_yaml_function_test.go @@ -11,10 +11,11 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" ) -func TestValidYAMLFunction_basic(t *testing.T) { +func TestValidYAMLFunction(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -37,10 +38,11 @@ func TestValidYAMLFunction_basic(t *testing.T) { }) } -func TestValidYAMLFunction_multiline(t *testing.T) { +func TestValidYAMLFunction_MultiLine(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -64,10 +66,11 @@ output "test" { }) } -func TestValidYAMLFunction_fail(t *testing.T) { +func TestValidYAMLFunction_errorCases(t *testing.T) { + t.Parallel() resource.UnitTest(t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(version.Must(version.NewVersion("1.8.0-beta1"))), + tfversion.SkipBelow(version.Must(version.NewVersion(MinimalRequiredTerraformVersion))), }, ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, Steps: []resource.TestStep{