github.com/koding/terraform@v0.6.4-0.20170608090606-5d7e0339779d/builtin/providers/azurerm/data_source_arm_public_ip_test.go (about) 1 package azurerm 2 3 import ( 4 "fmt" 5 "testing" 6 7 "github.com/hashicorp/terraform/helper/acctest" 8 "github.com/hashicorp/terraform/helper/resource" 9 ) 10 11 func TestAccDataSourceAzureRMPublicIP_basic(t *testing.T) { 12 ri := acctest.RandInt() 13 14 name := fmt.Sprintf("acctestpublicip-%d", ri) 15 resourceGroupName := fmt.Sprintf("acctestRG-%d", ri) 16 17 config := testAccDatSourceAzureRMPublicIPBasic(name, resourceGroupName) 18 19 resource.Test(t, resource.TestCase{ 20 PreCheck: func() { testAccPreCheck(t) }, 21 Providers: testAccProviders, 22 CheckDestroy: testCheckAzureRMPublicIpDestroy, 23 Steps: []resource.TestStep{ 24 resource.TestStep{ 25 Config: config, 26 Check: resource.ComposeTestCheckFunc( 27 resource.TestCheckResourceAttr("data.azurerm_public_ip.test", "name", name), 28 resource.TestCheckResourceAttr("data.azurerm_public_ip.test", "resource_group_name", resourceGroupName), 29 resource.TestCheckResourceAttr("data.azurerm_public_ip.test", "domain_name_label", "mylabel01"), 30 resource.TestCheckResourceAttr("data.azurerm_public_ip.test", "idle_timeout_in_minutes", "30"), 31 resource.TestCheckResourceAttrSet("data.azurerm_public_ip.test", "fqdn"), 32 resource.TestCheckResourceAttrSet("data.azurerm_public_ip.test", "ip_address"), 33 resource.TestCheckResourceAttr("data.azurerm_public_ip.test", "tags.%", "1"), 34 resource.TestCheckResourceAttr("data.azurerm_public_ip.test", "tags.environment", "test"), 35 ), 36 }, 37 }, 38 }) 39 } 40 41 func testAccDatSourceAzureRMPublicIPBasic(name string, resourceGroupName string) string { 42 return fmt.Sprintf(` 43 resource "azurerm_resource_group" "test" { 44 name = "%s" 45 location = "West US" 46 } 47 resource "azurerm_public_ip" "test" { 48 name = "%s" 49 location = "West US" 50 resource_group_name = "${azurerm_resource_group.test.name}" 51 public_ip_address_allocation = "static" 52 domain_name_label = "mylabel01" 53 idle_timeout_in_minutes = 30 54 55 tags { 56 environment = "test" 57 } 58 } 59 60 data "azurerm_public_ip" "test" { 61 name = "${azurerm_public_ip.test.name}" 62 resource_group_name = "${azurerm_resource_group.test.name}" 63 } 64 `, resourceGroupName, name) 65 }