provider/azurerm: fix; add tests for importing traffic manager resources (#8111)
* provider/azurerm: add test for importing traffic manager profile resource TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMTrafficManagerProfile_import -timeout 120m === RUN TestAccAzureRMTrafficManagerProfile_importBasic --- PASS: TestAccAzureRMTrafficManagerProfile_importBasic (84.50s) PASS ok github.com/hashicorp/terraform/builtin/providers/azurerm 84.722s * provider/azurerm: fix; add test for importing traffic_manager_endpoint resource TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMTrafficManagerEndpoint -timeout 120m === RUN TestAccAzureRMTrafficManagerEndpoint_importBasic --- PASS: TestAccAzureRMTrafficManagerEndpoint_importBasic (130.66s) === RUN TestAccAzureRMTrafficManagerEndpoint_basic --- PASS: TestAccAzureRMTrafficManagerEndpoint_basic (152.87s) === RUN TestAccAzureRMTrafficManagerEndpoint_basicDisableExternal --- PASS: TestAccAzureRMTrafficManagerEndpoint_basicDisableExternal (151.55s) === RUN TestAccAzureRMTrafficManagerEndpoint_updateWeight --- PASS: TestAccAzureRMTrafficManagerEndpoint_updateWeight (199.33s) === RUN TestAccAzureRMTrafficManagerEndpoint_updatePriority --- PASS: TestAccAzureRMTrafficManagerEndpoint_updatePriority (113.15s) === RUN TestAccAzureRMTrafficManagerEndpoint_nestedEndpoints --- PASS: TestAccAzureRMTrafficManagerEndpoint_nestedEndpoints (97.05s) PASS ok github.com/hashicorp/terraform/builtin/providers/azurerm 844.740s
This commit is contained in:
parent
605dfada51
commit
d7285d1b14
|
@ -0,0 +1,36 @@
|
||||||
|
package azurerm
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/hashicorp/terraform/helper/acctest"
|
||||||
|
"github.com/hashicorp/terraform/helper/resource"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestAccAzureRMTrafficManagerEndpoint_importBasic(t *testing.T) {
|
||||||
|
resourceName := "azurerm_traffic_manager_endpoint.testExternal"
|
||||||
|
|
||||||
|
ri := acctest.RandInt()
|
||||||
|
config := fmt.Sprintf(testAccAzureRMTrafficManagerEndpoint_basic, ri, ri, ri, ri, ri, ri, ri)
|
||||||
|
|
||||||
|
resource.Test(t, resource.TestCase{
|
||||||
|
PreCheck: func() { testAccPreCheck(t) },
|
||||||
|
Providers: testAccProviders,
|
||||||
|
CheckDestroy: testCheckAzureRMTrafficManagerEndpointDestroy,
|
||||||
|
Steps: []resource.TestStep{
|
||||||
|
resource.TestStep{
|
||||||
|
Config: config,
|
||||||
|
},
|
||||||
|
|
||||||
|
resource.TestStep{
|
||||||
|
ResourceName: resourceName,
|
||||||
|
ImportState: true,
|
||||||
|
ImportStateVerify: true,
|
||||||
|
ImportStateVerifyIgnore: []string{
|
||||||
|
"resource_group_name",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,34 @@
|
||||||
|
package azurerm
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/hashicorp/terraform/helper/acctest"
|
||||||
|
"github.com/hashicorp/terraform/helper/resource"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestAccAzureRMTrafficManagerProfile_importBasic(t *testing.T) {
|
||||||
|
resourceName := "azurerm_traffic_manager_profile.test"
|
||||||
|
|
||||||
|
ri := acctest.RandInt()
|
||||||
|
config := fmt.Sprintf(testAccAzureRMTrafficManagerProfile_performance, ri, ri, ri)
|
||||||
|
|
||||||
|
resource.Test(t, resource.TestCase{
|
||||||
|
PreCheck: func() { testAccPreCheck(t) },
|
||||||
|
Providers: testAccProviders,
|
||||||
|
CheckDestroy: testCheckAzureRMTrafficManagerProfileDestroy,
|
||||||
|
Steps: []resource.TestStep{
|
||||||
|
resource.TestStep{
|
||||||
|
Config: config,
|
||||||
|
},
|
||||||
|
|
||||||
|
resource.TestStep{
|
||||||
|
ResourceName: resourceName,
|
||||||
|
ImportState: true,
|
||||||
|
ImportStateVerify: true,
|
||||||
|
ImportStateVerifyIgnore: []string{"resource_group_name"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
|
@ -4,6 +4,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"regexp"
|
||||||
|
|
||||||
"github.com/Azure/azure-sdk-for-go/arm/trafficmanager"
|
"github.com/Azure/azure-sdk-for-go/arm/trafficmanager"
|
||||||
"github.com/hashicorp/terraform/helper/schema"
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
|
@ -136,7 +137,15 @@ func resourceArmTrafficManagerEndpointRead(d *schema.ResourceData, meta interfac
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
resGroup := id.ResourceGroup
|
resGroup := id.ResourceGroup
|
||||||
endpointType := d.Get("type").(string)
|
|
||||||
|
// lookup endpointType in Azure ID path
|
||||||
|
var endpointType string
|
||||||
|
typeRegex := regexp.MustCompile("azureEndpoints|externalEndpoints|nestedEndpoints")
|
||||||
|
for k := range id.Path {
|
||||||
|
if typeRegex.MatchString(k) {
|
||||||
|
endpointType = k
|
||||||
|
}
|
||||||
|
}
|
||||||
profileName := id.Path["trafficManagerProfiles"]
|
profileName := id.Path["trafficManagerProfiles"]
|
||||||
|
|
||||||
// endpoint name is keyed by endpoint type in ARM ID
|
// endpoint name is keyed by endpoint type in ARM ID
|
||||||
|
@ -153,6 +162,8 @@ func resourceArmTrafficManagerEndpointRead(d *schema.ResourceData, meta interfac
|
||||||
endpoint := *resp.Properties
|
endpoint := *resp.Properties
|
||||||
|
|
||||||
d.Set("name", resp.Name)
|
d.Set("name", resp.Name)
|
||||||
|
d.Set("type", endpointType)
|
||||||
|
d.Set("profile_name", profileName)
|
||||||
d.Set("endpoint_status", endpoint.EndpointStatus)
|
d.Set("endpoint_status", endpoint.EndpointStatus)
|
||||||
d.Set("target_resource_id", endpoint.TargetResourceID)
|
d.Set("target_resource_id", endpoint.TargetResourceID)
|
||||||
d.Set("target", endpoint.Target)
|
d.Set("target", endpoint.Target)
|
||||||
|
|
Loading…
Reference in New Issue