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  }