issues/204 - Refactors and renames test to be more readable.

This commit is contained in:
Trent Rosenbaum 2019-04-12 15:55:45 +01:00
parent d5826b679f
commit cc63a20ee5
1 changed files with 72 additions and 51 deletions

View File

@ -10,54 +10,15 @@ import (
"github.com/hashicorp/terraform/terraform" "github.com/hashicorp/terraform/terraform"
) )
func TestAccDigitalOceanCDN_Basic(t *testing.T) { const originSuffix = ".ams3.digitaloceanspaces.com"
digitalOceanBucketName := fmt.Sprintf("tf-cdn-test-bucket-%d", acctest.RandInt())
cdnConfig := fmt.Sprintf(testAccCheckDigitalOceanCDNConfig_basic, digitalOceanBucketName)
resource.Test(t, resource.TestCase{ func TestAccDigitalOceanCDN_Create(t *testing.T) {
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckDigitalOceanCDNDestroy,
Steps: []resource.TestStep{
{
Config: cdnConfig,
Check: resource.ComposeTestCheckFunc(
testAccCheckDigitalOceanCDNExists("digitalocean_cdn.foobar"),
resource.TestCheckResourceAttr(
"digitalocean_cdn.foobar", "origin", digitalOceanBucketName+".ams3.digitaloceanspaces.com"),
resource.TestCheckResourceAttr("digitalocean_cdn.foobar", "ttl", "3600"),
),
},
},
})
}
func TestAccDigitalOceanCDN_withTTL(t *testing.T) { bucketName := generateBucketName()
digitalOceanBucketName := fmt.Sprintf("tf-cdn-test-bucket-%d", acctest.RandInt()) cdnCreateConfig := fmt.Sprintf(testAccCheckDigitalOceanCDNConfig_Create, bucketName)
cdnConfig := fmt.Sprintf(testAccCheckDigitalOceanCDNConfig_withTTL, digitalOceanBucketName)
resource.Test(t, resource.TestCase{ expectedOrigin := bucketName + originSuffix
PreCheck: func() { testAccPreCheck(t) }, expectedTTL := "3600"
Providers: testAccProviders,
CheckDestroy: testAccCheckDigitalOceanCDNDestroy,
Steps: []resource.TestStep{
{
Config: cdnConfig,
Check: resource.ComposeTestCheckFunc(
testAccCheckDigitalOceanCDNExists("digitalocean_cdn.foobar"),
resource.TestCheckResourceAttr(
"digitalocean_cdn.foobar", "origin", digitalOceanBucketName+".ams3.digitaloceanspaces.com"),
resource.TestCheckResourceAttr("digitalocean_cdn.foobar", "ttl", "1800"),
),
},
},
})
}
func TestAccDigitalOceanCDN_Create_And_Update(t *testing.T) {
digitalOceanBucketName := fmt.Sprintf("tf-cdn-test-bucket-%d", acctest.RandInt())
cdnCreateConfig := fmt.Sprintf(testAccCheckDigitalOceanCDNConfig_basic, digitalOceanBucketName)
cdnUpdateConfig := fmt.Sprintf(testAccCheckDigitalOceanCDNConfig_withTTL, digitalOceanBucketName)
resource.Test(t, resource.TestCase{ resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) }, PreCheck: func() { testAccPreCheck(t) },
@ -69,7 +30,63 @@ func TestAccDigitalOceanCDN_Create_And_Update(t *testing.T) {
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckDigitalOceanCDNExists("digitalocean_cdn.foobar"), testAccCheckDigitalOceanCDNExists("digitalocean_cdn.foobar"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"digitalocean_cdn.foobar", "origin", digitalOceanBucketName+".ams3.digitaloceanspaces.com"), "digitalocean_cdn.foobar", "origin", expectedOrigin),
resource.TestCheckResourceAttr("digitalocean_cdn.foobar", "ttl", expectedTTL),
),
},
},
})
}
func TestAccDigitalOceanCDN_Create_with_TTL(t *testing.T) {
bucketName := generateBucketName()
ttl := 1800
cdnCreateConfig := fmt.Sprintf(testAccCheckDigitalOceanCDNConfig_Create_with_TTL, bucketName, ttl)
expectedOrigin := bucketName + originSuffix
expectedTTL := "1800"
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckDigitalOceanCDNDestroy,
Steps: []resource.TestStep{
{
Config: cdnCreateConfig,
Check: resource.ComposeTestCheckFunc(
testAccCheckDigitalOceanCDNExists("digitalocean_cdn.foobar"),
resource.TestCheckResourceAttr(
"digitalocean_cdn.foobar", "origin", expectedOrigin),
resource.TestCheckResourceAttr("digitalocean_cdn.foobar", "ttl", expectedTTL),
),
},
},
})
}
func TestAccDigitalOceanCDN_Create_and_Update(t *testing.T) {
bucketName := generateBucketName()
ttl := 1800
cdnCreateConfig := fmt.Sprintf(testAccCheckDigitalOceanCDNConfig_Create, bucketName)
cdnUpdateConfig := fmt.Sprintf(testAccCheckDigitalOceanCDNConfig_Create_with_TTL, bucketName, ttl)
expectedOrigin := bucketName + originSuffix
expectedTTL := "1800"
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckDigitalOceanCDNDestroy,
Steps: []resource.TestStep{
{
Config: cdnCreateConfig,
Check: resource.ComposeTestCheckFunc(
testAccCheckDigitalOceanCDNExists("digitalocean_cdn.foobar"),
resource.TestCheckResourceAttr(
"digitalocean_cdn.foobar", "origin", expectedOrigin),
resource.TestCheckResourceAttr("digitalocean_cdn.foobar", "ttl", "3600"), resource.TestCheckResourceAttr("digitalocean_cdn.foobar", "ttl", "3600"),
), ),
}, },
@ -78,8 +95,8 @@ func TestAccDigitalOceanCDN_Create_And_Update(t *testing.T) {
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckDigitalOceanCDNExists("digitalocean_cdn.foobar"), testAccCheckDigitalOceanCDNExists("digitalocean_cdn.foobar"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"digitalocean_cdn.foobar", "origin", digitalOceanBucketName+".ams3.digitaloceanspaces.com"), "digitalocean_cdn.foobar", "origin", expectedOrigin),
resource.TestCheckResourceAttr("digitalocean_cdn.foobar", "ttl", "1800"), resource.TestCheckResourceAttr("digitalocean_cdn.foobar", "ttl", expectedTTL),
), ),
}, },
}, },
@ -132,7 +149,11 @@ func testAccCheckDigitalOceanCDNExists(resource string) resource.TestCheckFunc {
} }
} }
const testAccCheckDigitalOceanCDNConfig_basic = ` func generateBucketName() string {
return fmt.Sprintf("tf-cdn-test-bucket-%d", acctest.RandInt())
}
const testAccCheckDigitalOceanCDNConfig_Create = `
resource "digitalocean_spaces_bucket" "bucket" { resource "digitalocean_spaces_bucket" "bucket" {
name = "%s" name = "%s"
region = "ams3" region = "ams3"
@ -143,7 +164,7 @@ resource "digitalocean_cdn" "foobar" {
origin = "${digitalocean_spaces_bucket.bucket.bucket_domain_name}" origin = "${digitalocean_spaces_bucket.bucket.bucket_domain_name}"
}` }`
const testAccCheckDigitalOceanCDNConfig_withTTL = ` const testAccCheckDigitalOceanCDNConfig_Create_with_TTL = `
resource "digitalocean_spaces_bucket" "bucket" { resource "digitalocean_spaces_bucket" "bucket" {
name = "%s" name = "%s"
region = "ams3" region = "ams3"
@ -152,5 +173,5 @@ resource "digitalocean_spaces_bucket" "bucket" {
resource "digitalocean_cdn" "foobar" { resource "digitalocean_cdn" "foobar" {
origin = "${digitalocean_spaces_bucket.bucket.bucket_domain_name}" origin = "${digitalocean_spaces_bucket.bucket.bucket_domain_name}"
ttl = 1800 ttl = %d
}` }`