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  `