change tests to use different options for non-replica and replica tests
This commit is contained in:
@@ -2,13 +2,14 @@ package test
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/gruntwork-io/terratest/modules/gcp"
|
|
||||||
"github.com/gruntwork-io/terratest/modules/terraform"
|
|
||||||
"github.com/gruntwork-io/terratest/modules/test-structure"
|
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/gruntwork-io/terratest/modules/gcp"
|
||||||
|
"github.com/gruntwork-io/terratest/modules/terraform"
|
||||||
|
test_structure "github.com/gruntwork-io/terratest/modules/test-structure"
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
const NAME_PREFIX_PRIVATE = "mysql-private"
|
const NAME_PREFIX_PRIVATE = "mysql-private"
|
||||||
@@ -42,7 +43,7 @@ func TestMySqlPrivateIP(t *testing.T) {
|
|||||||
test_structure.RunTestStage(t, "deploy", func() {
|
test_structure.RunTestStage(t, "deploy", func() {
|
||||||
region := test_structure.LoadString(t, exampleDir, KEY_REGION)
|
region := test_structure.LoadString(t, exampleDir, KEY_REGION)
|
||||||
projectId := test_structure.LoadString(t, exampleDir, KEY_PROJECT)
|
projectId := test_structure.LoadString(t, exampleDir, KEY_PROJECT)
|
||||||
terraformOptions := createTerratestOptionsForCloudSql(projectId, region, exampleDir, NAME_PREFIX_PRIVATE, "", "", 0, "")
|
terraformOptions := createTerratestOptionsForCloudSql(projectId, region, exampleDir, NAME_PREFIX_PRIVATE)
|
||||||
test_structure.SaveTerraformOptions(t, exampleDir, terraformOptions)
|
test_structure.SaveTerraformOptions(t, exampleDir, terraformOptions)
|
||||||
|
|
||||||
terraform.InitAndApply(t, terraformOptions)
|
terraform.InitAndApply(t, terraformOptions)
|
||||||
|
|||||||
@@ -5,18 +5,19 @@ import (
|
|||||||
"crypto/x509"
|
"crypto/x509"
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
|
"testing"
|
||||||
|
"time"
|
||||||
|
|
||||||
mydialer "github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/mysql"
|
mydialer "github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/mysql"
|
||||||
"github.com/go-sql-driver/mysql"
|
"github.com/go-sql-driver/mysql"
|
||||||
"github.com/gruntwork-io/terratest/modules/gcp"
|
"github.com/gruntwork-io/terratest/modules/gcp"
|
||||||
"github.com/gruntwork-io/terratest/modules/logger"
|
"github.com/gruntwork-io/terratest/modules/logger"
|
||||||
"github.com/gruntwork-io/terratest/modules/terraform"
|
"github.com/gruntwork-io/terratest/modules/terraform"
|
||||||
"github.com/gruntwork-io/terratest/modules/test-structure"
|
test_structure "github.com/gruntwork-io/terratest/modules/test-structure"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
"path/filepath"
|
|
||||||
"strings"
|
|
||||||
"testing"
|
|
||||||
"time"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const NAME_PREFIX_PUBLIC = "mysql-public"
|
const NAME_PREFIX_PUBLIC = "mysql-public"
|
||||||
@@ -65,7 +66,7 @@ func TestMySqlPublicIP(t *testing.T) {
|
|||||||
test_structure.RunTestStage(t, "deploy", func() {
|
test_structure.RunTestStage(t, "deploy", func() {
|
||||||
region := test_structure.LoadString(t, exampleDir, KEY_REGION)
|
region := test_structure.LoadString(t, exampleDir, KEY_REGION)
|
||||||
projectId := test_structure.LoadString(t, exampleDir, KEY_PROJECT)
|
projectId := test_structure.LoadString(t, exampleDir, KEY_PROJECT)
|
||||||
terraformOptions := createTerratestOptionsForCloudSql(projectId, region, exampleDir, NAME_PREFIX_PUBLIC, "", "", 0, "")
|
terraformOptions := createTerratestOptionsForCloudSql(projectId, region, exampleDir, NAME_PREFIX_PUBLIC)
|
||||||
test_structure.SaveTerraformOptions(t, exampleDir, terraformOptions)
|
test_structure.SaveTerraformOptions(t, exampleDir, terraformOptions)
|
||||||
|
|
||||||
terraform.InitAndApply(t, terraformOptions)
|
terraform.InitAndApply(t, terraformOptions)
|
||||||
|
|||||||
@@ -3,15 +3,16 @@ package test
|
|||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/gruntwork-io/terratest/modules/gcp"
|
|
||||||
"github.com/gruntwork-io/terratest/modules/logger"
|
|
||||||
"github.com/gruntwork-io/terratest/modules/terraform"
|
|
||||||
"github.com/gruntwork-io/terratest/modules/test-structure"
|
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
"github.com/stretchr/testify/require"
|
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/gruntwork-io/terratest/modules/gcp"
|
||||||
|
"github.com/gruntwork-io/terratest/modules/logger"
|
||||||
|
"github.com/gruntwork-io/terratest/modules/terraform"
|
||||||
|
test_structure "github.com/gruntwork-io/terratest/modules/test-structure"
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
const NAME_PREFIX_REPLICAS = "mysql-replicas"
|
const NAME_PREFIX_REPLICAS = "mysql-replicas"
|
||||||
@@ -58,7 +59,7 @@ func TestMySqlReplicas(t *testing.T) {
|
|||||||
masterZone := test_structure.LoadString(t, exampleDir, KEY_MASTER_ZONE)
|
masterZone := test_structure.LoadString(t, exampleDir, KEY_MASTER_ZONE)
|
||||||
failoverReplicaZone := test_structure.LoadString(t, exampleDir, KEY_FAILOVER_REPLICA_ZONE)
|
failoverReplicaZone := test_structure.LoadString(t, exampleDir, KEY_FAILOVER_REPLICA_ZONE)
|
||||||
readReplicaZone := test_structure.LoadString(t, exampleDir, KEY_READ_REPLICA_ZONE)
|
readReplicaZone := test_structure.LoadString(t, exampleDir, KEY_READ_REPLICA_ZONE)
|
||||||
terraformOptions := createTerratestOptionsForCloudSql(projectId, region, exampleDir, NAME_PREFIX_REPLICAS, masterZone, failoverReplicaZone, 1, readReplicaZone)
|
terraformOptions := createTerratestOptionsForCloudSqlReplicas(projectId, region, exampleDir, NAME_PREFIX_REPLICAS, masterZone, failoverReplicaZone, 1, readReplicaZone)
|
||||||
test_structure.SaveTerraformOptions(t, exampleDir, terraformOptions)
|
test_structure.SaveTerraformOptions(t, exampleDir, terraformOptions)
|
||||||
|
|
||||||
terraform.InitAndApply(t, terraformOptions)
|
terraform.InitAndApply(t, terraformOptions)
|
||||||
|
|||||||
@@ -2,13 +2,14 @@ package test
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/gruntwork-io/terratest/modules/gcp"
|
|
||||||
"github.com/gruntwork-io/terratest/modules/terraform"
|
|
||||||
"github.com/gruntwork-io/terratest/modules/test-structure"
|
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/gruntwork-io/terratest/modules/gcp"
|
||||||
|
"github.com/gruntwork-io/terratest/modules/terraform"
|
||||||
|
test_structure "github.com/gruntwork-io/terratest/modules/test-structure"
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
const NAME_PREFIX_POSTGRES_PRIVATE = "postgres-private"
|
const NAME_PREFIX_POSTGRES_PRIVATE = "postgres-private"
|
||||||
@@ -42,7 +43,7 @@ func TestPostgresPrivateIP(t *testing.T) {
|
|||||||
test_structure.RunTestStage(t, "deploy", func() {
|
test_structure.RunTestStage(t, "deploy", func() {
|
||||||
region := test_structure.LoadString(t, exampleDir, KEY_REGION)
|
region := test_structure.LoadString(t, exampleDir, KEY_REGION)
|
||||||
projectId := test_structure.LoadString(t, exampleDir, KEY_PROJECT)
|
projectId := test_structure.LoadString(t, exampleDir, KEY_PROJECT)
|
||||||
terraformOptions := createTerratestOptionsForCloudSql(projectId, region, exampleDir, NAME_PREFIX_POSTGRES_PRIVATE, "", "", 0, "")
|
terraformOptions := createTerratestOptionsForCloudSql(projectId, region, exampleDir, NAME_PREFIX_POSTGRES_PRIVATE)
|
||||||
test_structure.SaveTerraformOptions(t, exampleDir, terraformOptions)
|
test_structure.SaveTerraformOptions(t, exampleDir, terraformOptions)
|
||||||
|
|
||||||
terraform.InitAndApply(t, terraformOptions)
|
terraform.InitAndApply(t, terraformOptions)
|
||||||
|
|||||||
@@ -3,18 +3,19 @@ package test
|
|||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"fmt"
|
"fmt"
|
||||||
_ "github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/postgres"
|
|
||||||
"github.com/gruntwork-io/terratest/modules/gcp"
|
|
||||||
"github.com/gruntwork-io/terratest/modules/logger"
|
|
||||||
"github.com/gruntwork-io/terratest/modules/terraform"
|
|
||||||
"github.com/gruntwork-io/terratest/modules/test-structure"
|
|
||||||
_ "github.com/lib/pq"
|
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
"github.com/stretchr/testify/require"
|
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
_ "github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/postgres"
|
||||||
|
"github.com/gruntwork-io/terratest/modules/gcp"
|
||||||
|
"github.com/gruntwork-io/terratest/modules/logger"
|
||||||
|
"github.com/gruntwork-io/terratest/modules/terraform"
|
||||||
|
test_structure "github.com/gruntwork-io/terratest/modules/test-structure"
|
||||||
|
_ "github.com/lib/pq"
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
const NAME_PREFIX_POSTGRES_PUBLIC = "postgres-public"
|
const NAME_PREFIX_POSTGRES_PUBLIC = "postgres-public"
|
||||||
@@ -62,7 +63,7 @@ func TestPostgresPublicIP(t *testing.T) {
|
|||||||
test_structure.RunTestStage(t, "deploy", func() {
|
test_structure.RunTestStage(t, "deploy", func() {
|
||||||
region := test_structure.LoadString(t, exampleDir, KEY_REGION)
|
region := test_structure.LoadString(t, exampleDir, KEY_REGION)
|
||||||
projectId := test_structure.LoadString(t, exampleDir, KEY_PROJECT)
|
projectId := test_structure.LoadString(t, exampleDir, KEY_PROJECT)
|
||||||
terraformOptions := createTerratestOptionsForCloudSql(projectId, region, exampleDir, NAME_PREFIX_POSTGRES_PUBLIC, "", "", 0, "")
|
terraformOptions := createTerratestOptionsForCloudSql(projectId, region, exampleDir, NAME_PREFIX_POSTGRES_PUBLIC)
|
||||||
test_structure.SaveTerraformOptions(t, exampleDir, terraformOptions)
|
test_structure.SaveTerraformOptions(t, exampleDir, terraformOptions)
|
||||||
|
|
||||||
terraform.InitAndApply(t, terraformOptions)
|
terraform.InitAndApply(t, terraformOptions)
|
||||||
|
|||||||
@@ -3,16 +3,17 @@ package test
|
|||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/gruntwork-io/terratest/modules/gcp"
|
|
||||||
"github.com/gruntwork-io/terratest/modules/logger"
|
|
||||||
"github.com/gruntwork-io/terratest/modules/terraform"
|
|
||||||
"github.com/gruntwork-io/terratest/modules/test-structure"
|
|
||||||
_ "github.com/lib/pq"
|
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
"github.com/stretchr/testify/require"
|
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/gruntwork-io/terratest/modules/gcp"
|
||||||
|
"github.com/gruntwork-io/terratest/modules/logger"
|
||||||
|
"github.com/gruntwork-io/terratest/modules/terraform"
|
||||||
|
test_structure "github.com/gruntwork-io/terratest/modules/test-structure"
|
||||||
|
_ "github.com/lib/pq"
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
const NAME_PREFIX_POSTGRES_REPLICAS = "postgres-replicas"
|
const NAME_PREFIX_POSTGRES_REPLICAS = "postgres-replicas"
|
||||||
@@ -56,7 +57,7 @@ func TestPostgresReplicas(t *testing.T) {
|
|||||||
projectId := test_structure.LoadString(t, exampleDir, KEY_PROJECT)
|
projectId := test_structure.LoadString(t, exampleDir, KEY_PROJECT)
|
||||||
masterZone := test_structure.LoadString(t, exampleDir, KEY_MASTER_ZONE)
|
masterZone := test_structure.LoadString(t, exampleDir, KEY_MASTER_ZONE)
|
||||||
readReplicaZone := test_structure.LoadString(t, exampleDir, KEY_READ_REPLICA_ZONE)
|
readReplicaZone := test_structure.LoadString(t, exampleDir, KEY_READ_REPLICA_ZONE)
|
||||||
terraformOptions := createTerratestOptionsForCloudSql(projectId, region, exampleDir, NAME_PREFIX_POSTGRES_REPLICAS, masterZone, "", 1, readReplicaZone)
|
terraformOptions := createTerratestOptionsForCloudSqlReplicas(projectId, region, exampleDir, NAME_PREFIX_POSTGRES_REPLICAS, masterZone, "", 1, readReplicaZone)
|
||||||
test_structure.SaveTerraformOptions(t, exampleDir, terraformOptions)
|
test_structure.SaveTerraformOptions(t, exampleDir, terraformOptions)
|
||||||
|
|
||||||
terraform.InitAndApply(t, terraformOptions)
|
terraform.InitAndApply(t, terraformOptions)
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/gruntwork-io/terratest/modules/gcp"
|
|
||||||
"github.com/gruntwork-io/terratest/modules/terraform"
|
|
||||||
"github.com/stretchr/testify/require"
|
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/gruntwork-io/terratest/modules/gcp"
|
||||||
|
"github.com/gruntwork-io/terratest/modules/terraform"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
const DB_NAME = "testdb"
|
const DB_NAME = "testdb"
|
||||||
@@ -63,8 +64,24 @@ func getTwoDistinctRandomZonesForRegion(t *testing.T, projectID string, region s
|
|||||||
return firstZone, secondZone
|
return firstZone, secondZone
|
||||||
}
|
}
|
||||||
|
|
||||||
func createTerratestOptionsForCloudSql(projectId string, region string, exampleDir string, namePrefix string, masterZone string, failoverReplicaZone string, numReadReplicas int, readReplicaZone string) *terraform.Options {
|
func createTerratestOptionsForCloudSql(projectId string, region string, exampleDir string, namePrefix string) *terraform.Options {
|
||||||
|
terratestOptions := &terraform.Options{
|
||||||
|
// The path to where your Terraform code is located
|
||||||
|
TerraformDir: exampleDir,
|
||||||
|
Vars: map[string]interface{}{
|
||||||
|
"region": region,
|
||||||
|
"project": projectId,
|
||||||
|
"name_prefix": namePrefix,
|
||||||
|
"db_name": DB_NAME,
|
||||||
|
"master_user_name": DB_USER,
|
||||||
|
"master_user_password": DB_PASS,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
return terratestOptions
|
||||||
|
}
|
||||||
|
|
||||||
|
func createTerratestOptionsForCloudSqlReplicas(projectId string, region string, exampleDir string, namePrefix string, masterZone string, failoverReplicaZone string, numReadReplicas int, readReplicaZone string) *terraform.Options {
|
||||||
terratestOptions := &terraform.Options{
|
terratestOptions := &terraform.Options{
|
||||||
// The path to where your Terraform code is located
|
// The path to where your Terraform code is located
|
||||||
TerraformDir: exampleDir,
|
TerraformDir: exampleDir,
|
||||||
|
|||||||
Reference in New Issue
Block a user