Skip to content

Commit

Permalink
Update int test to use ProviderFactories instead of Providers as per …
Browse files Browse the repository at this point in the history
…deprecation notice

// Providers is the ResourceProvider that will be under test.
// Deprecated: Providers is deprecated, please use ProviderFactories
  • Loading branch information
dikhan committed Dec 17, 2020
1 parent bd6d541 commit 7bdf374
Show file tree
Hide file tree
Showing 10 changed files with 156 additions and 165 deletions.
43 changes: 18 additions & 25 deletions tests/e2e/gray_box_cdns_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import (
"github.com/stretchr/testify/require"

"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"

"github.com/dikhan/terraform-provider-openapi/openapi"
"github.com/stretchr/testify/assert"
Expand Down Expand Up @@ -535,11 +534,10 @@ resource "openapi_cdn_v1" "my_cdn" {
provider, err := p.CreateSchemaProviderFromServiceConfiguration(&openapi.ServiceConfigStub{SwaggerURL: swaggerServer.URL})
assert.NoError(t, err)

var testAccProviders = map[string]terraform.ResourceProvider{providerName: provider}
resource.Test(t, resource.TestCase{
IsUnitTest: true,
Providers: testAccProviders,
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
IsUnitTest: true,
ProviderFactories: testAccProviders(provider),
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
Steps: []resource.TestStep{
{
ExpectNonEmptyPlan: false,
Expand Down Expand Up @@ -576,12 +574,11 @@ func TestAccCDN_Create_and_UpdateSubResource(t *testing.T) {
openAPIResourceNameCDN: fmt.Sprintf("%s/v1/cdns", api.apiHost),
}

var testAccProviders = map[string]terraform.ResourceProvider{providerName: provider}
resource.Test(t, resource.TestCase{
IsUnitTest: true,
Providers: testAccProviders,
PreCheck: func() { testAccPreCheck(t, api.swaggerURL) },
CheckDestroy: testAccCheckDestroy(resourceInstancesToCheck),
IsUnitTest: true,
ProviderFactories: testAccProviders(provider),
PreCheck: func() { testAccPreCheck(t, api.swaggerURL) },
CheckDestroy: testAccCheckDestroy(resourceInstancesToCheck),
Steps: []resource.TestStep{
{
Config: tfFileContents,
Expand Down Expand Up @@ -660,7 +657,6 @@ func TestAcc_Create_MissingRequiredParentPropertyInTFConfigurationFile(t *testin
assert.NoError(t, err)
assertProviderSchema(t, provider)

var testAccProviders = map[string]terraform.ResourceProvider{providerName: provider}
testCDNCreateMissingParentPropertyInFW := fmt.Sprintf(`
# URI /v1/cdns/
resource "%s" "%s" {
Expand All @@ -675,7 +671,7 @@ func TestAcc_Create_MissingRequiredParentPropertyInTFConfigurationFile(t *testin
expectedValidationError, _ := regexp.Compile(".*config is invalid: Missing required argument: The argument \"cdn_v1_id\" is required, but no definition was found.*")
resource.Test(t, resource.TestCase{
IsUnitTest: true,
Providers: testAccProviders,
ProviderFactories: testAccProviders(provider),
PreventPostDestroyRefresh: true,
Steps: []resource.TestStep{
{
Expand Down Expand Up @@ -708,12 +704,11 @@ func TestAccCDN_ImportSubResource(t *testing.T) {
openAPIResourceNameCDN: fmt.Sprintf("%s/v1/cdns", api.apiHost),
}

var testAccProviders = map[string]terraform.ResourceProvider{providerName: provider}
resource.Test(t, resource.TestCase{
IsUnitTest: true,
Providers: testAccProviders,
PreCheck: func() { testAccPreCheck(t, api.swaggerURL) },
CheckDestroy: testAccCheckDestroy(resourceInstancesToCheck),
IsUnitTest: true,
ProviderFactories: testAccProviders(provider),
PreCheck: func() { testAccPreCheck(t, api.swaggerURL) },
CheckDestroy: testAccCheckDestroy(resourceInstancesToCheck),
Steps: []resource.TestStep{
{
Config: tfFileContents,
Expand Down Expand Up @@ -749,11 +744,10 @@ func TestAccCDN_DataSource(t *testing.T) {
assert.NoError(t, err)
assertProviderSchema(t, provider)

var testAccProviders = map[string]terraform.ResourceProvider{providerName: provider}
resource.Test(t, resource.TestCase{
IsUnitTest: true,
Providers: testAccProviders,
PreCheck: func() { testAccPreCheck(t, api.swaggerURL) },
IsUnitTest: true,
ProviderFactories: testAccProviders(provider),
PreCheck: func() { testAccPreCheck(t, api.swaggerURL) },
Steps: []resource.TestStep{
{
Config: tfFileContents,
Expand Down Expand Up @@ -794,11 +788,10 @@ func TestAccCDN_DataSourceInstance(t *testing.T) {
assert.NoError(t, err)
assertProviderSchema(t, provider)

var testAccProviders = map[string]terraform.ResourceProvider{providerName: provider}
resource.Test(t, resource.TestCase{
IsUnitTest: true,
Providers: testAccProviders,
PreCheck: func() { testAccPreCheck(t, api.swaggerURL) },
IsUnitTest: true,
ProviderFactories: testAccProviders(provider),
PreCheck: func() { testAccPreCheck(t, api.swaggerURL) },
Steps: []resource.TestStep{
{
Config: tfFileContents,
Expand Down
12 changes: 5 additions & 7 deletions tests/e2e/gray_box_plugin_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,13 @@ package e2e

import (
"fmt"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"net/http"
"net/http/httptest"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"

"github.com/dikhan/terraform-provider-openapi/openapi"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/stretchr/testify/assert"
)

Expand Down Expand Up @@ -124,11 +123,10 @@ resource "openapi_cdn_v1" "my_cdn_v1" {
label = "my_label"
}`)

var testAccProviders = map[string]terraform.ResourceProvider{providerName: provider}
resource.Test(t, resource.TestCase{
IsUnitTest: true,
Providers: testAccProviders,
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
IsUnitTest: true,
ProviderFactories: testAccProviders(provider),
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
Steps: []resource.TestStep{
{
Config: tfFileContents,
Expand Down
14 changes: 6 additions & 8 deletions tests/e2e/provider_plugin_configuration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -148,11 +148,10 @@ services:
provider, err := p.CreateSchemaProvider()
assert.NoError(t, err)

var testAccProviders = map[string]terraform.ResourceProvider{providerName: provider}
resource.Test(t, resource.TestCase{
IsUnitTest: true,
Providers: testAccProviders,
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
IsUnitTest: true,
ProviderFactories: testAccProviders(provider),
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
Steps: []resource.TestStep{
{
Config: fmt.Sprintf(`
Expand Down Expand Up @@ -319,11 +318,10 @@ services:
provider, err := p.CreateSchemaProvider()
assert.NoError(t, err)

var testAccProviders = map[string]terraform.ResourceProvider{providerName: provider}
resource.Test(t, resource.TestCase{
IsUnitTest: true,
Providers: testAccProviders,
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
IsUnitTest: true,
ProviderFactories: testAccProviders(provider),
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
Steps: []resource.TestStep{
{
Config: fmt.Sprintf(`resource "openapi_cdns_v1" "my_cdn" { label = "some_label"}`),
Expand Down
46 changes: 19 additions & 27 deletions tests/e2e/resources_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,8 @@ import (
"regexp"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"

"github.com/dikhan/terraform-provider-openapi/openapi"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/stretchr/testify/assert"
)

Expand Down Expand Up @@ -88,11 +86,10 @@ resource "openapi_cdns" "my_cdn" {
}`)

expectedValidationError, _ := regexp.Compile(".*failed to configure the API request for POST http://127.0.0.1:[\\d]+/cdns: required header 'required_header_example' is missing the value. Please make sure the property 'required_header_example' is configured with a value in the provider's terraform configuration.*")
var testAccProviders = map[string]terraform.ResourceProvider{providerName: provider}
resource.Test(t, resource.TestCase{
IsUnitTest: true,
Providers: testAccProviders,
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
IsUnitTest: true,
ProviderFactories: testAccProviders(provider),
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
Steps: []resource.TestStep{
{
Config: tfFileContents,
Expand Down Expand Up @@ -177,11 +174,10 @@ resource "openapi_cdns" "my_cdn" {
}`)

expectedValidationError, _ := regexp.Compile(".*failed to configure the API request for POST http://127.0.0.1:[\\d]+/cdns: required security definition 'some_not_global_sec_def' is missing the value. Please make sure the property 'some_not_global_sec_def' is configured with a value in the provider's terraform configuration.*")
var testAccProviders = map[string]terraform.ResourceProvider{providerName: provider}
resource.Test(t, resource.TestCase{
IsUnitTest: true,
Providers: testAccProviders,
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
IsUnitTest: true,
ProviderFactories: testAccProviders(provider),
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
Steps: []resource.TestStep{
{
Config: tfFileContents,
Expand Down Expand Up @@ -266,11 +262,10 @@ resource "openapi_cdns" "my_cdn" {
}`)

expectedValidationError, _ := regexp.Compile(".*failed to configure the API request for POST http://127.0.0.1:[\\d]+/cdns: required security definition 'some_not_global_sec_def' is missing the value. Please make sure the property 'some_not_global_sec_def' is configured with a value in the provider's terraform configuration.*")
var testAccProviders = map[string]terraform.ResourceProvider{providerName: provider}
resource.Test(t, resource.TestCase{
IsUnitTest: true,
Providers: testAccProviders,
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
IsUnitTest: true,
ProviderFactories: testAccProviders(provider),
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
Steps: []resource.TestStep{
{
Config: tfFileContents,
Expand Down Expand Up @@ -356,11 +351,10 @@ resource "openapi_cdns" "my_cdn" {
}`)

expectedValidationError, _ := regexp.Compile(".*failed to configure the API request for POST http://127.0.0.1:[\\d]+/cdns: required security definition 'some_not_global_sec_def' is missing the value. Please make sure the property 'some_not_global_sec_def' is configured with a value in the provider's terraform configuration.*")
var testAccProviders = map[string]terraform.ResourceProvider{providerName: provider}
resource.Test(t, resource.TestCase{
IsUnitTest: true,
Providers: testAccProviders,
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
IsUnitTest: true,
ProviderFactories: testAccProviders(provider),
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
Steps: []resource.TestStep{
{
Config: tfFileContents,
Expand Down Expand Up @@ -439,11 +433,10 @@ definitions:

tfFileContents := fmt.Sprintf(`resource "openapi_deploykey_v1" "my_deploykeyv1" {}`)

var testAccProviders = map[string]terraform.ResourceProvider{providerName: provider}
resource.Test(t, resource.TestCase{
IsUnitTest: true,
Providers: testAccProviders,
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
IsUnitTest: true,
ProviderFactories: testAccProviders(provider),
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
Steps: []resource.TestStep{
{
Config: tfFileContents,
Expand Down Expand Up @@ -528,11 +521,10 @@ definitions:

tfFileContents := fmt.Sprintf(`resource "openapi_deploykey_v1" "my_deploykeyv1" {}`)

var testAccProviders = map[string]terraform.ResourceProvider{providerName: provider}
resource.Test(t, resource.TestCase{
IsUnitTest: true,
Providers: testAccProviders,
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
IsUnitTest: true,
ProviderFactories: testAccProviders(provider),
PreCheck: func() { testAccPreCheck(t, swaggerServer.URL) },
Steps: []resource.TestStep{
{
Config: tfFileContents,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,22 @@ package e2e
import (
"fmt"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/stretchr/testify/assert"
"net/http"
"strings"
"testing"
)

func testAccProviders(provider *schema.Provider) map[string]func() (*schema.Provider, error) {
return map[string]func() (*schema.Provider, error){
providerName: func() (*schema.Provider, error) {
return provider, nil
},
}
}

func assertExpectedRequestURI(t *testing.T, expectedRequestURI string, r *http.Request) {
if r.RequestURI != expectedRequestURI {
assert.Fail(t, fmt.Sprintf("%s request URI '%s' does not match the expected one '%s'", r.Method, r.RequestURI, expectedRequestURI))
Expand Down
30 changes: 15 additions & 15 deletions tests/integration/provider_plugin_configuration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ resource "%s" "my_cdn" {
hostnames = ["%s"]
}`, providerName, openAPIResourceNameCDN, cdn.Label, arrayToString(cdn.Ips), arrayToString(cdn.Hostnames))
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testCheckCDNsV1Destroy,
PreCheck: func() { testAccPreCheck(t) },
ProviderFactories: testAccProviders,
CheckDestroy: testCheckCDNsV1Destroy,
Steps: []resource.TestStep{
{
Config: testCDNCreateConfigWithoutProviderAuthProperty,
Expand Down Expand Up @@ -80,9 +80,9 @@ services:
file := createPluginConfigFile(testPluginConfig)
defer os.Remove(file.Name())
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: getTestAccProviderInitWithPluginConfigurationFile(file.Name()),
CheckDestroy: testCheckCDNsV1Destroy,
PreCheck: func() { testAccPreCheck(t) },
ProviderFactories: getTestAccProviderInitWithPluginConfigurationFile(file.Name()),
CheckDestroy: testCheckCDNsV1Destroy,
Steps: []resource.TestStep{
{
Config: testCDNCreateConfigWithoutProviderAuthProperty,
Expand Down Expand Up @@ -127,9 +127,9 @@ services:
file := createPluginConfigFile(testPluginConfig)
defer os.Remove(file.Name())
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: getTestAccProviderInitWithPluginConfigurationFile(file.Name()),
CheckDestroy: testCheckCDNsV1Destroy,
PreCheck: func() { testAccPreCheck(t) },
ProviderFactories: getTestAccProviderInitWithPluginConfigurationFile(file.Name()),
CheckDestroy: testCheckCDNsV1Destroy,
Steps: []resource.TestStep{
{
Config: testCDNCreateConfigWithoutProviderAuthProperty,
Expand Down Expand Up @@ -175,9 +175,9 @@ services:
file := createPluginConfigFile(testPluginConfig)
defer os.Remove(file.Name())
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: getTestAccProviderInitWithPluginConfigurationFile(file.Name()),
CheckDestroy: testCheckCDNsV1Destroy,
PreCheck: func() { testAccPreCheck(t) },
ProviderFactories: getTestAccProviderInitWithPluginConfigurationFile(file.Name()),
CheckDestroy: testCheckCDNsV1Destroy,
Steps: []resource.TestStep{
{
Config: testCDNCreateConfigWithoutProviderAuthProperty,
Expand Down Expand Up @@ -224,9 +224,9 @@ services:
file := createPluginConfigFile(testPluginConfig)
defer os.Remove(file.Name())
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: getTestAccProviderInitWithPluginConfigurationFile(file.Name()),
CheckDestroy: testCheckCDNsV1Destroy,
PreCheck: func() { testAccPreCheck(t) },
ProviderFactories: getTestAccProviderInitWithPluginConfigurationFile(file.Name()),
CheckDestroy: testCheckCDNsV1Destroy,
Steps: []resource.TestStep{
{
Config: testCDNCreateConfigWithoutProviderAuthProperty,
Expand Down
Loading

0 comments on commit 7bdf374

Please sign in to comment.