51 lines
1.3 KiB
Go
51 lines
1.3 KiB
Go
package digitalocean
|
|
|
|
import (
|
|
"regexp"
|
|
"testing"
|
|
|
|
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
|
)
|
|
|
|
func TestAccDigitalOceanRegion_Basic(t *testing.T) {
|
|
config := `
|
|
data "digitalocean_region" "lon1" {
|
|
slug = "lon1"
|
|
}
|
|
`
|
|
resource.ParallelTest(t, resource.TestCase{
|
|
PreCheck: func() { testAccPreCheck(t) },
|
|
ProviderFactories: testAccProviderFactories,
|
|
Steps: []resource.TestStep{
|
|
{
|
|
Config: config,
|
|
Check: resource.ComposeTestCheckFunc(
|
|
resource.TestCheckResourceAttr("data.digitalocean_region.lon1", "slug", "lon1"),
|
|
resource.TestCheckResourceAttrSet("data.digitalocean_region.lon1", "name"),
|
|
resource.TestCheckResourceAttrSet("data.digitalocean_region.lon1", "available"),
|
|
resource.TestCheckResourceAttrSet("data.digitalocean_region.lon1", "sizes.#"),
|
|
resource.TestCheckResourceAttrSet("data.digitalocean_region.lon1", "features.#"),
|
|
),
|
|
},
|
|
},
|
|
})
|
|
}
|
|
|
|
func TestAccDigitalOceanRegion_MissingSlug(t *testing.T) {
|
|
config := `
|
|
data "digitalocean_region" "xyz5" {
|
|
slug = "xyz5"
|
|
}
|
|
`
|
|
resource.ParallelTest(t, resource.TestCase{
|
|
PreCheck: func() { testAccPreCheck(t) },
|
|
ProviderFactories: testAccProviderFactories,
|
|
Steps: []resource.TestStep{
|
|
{
|
|
Config: config,
|
|
ExpectError: regexp.MustCompile("Region does not exist: xyz5"),
|
|
},
|
|
},
|
|
})
|
|
}
|