github.com/vtorhonen/terraform@v0.9.0-beta2.0.20170307220345-5d894e4ffda7/builtin/providers/alicloud/data_source_alicloud_regions_test.go (about) 1 package alicloud 2 3 import ( 4 "testing" 5 6 "github.com/hashicorp/terraform/helper/resource" 7 ) 8 9 func TestAccAlicloudRegionsDataSource_regions(t *testing.T) { 10 resource.Test(t, resource.TestCase{ 11 PreCheck: func() { testAccPreCheck(t) }, 12 Providers: testAccProviders, 13 Steps: []resource.TestStep{ 14 { 15 Config: testAccCheckAlicloudRegionsDataSourceRegionsConfig, 16 Check: resource.ComposeTestCheckFunc( 17 testAccCheckAlicloudDataSourceID("data.alicloud_regions.region"), 18 19 resource.TestCheckResourceAttr("data.alicloud_regions.region", "name", "cn-beijing"), 20 resource.TestCheckResourceAttr("data.alicloud_regions.region", "current", "true"), 21 22 resource.TestCheckResourceAttr("data.alicloud_regions.region", "regions.#", "1"), 23 24 resource.TestCheckResourceAttr("data.alicloud_regions.region", "regions.0.id", "cn-beijing"), 25 resource.TestCheckResourceAttr("data.alicloud_regions.region", "regions.0.region_id", "cn-beijing"), 26 resource.TestCheckResourceAttr("data.alicloud_regions.region", "regions.0.local_name", "华北 2"), 27 ), 28 }, 29 }, 30 }) 31 } 32 33 func TestAccAlicloudRegionsDataSource_name(t *testing.T) { 34 resource.Test(t, resource.TestCase{ 35 PreCheck: func() { testAccPreCheck(t) }, 36 Providers: testAccProviders, 37 Steps: []resource.TestStep{ 38 { 39 Config: testAccCheckAlicloudRegionsDataSourceNameConfig, 40 Check: resource.ComposeTestCheckFunc( 41 testAccCheckAlicloudDataSourceID("data.alicloud_regions.name_filtered_region"), 42 resource.TestCheckResourceAttr("data.alicloud_regions.name_filtered_region", "name", "cn-hangzhou")), 43 }, 44 }, 45 }) 46 } 47 48 func TestAccAlicloudRegionsDataSource_current(t *testing.T) { 49 resource.Test(t, resource.TestCase{ 50 PreCheck: func() { testAccPreCheck(t) }, 51 Providers: testAccProviders, 52 Steps: []resource.TestStep{ 53 { 54 Config: testAccCheckAlicloudRegionsDataSourceCurrentConfig, 55 Check: resource.ComposeTestCheckFunc( 56 testAccCheckAlicloudDataSourceID("data.alicloud_regions.current_filtered_region"), 57 resource.TestCheckResourceAttr("data.alicloud_regions.current_filtered_region", "current", "true"), 58 ), 59 }, 60 }, 61 }) 62 } 63 64 func TestAccAlicloudRegionsDataSource_empty(t *testing.T) { 65 resource.Test(t, resource.TestCase{ 66 PreCheck: func() { testAccPreCheck(t) }, 67 Providers: testAccProviders, 68 Steps: []resource.TestStep{ 69 { 70 Config: testAccCheckAlicloudRegionsDataSourceEmptyConfig, 71 Check: resource.ComposeTestCheckFunc( 72 testAccCheckAlicloudDataSourceID("data.alicloud_regions.empty_params_region"), 73 74 resource.TestCheckResourceAttr("data.alicloud_regions.empty_params_region", "name", ""), 75 resource.TestCheckResourceAttr("data.alicloud_regions.empty_params_region", "current", ""), 76 77 resource.TestCheckResourceAttr("data.alicloud_regions.empty_params_region", "regions.#", "13"), 78 79 resource.TestCheckResourceAttr("data.alicloud_regions.empty_params_region", "regions.0.id", "cn-shenzhen"), 80 resource.TestCheckResourceAttr("data.alicloud_regions.empty_params_region", "regions.0.region_id", "cn-shenzhen"), 81 resource.TestCheckResourceAttr("data.alicloud_regions.empty_params_region", "regions.0.local_name", "华南 1"), 82 ), 83 }, 84 }, 85 }) 86 } 87 88 // Instance store test - using centos regions 89 const testAccCheckAlicloudRegionsDataSourceRegionsConfig = ` 90 data "alicloud_regions" "region" { 91 name = "cn-beijing" 92 current = true 93 } 94 ` 95 96 // Testing name parameter 97 const testAccCheckAlicloudRegionsDataSourceNameConfig = ` 98 data "alicloud_regions" "name_filtered_region" { 99 name = "cn-hangzhou" 100 } 101 ` 102 103 // Testing current parameter 104 const testAccCheckAlicloudRegionsDataSourceCurrentConfig = ` 105 data "alicloud_regions" "current_filtered_region" { 106 current = true 107 } 108 ` 109 110 // Testing empty parmas 111 const testAccCheckAlicloudRegionsDataSourceEmptyConfig = ` 112 data "alicloud_regions" "empty_params_region" { 113 } 114 `