randomizes all bgp_asn values

This commit is contained in:
= 2017-04-03 11:17:59 -06:00
parent e2d7d5fc68
commit 1b2653b0bd
5 changed files with 152 additions and 123 deletions

View File

@ -3,11 +3,14 @@ package aws
import (
"testing"
"github.com/hashicorp/terraform/helper/acctest"
"github.com/hashicorp/terraform/helper/resource"
)
func TestAccAWSCustomerGateway_importBasic(t *testing.T) {
resourceName := "aws_customer_gateway.foo"
rInt := acctest.RandInt()
rBgpAsn := acctest.RandIntRange(64512, 65534)
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
@ -15,7 +18,7 @@ func TestAccAWSCustomerGateway_importBasic(t *testing.T) {
CheckDestroy: testAccCheckCustomerGatewayDestroy,
Steps: []resource.TestStep{
resource.TestStep{
Config: testAccCustomerGatewayConfig,
Config: testAccCustomerGatewayConfig(rInt, rBgpAsn),
},
resource.TestStep{

View File

@ -3,11 +3,13 @@ package aws
import (
"testing"
"github.com/hashicorp/terraform/helper/acctest"
"github.com/hashicorp/terraform/helper/resource"
)
func TestAccAWSVpnConnection_importBasic(t *testing.T) {
resourceName := "aws_vpn_connection.foo"
rBgpAsn := acctest.RandIntRange(64512, 65534)
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
@ -15,7 +17,7 @@ func TestAccAWSVpnConnection_importBasic(t *testing.T) {
CheckDestroy: testAccAwsVpnConnectionDestroy,
Steps: []resource.TestStep{
{
Config: testAccAwsVpnConnectionConfig,
Config: testAccAwsVpnConnectionConfig(rBgpAsn),
},
{
ResourceName: resourceName,

View File

@ -10,12 +10,15 @@ import (
"github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/service/ec2"
"github.com/hashicorp/terraform/helper/acctest"
"github.com/hashicorp/terraform/helper/resource"
"github.com/hashicorp/terraform/terraform"
)
func TestAccAWSCustomerGateway_basic(t *testing.T) {
var gateway ec2.CustomerGateway
rBgpAsn := acctest.RandIntRange(64512, 65534)
rInt := acctest.RandInt()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
IDRefreshName: "aws_customer_gateway.foo",
@ -23,19 +26,19 @@ func TestAccAWSCustomerGateway_basic(t *testing.T) {
CheckDestroy: testAccCheckCustomerGatewayDestroy,
Steps: []resource.TestStep{
{
Config: testAccCustomerGatewayConfig,
Config: testAccCustomerGatewayConfig(rInt, rBgpAsn),
Check: resource.ComposeTestCheckFunc(
testAccCheckCustomerGateway("aws_customer_gateway.foo", &gateway),
),
},
{
Config: testAccCustomerGatewayConfigUpdateTags,
Config: testAccCustomerGatewayConfigUpdateTags(rInt, rBgpAsn),
Check: resource.ComposeTestCheckFunc(
testAccCheckCustomerGateway("aws_customer_gateway.foo", &gateway),
),
},
{
Config: testAccCustomerGatewayConfigForceReplace,
Config: testAccCustomerGatewayConfigForceReplace(rInt, rBgpAsn),
Check: resource.ComposeTestCheckFunc(
testAccCheckCustomerGateway("aws_customer_gateway.foo", &gateway),
),
@ -46,6 +49,8 @@ func TestAccAWSCustomerGateway_basic(t *testing.T) {
func TestAccAWSCustomerGateway_similarAlreadyExists(t *testing.T) {
var gateway ec2.CustomerGateway
rInt := acctest.RandInt()
rBgpAsn := acctest.RandIntRange(64512, 65534)
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
IDRefreshName: "aws_customer_gateway.foo",
@ -53,13 +58,13 @@ func TestAccAWSCustomerGateway_similarAlreadyExists(t *testing.T) {
CheckDestroy: testAccCheckCustomerGatewayDestroy,
Steps: []resource.TestStep{
{
Config: testAccCustomerGatewayConfig,
Config: testAccCustomerGatewayConfig(rInt, rBgpAsn),
Check: resource.ComposeTestCheckFunc(
testAccCheckCustomerGateway("aws_customer_gateway.foo", &gateway),
),
},
{
Config: testAccCustomerGatewayConfigIdentical,
Config: testAccCustomerGatewayConfigIdentical(rInt, rBgpAsn),
ExpectError: regexp.MustCompile("An existing customer gateway"),
},
},
@ -67,6 +72,8 @@ func TestAccAWSCustomerGateway_similarAlreadyExists(t *testing.T) {
}
func TestAccAWSCustomerGateway_disappears(t *testing.T) {
rInt := acctest.RandInt()
rBgpAsn := acctest.RandIntRange(64512, 65534)
var gateway ec2.CustomerGateway
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
@ -74,7 +81,7 @@ func TestAccAWSCustomerGateway_disappears(t *testing.T) {
CheckDestroy: testAccCheckCustomerGatewayDestroy,
Steps: []resource.TestStep{
{
Config: testAccCustomerGatewayConfig,
Config: testAccCustomerGatewayConfig(rInt, rBgpAsn),
Check: resource.ComposeTestCheckFunc(
testAccCheckCustomerGateway("aws_customer_gateway.foo", &gateway),
testAccAWSCustomerGatewayDisappears(&gateway),
@ -190,59 +197,66 @@ func testAccCheckCustomerGateway(gatewayResource string, cgw *ec2.CustomerGatewa
}
}
const testAccCustomerGatewayConfig = `
resource "aws_customer_gateway" "foo" {
bgp_asn = 65000
ip_address = "172.0.0.1"
type = "ipsec.1"
tags {
Name = "foo-gateway"
}
}
`
const testAccCustomerGatewayConfigIdentical = `
resource "aws_customer_gateway" "foo" {
bgp_asn = 65000
ip_address = "172.0.0.1"
type = "ipsec.1"
tags {
Name = "foo-gateway"
}
func testAccCustomerGatewayConfig(rInt, rBgpAsn int) string {
return fmt.Sprintf(`
resource "aws_customer_gateway" "foo" {
bgp_asn = %d
ip_address = "172.0.0.1"
type = "ipsec.1"
tags {
Name = "foo-gateway-%d"
}
}
`, rBgpAsn, rInt)
}
resource "aws_customer_gateway" "identical" {
bgp_asn = 65000
ip_address = "172.0.0.1"
type = "ipsec.1"
tags {
Name = "foo-gateway-identical"
}
func testAccCustomerGatewayConfigIdentical(randInt, rBgpAsn int) string {
return fmt.Sprintf(`
resource "aws_customer_gateway" "foo" {
bgp_asn = %d
ip_address = "172.0.0.1"
type = "ipsec.1"
tags {
Name = "foo-gateway-%d"
}
}
resource "aws_customer_gateway" "identical" {
bgp_asn = %d
ip_address = "172.0.0.1"
type = "ipsec.1"
tags {
Name = "foo-gateway-identical-%d"
}
}
`, rBgpAsn, randInt, rBgpAsn, randInt)
}
`
// Add the Another: "tag" tag.
const testAccCustomerGatewayConfigUpdateTags = `
resource "aws_customer_gateway" "foo" {
bgp_asn = 65000
ip_address = "172.0.0.1"
type = "ipsec.1"
tags {
Name = "foo-gateway"
Another = "tag"
func testAccCustomerGatewayConfigUpdateTags(rInt, rBgpAsn int) string {
return fmt.Sprintf(`
resource "aws_customer_gateway" "foo" {
bgp_asn = %d
ip_address = "172.0.0.1"
type = "ipsec.1"
tags {
Name = "foo-gateway-%d"
Another = "tag"
}
}
`, rBgpAsn, rInt)
}
`
// Change the ip_address.
const testAccCustomerGatewayConfigForceReplace = `
resource "aws_customer_gateway" "foo" {
bgp_asn = 65000
ip_address = "172.10.10.1"
type = "ipsec.1"
tags {
Name = "foo-gateway"
Another = "tag"
}
func testAccCustomerGatewayConfigForceReplace(rInt, rBgpAsn int) string {
return fmt.Sprintf(`
resource "aws_customer_gateway" "foo" {
bgp_asn = %d
ip_address = "172.10.10.1"
type = "ipsec.1"
tags {
Name = "foo-gateway-%d"
Another = "tag"
}
}
`, rBgpAsn, rInt)
}
`

View File

@ -15,6 +15,7 @@ import (
func TestAccAWSVpnConnection_basic(t *testing.T) {
rInt := acctest.RandInt()
rBgpAsn := acctest.RandIntRange(64512, 65534)
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
IDRefreshName: "aws_vpn_connection.foo",
@ -22,7 +23,7 @@ func TestAccAWSVpnConnection_basic(t *testing.T) {
CheckDestroy: testAccAwsVpnConnectionDestroy,
Steps: []resource.TestStep{
{
Config: testAccAwsVpnConnectionConfig,
Config: testAccAwsVpnConnectionConfig(rBgpAsn),
Check: resource.ComposeTestCheckFunc(
testAccAwsVpnConnection(
"aws_vpc.vpc",
@ -33,7 +34,7 @@ func TestAccAWSVpnConnection_basic(t *testing.T) {
),
},
{
Config: testAccAwsVpnConnectionConfigUpdate(rInt),
Config: testAccAwsVpnConnectionConfigUpdate(rInt, rBgpAsn),
Check: resource.ComposeTestCheckFunc(
testAccAwsVpnConnection(
"aws_vpc.vpc",
@ -49,6 +50,7 @@ func TestAccAWSVpnConnection_basic(t *testing.T) {
func TestAccAWSVpnConnection_withoutStaticRoutes(t *testing.T) {
rInt := acctest.RandInt()
rBgpAsn := acctest.RandIntRange(64512, 65534)
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
IDRefreshName: "aws_vpn_connection.foo",
@ -56,7 +58,7 @@ func TestAccAWSVpnConnection_withoutStaticRoutes(t *testing.T) {
CheckDestroy: testAccAwsVpnConnectionDestroy,
Steps: []resource.TestStep{
{
Config: testAccAwsVpnConnectionConfigUpdate(rInt),
Config: testAccAwsVpnConnectionConfigUpdate(rInt, rBgpAsn),
Check: resource.ComposeTestCheckFunc(
testAccAwsVpnConnection(
"aws_vpc.vpc",
@ -163,32 +165,34 @@ func TestAWSVpnConnection_xmlconfig(t *testing.T) {
}
}
const testAccAwsVpnConnectionConfig = `
resource "aws_vpn_gateway" "vpn_gateway" {
tags {
Name = "vpn_gateway"
}
}
resource "aws_customer_gateway" "customer_gateway" {
bgp_asn = 65000
ip_address = "178.0.0.1"
type = "ipsec.1"
tags {
Name = "main-customer-gateway"
func testAccAwsVpnConnectionConfig(rBgpAsn int) string {
return fmt.Sprintf(`
resource "aws_vpn_gateway" "vpn_gateway" {
tags {
Name = "vpn_gateway"
}
}
}
resource "aws_vpn_connection" "foo" {
vpn_gateway_id = "${aws_vpn_gateway.vpn_gateway.id}"
customer_gateway_id = "${aws_customer_gateway.customer_gateway.id}"
type = "ipsec.1"
static_routes_only = true
}
`
resource "aws_customer_gateway" "customer_gateway" {
bgp_asn = %d
ip_address = "178.0.0.1"
type = "ipsec.1"
tags {
Name = "main-customer-gateway"
}
}
resource "aws_vpn_connection" "foo" {
vpn_gateway_id = "${aws_vpn_gateway.vpn_gateway.id}"
customer_gateway_id = "${aws_customer_gateway.customer_gateway.id}"
type = "ipsec.1"
static_routes_only = true
}
`, rBgpAsn)
}
// Change static_routes_only to be false, forcing a refresh.
func testAccAwsVpnConnectionConfigUpdate(rInt int) string {
func testAccAwsVpnConnectionConfigUpdate(rInt, rBgpAsn int) string {
return fmt.Sprintf(`
resource "aws_vpn_gateway" "vpn_gateway" {
tags {
@ -197,7 +201,7 @@ func testAccAwsVpnConnectionConfigUpdate(rInt int) string {
}
resource "aws_customer_gateway" "customer_gateway" {
bgp_asn = 65000
bgp_asn = %d
ip_address = "178.0.0.1"
type = "ipsec.1"
tags {
@ -211,7 +215,7 @@ func testAccAwsVpnConnectionConfigUpdate(rInt int) string {
type = "ipsec.1"
static_routes_only = false
}
`, rInt)
`, rBgpAsn, rInt)
}
// Test our VPN tunnel config XML parsing

View File

@ -8,18 +8,20 @@ import (
"github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/service/ec2"
"github.com/hashicorp/terraform/helper/acctest"
"github.com/hashicorp/terraform/helper/resource"
"github.com/hashicorp/terraform/terraform"
)
func TestAccAWSVpnConnectionRoute_basic(t *testing.T) {
rBgpAsn := acctest.RandIntRange(64512, 65534)
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccAwsVpnConnectionRouteDestroy,
Steps: []resource.TestStep{
resource.TestStep{
Config: testAccAwsVpnConnectionRouteConfig,
Config: testAccAwsVpnConnectionRouteConfig(rBgpAsn),
Check: resource.ComposeTestCheckFunc(
testAccAwsVpnConnectionRoute(
"aws_vpn_gateway.vpn_gateway",
@ -30,7 +32,7 @@ func TestAccAWSVpnConnectionRoute_basic(t *testing.T) {
),
},
resource.TestStep{
Config: testAccAwsVpnConnectionRouteConfigUpdate,
Config: testAccAwsVpnConnectionRouteConfigUpdate(rBgpAsn),
Check: resource.ComposeTestCheckFunc(
testAccAwsVpnConnectionRoute(
"aws_vpn_gateway.vpn_gateway",
@ -143,55 +145,59 @@ func testAccAwsVpnConnectionRoute(
}
}
const testAccAwsVpnConnectionRouteConfig = `
resource "aws_vpn_gateway" "vpn_gateway" {
tags {
Name = "vpn_gateway"
func testAccAwsVpnConnectionRouteConfig(rBgpAsn int) string {
return fmt.Sprintf(`
resource "aws_vpn_gateway" "vpn_gateway" {
tags {
Name = "vpn_gateway"
}
}
}
resource "aws_customer_gateway" "customer_gateway" {
bgp_asn = 65000
ip_address = "182.0.0.1"
type = "ipsec.1"
}
resource "aws_customer_gateway" "customer_gateway" {
bgp_asn = %d
ip_address = "182.0.0.1"
type = "ipsec.1"
}
resource "aws_vpn_connection" "vpn_connection" {
vpn_gateway_id = "${aws_vpn_gateway.vpn_gateway.id}"
customer_gateway_id = "${aws_customer_gateway.customer_gateway.id}"
type = "ipsec.1"
static_routes_only = true
}
resource "aws_vpn_connection" "vpn_connection" {
vpn_gateway_id = "${aws_vpn_gateway.vpn_gateway.id}"
customer_gateway_id = "${aws_customer_gateway.customer_gateway.id}"
type = "ipsec.1"
static_routes_only = true
}
resource "aws_vpn_connection_route" "foo" {
destination_cidr_block = "172.168.10.0/24"
vpn_connection_id = "${aws_vpn_connection.vpn_connection.id}"
resource "aws_vpn_connection_route" "foo" {
destination_cidr_block = "172.168.10.0/24"
vpn_connection_id = "${aws_vpn_connection.vpn_connection.id}"
}
`, rBgpAsn)
}
`
// Change destination_cidr_block
const testAccAwsVpnConnectionRouteConfigUpdate = `
resource "aws_vpn_gateway" "vpn_gateway" {
tags {
Name = "vpn_gateway"
func testAccAwsVpnConnectionRouteConfigUpdate(rBgpAsn int) string {
return fmt.Sprintf(`
resource "aws_vpn_gateway" "vpn_gateway" {
tags {
Name = "vpn_gateway"
}
}
}
resource "aws_customer_gateway" "customer_gateway" {
bgp_asn = 65000
ip_address = "182.0.0.1"
type = "ipsec.1"
}
resource "aws_customer_gateway" "customer_gateway" {
bgp_asn = %d
ip_address = "182.0.0.1"
type = "ipsec.1"
}
resource "aws_vpn_connection" "vpn_connection" {
vpn_gateway_id = "${aws_vpn_gateway.vpn_gateway.id}"
customer_gateway_id = "${aws_customer_gateway.customer_gateway.id}"
type = "ipsec.1"
static_routes_only = true
}
resource "aws_vpn_connection" "vpn_connection" {
vpn_gateway_id = "${aws_vpn_gateway.vpn_gateway.id}"
customer_gateway_id = "${aws_customer_gateway.customer_gateway.id}"
type = "ipsec.1"
static_routes_only = true
}
resource "aws_vpn_connection_route" "foo" {
destination_cidr_block = "172.168.20.0/24"
vpn_connection_id = "${aws_vpn_connection.vpn_connection.id}"
resource "aws_vpn_connection_route" "foo" {
destination_cidr_block = "172.168.20.0/24"
vpn_connection_id = "${aws_vpn_connection.vpn_connection.id}"
}
`, rBgpAsn)
}
`