terraform-provider-google/google/resource_compute_router_test.go
The Magician c605b0bc4b [Terraform]: Apply gofmt -s to all files managed by MM (#2676)
<!-- This change is generated by MagicModules. -->
/cc @rileykarson
2018-12-20 17:22:22 -08:00

183 lines
4.4 KiB
Go

package google
import (
"fmt"
"testing"
"github.com/hashicorp/terraform/helper/acctest"
"github.com/hashicorp/terraform/helper/resource"
)
func TestAccComputeRouter_basic(t *testing.T) {
t.Parallel()
testId := acctest.RandString(10)
resourceRegion := "europe-west1"
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckComputeRouterDestroy,
Steps: []resource.TestStep{
{
Config: testAccComputeRouterBasic(testId, resourceRegion),
},
{
ResourceName: "google_compute_router.foobar",
ImportState: true,
ImportStateVerify: true,
},
},
})
}
func TestAccComputeRouter_noRegion(t *testing.T) {
t.Parallel()
testId := acctest.RandString(10)
providerRegion := "us-central1"
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckComputeRouterDestroy,
Steps: []resource.TestStep{
{
Config: testAccComputeRouterNoRegion(testId, providerRegion),
},
{
ResourceName: "google_compute_router.foobar",
ImportState: true,
ImportStateVerify: true,
},
},
})
}
func TestAccComputeRouter_full(t *testing.T) {
t.Parallel()
testId := acctest.RandString(10)
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckComputeRouterDestroy,
Steps: []resource.TestStep{
{
Config: testAccComputeRouterFull(testId),
},
{
ResourceName: "google_compute_router.foobar",
ImportState: true,
ImportStateVerify: true,
},
},
})
}
func TestAccComputeRouter_update(t *testing.T) {
t.Parallel()
testId := acctest.RandString(10)
region := getTestRegionFromEnv()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckComputeRouterDestroy,
Steps: []resource.TestStep{
{
Config: testAccComputeRouterBasic(testId, region),
},
{
ResourceName: "google_compute_router.foobar",
ImportState: true,
ImportStateVerify: true,
},
{
Config: testAccComputeRouterFull(testId),
},
{
ResourceName: "google_compute_router.foobar",
ImportState: true,
ImportStateVerify: true,
},
{
Config: testAccComputeRouterBasic(testId, region),
},
{
ResourceName: "google_compute_router.foobar",
ImportState: true,
ImportStateVerify: true,
},
},
})
}
func testAccComputeRouterBasic(testId, resourceRegion string) string {
return fmt.Sprintf(`
resource "google_compute_network" "foobar" {
name = "router-test-%s"
auto_create_subnetworks = false
}
resource "google_compute_subnetwork" "foobar" {
name = "router-test-subnetwork-%s"
network = "${google_compute_network.foobar.self_link}"
ip_cidr_range = "10.0.0.0/16"
region = "%s"
}
resource "google_compute_router" "foobar" {
name = "router-test-%s"
region = "${google_compute_subnetwork.foobar.region}"
network = "${google_compute_network.foobar.name}"
bgp {
asn = 64514
}
}
`, testId, testId, resourceRegion, testId)
}
func testAccComputeRouterNoRegion(testId, providerRegion string) string {
return fmt.Sprintf(`
resource "google_compute_network" "foobar" {
name = "router-test-%s"
auto_create_subnetworks = false
}
resource "google_compute_subnetwork" "foobar" {
name = "router-test-subnetwork-%s"
network = "${google_compute_network.foobar.self_link}"
ip_cidr_range = "10.0.0.0/16"
region = "%s"
}
resource "google_compute_router" "foobar" {
name = "router-test-%s"
network = "${google_compute_network.foobar.name}"
bgp {
asn = 64514
}
}
`, testId, testId, providerRegion, testId)
}
func testAccComputeRouterFull(testId string) string {
return fmt.Sprintf(`
resource "google_compute_network" "foobar" {
name = "router-test-%s"
auto_create_subnetworks = false
}
resource "google_compute_router" "foobar" {
name = "router-test-%s"
network = "${google_compute_network.foobar.name}"
bgp {
asn = 64514
advertise_mode = "CUSTOM"
advertised_groups = ["ALL_SUBNETS"]
advertised_ip_ranges {
range = "1.2.3.4"
}
advertised_ip_ranges {
range = "6.7.0.0/16"
}
}
}
`, testId, testId)
}