github.com/shvar/terraform@v0.6.9-0.20151215234924-3365cd2231df/builtin/providers/azurerm/resource_arm_resource_group_test.go (about) 1 package azurerm 2 3 import ( 4 "fmt" 5 "testing" 6 7 "github.com/Azure/azure-sdk-for-go/core/http" 8 "github.com/hashicorp/terraform/helper/resource" 9 "github.com/hashicorp/terraform/terraform" 10 ) 11 12 func TestAccAzureRMResourceGroup_basic(t *testing.T) { 13 resource.Test(t, resource.TestCase{ 14 PreCheck: func() { testAccPreCheck(t) }, 15 Providers: testAccProviders, 16 CheckDestroy: testCheckAzureRMResourceGroupDestroy, 17 Steps: []resource.TestStep{ 18 resource.TestStep{ 19 Config: testAccAzureRMResourceGroup_basic, 20 Check: resource.ComposeTestCheckFunc( 21 testCheckAzureRMResourceGroupExists("azurerm_resource_group.test"), 22 ), 23 }, 24 }, 25 }) 26 } 27 28 func testCheckAzureRMResourceGroupExists(name string) resource.TestCheckFunc { 29 return func(s *terraform.State) error { 30 // Ensure we have enough information in state to look up in API 31 rs, ok := s.RootModule().Resources[name] 32 if !ok { 33 return fmt.Errorf("Not found: %s", name) 34 } 35 36 resourceGroup := rs.Primary.Attributes["name"] 37 38 // Ensure resource group exists in API 39 conn := testAccProvider.Meta().(*ArmClient).resourceGroupClient 40 41 resp, err := conn.Get(resourceGroup) 42 if err != nil { 43 return fmt.Errorf("Bad: Get on resourceGroupClient: %s", err) 44 } 45 46 if resp.StatusCode == http.StatusNotFound { 47 return fmt.Errorf("Bad: Virtual Network %q (resource group: %q) does not exist", name, resourceGroup) 48 } 49 50 return nil 51 } 52 } 53 54 func testCheckAzureRMResourceGroupDestroy(s *terraform.State) error { 55 conn := testAccProvider.Meta().(*ArmClient).resourceGroupClient 56 57 for _, rs := range s.RootModule().Resources { 58 if rs.Type != "azurerm_resource_group" { 59 continue 60 } 61 62 resourceGroup := rs.Primary.ID 63 64 resp, err := conn.Get(resourceGroup) 65 if err != nil { 66 return nil 67 } 68 69 if resp.StatusCode != http.StatusNotFound { 70 return fmt.Errorf("Resource Group still exists:\n%#v", resp.Properties) 71 } 72 } 73 74 return nil 75 } 76 77 var testAccAzureRMResourceGroup_basic = ` 78 resource "azurerm_resource_group" "test" { 79 name = "acceptanceTestResourceGroup1_basic" 80 location = "West US" 81 } 82 `