Skip to content

Commit 82edcfc

Browse files
authored
chore: consolidate test utils (#2191)
1 parent 33bc925 commit 82edcfc

File tree

8 files changed

+23
-79
lines changed

8 files changed

+23
-79
lines changed

test/integration/deploy_service/deploy_service_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ func TestDeployService(t *testing.T) {
4343
k8sOpts := k8s.KubectlOptions{}
4444
listServices, err := k8s.RunKubectlAndGetOutputE(t, &k8sOpts, "get", "svc", "terraform-example", "-o", "json")
4545
assert.NoError(err)
46-
kubeService := testutils.ParseKubectlJSONResult(t, listServices)
46+
kubeService := utils.ParseKubectlJSONResult(t, listServices)
4747
serviceIp := kubeService.Get("status.loadBalancer.ingress").Array()[0].Get("ip")
4848
serviceUrl := fmt.Sprintf("http://%s:8080", serviceIp)
4949

test/integration/sandbox_enabled/sandbox_enabled_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import (
2222
"github.com/GoogleCloudPlatform/cloud-foundation-toolkit/infra/blueprint-test/pkg/tft"
2323
"github.com/stretchr/testify/assert"
2424
"github.com/terraform-google-modules/terraform-google-kubernetes-engine/test/integration/testutils"
25-
gkeutils "github.com/terraform-google-modules/terraform-google-kubernetes-engine/test/integration/utils"
2625
)
2726

2827
func TestSandboxEnabled(t *testing.T) {
@@ -33,7 +32,7 @@ func TestSandboxEnabled(t *testing.T) {
3332
bpt.DefineVerify(func(assert *assert.Assertions) {
3433
//Skipping Default Verify as the Verify Stage fails due to change in Client Cert Token
3534
// bpt.DefaultVerify(assert)
36-
gkeutils.TGKEVerify(t, bpt, assert) // Verify Resources
35+
testutils.TGKEVerify(t, bpt, assert) // Verify Resources
3736

3837
projectId := bpt.GetStringOutput("project_id")
3938
location := bpt.GetStringOutput("location")

test/integration/simple_autopilot_private_non_default_sa/simple_autopilot_private_non_default_sa_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,10 @@ import (
2222
"github.com/GoogleCloudPlatform/cloud-foundation-toolkit/infra/blueprint-test/pkg/tft"
2323
"github.com/stretchr/testify/assert"
2424
"github.com/terraform-google-modules/terraform-google-kubernetes-engine/test/integration/testutils"
25-
"github.com/terraform-google-modules/terraform-google-kubernetes-engine/test/integration/utils"
2625
)
2726

2827
func TestSimpleAutopilotPrivateNonDefaultSA(t *testing.T) {
29-
projectID := utils.GetTestProjectFromSetup(t, 1)
28+
projectID := testutils.GetTestProjectFromSetup(t, 1)
3029
bpt := tft.NewTFBlueprintTest(t,
3130
tft.WithVars(map[string]interface{}{"project_id": projectID}),
3231
tft.WithRetryableTerraformErrors(testutils.RetryableTransientErrors, 3, 2*time.Minute),

test/integration/simple_zonal/simple_zonal_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
"github.com/GoogleCloudPlatform/cloud-foundation-toolkit/infra/blueprint-test/pkg/gcloud"
2222
"github.com/GoogleCloudPlatform/cloud-foundation-toolkit/infra/blueprint-test/pkg/golden"
2323
"github.com/GoogleCloudPlatform/cloud-foundation-toolkit/infra/blueprint-test/pkg/tft"
24+
"github.com/GoogleCloudPlatform/cloud-foundation-toolkit/infra/blueprint-test/pkg/utils"
2425
"github.com/gruntwork-io/terratest/modules/k8s"
2526
"github.com/stretchr/testify/assert"
2627
"github.com/terraform-google-modules/terraform-google-kubernetes-engine/test/integration/testutils"
@@ -77,7 +78,7 @@ func TestSimpleZonal(t *testing.T) {
7778
k8sOpts := k8s.KubectlOptions{}
7879
configNameSpace, err := k8s.RunKubectlAndGetOutputE(t, &k8sOpts, "get", "ns", "config-management-system", "-o", "json")
7980
assert.NoError(err)
80-
configkubeNS := testutils.ParseKubectlJSONResult(t, configNameSpace)
81+
configkubeNS := utils.ParseKubectlJSONResult(t, configNameSpace)
8182
assert.Contains(configkubeNS.Get("metadata.name").String(), "config-management-system", "Namespace is Functional")
8283
})
8384

test/integration/simple_zonal_with_asm/simple_zonal_with_asm_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020

2121
"github.com/GoogleCloudPlatform/cloud-foundation-toolkit/infra/blueprint-test/pkg/gcloud"
2222
"github.com/GoogleCloudPlatform/cloud-foundation-toolkit/infra/blueprint-test/pkg/tft"
23+
"github.com/GoogleCloudPlatform/cloud-foundation-toolkit/infra/blueprint-test/pkg/utils"
2324
"github.com/gruntwork-io/terratest/modules/k8s"
2425
"github.com/stretchr/testify/assert"
2526
"github.com/terraform-google-modules/terraform-google-kubernetes-engine/test/integration/testutils"
@@ -49,11 +50,11 @@ func TestSimpleZonalWithASM(t *testing.T) {
4950
k8sOpts := k8s.KubectlOptions{}
5051
listNameSpace, err := k8s.RunKubectlAndGetOutputE(t, &k8sOpts, "get", "ns", "istio-system", "-o", "json")
5152
assert.NoError(err)
52-
kubeNS := testutils.ParseKubectlJSONResult(t, listNameSpace)
53+
kubeNS := utils.ParseKubectlJSONResult(t, listNameSpace)
5354
assert.Contains(kubeNS.Get("metadata.name").String(), "istio-system", "Namespace is Functional")
5455
listConfigMap, err := k8s.RunKubectlAndGetOutputE(t, &k8sOpts, "get", "configmap", "asm-options", "-n", "istio-system", "-o", "json")
5556
assert.NoError(err)
56-
kubeCM := testutils.ParseKubectlJSONResult(t, listConfigMap)
57+
kubeCM := utils.ParseKubectlJSONResult(t, listConfigMap)
5758
assert.Contains(kubeCM.Get("metadata.name").String(), "asm-options", "Configmap is Present")
5859

5960
})

test/integration/testutils/json.go

Lines changed: 0 additions & 40 deletions
This file was deleted.

test/integration/testutils/retry.go

Lines changed: 0 additions & 28 deletions
This file was deleted.

test/integration/utils/utils.go renamed to test/integration/testutils/utils.go

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
package utils
15+
package testutils
1616

1717
import (
1818
"slices"
@@ -23,12 +23,24 @@ import (
2323
"github.com/GoogleCloudPlatform/cloud-foundation-toolkit/infra/blueprint-test/pkg/tft"
2424
tfjson "github.com/hashicorp/terraform-json"
2525
"github.com/stretchr/testify/assert"
26-
"github.com/terraform-google-modules/terraform-google-kubernetes-engine/test/integration/testutils"
26+
)
27+
28+
var (
29+
RetryableTransientErrors = map[string]string{
30+
// Error 409: unable to queue the operation
31+
".*Error 409.*unable to queue the operation": "Unable to queue operation.",
32+
33+
// Error code 409 for concurrent policy changes.
34+
".*Error 409.*There were concurrent policy changes.*": "Concurrent policy changes.",
35+
36+
// API Rate limit exceeded errors can be retried.
37+
".*rateLimitExceeded.*": "Rate limit exceeded.",
38+
}
2739
)
2840

2941
func GetTestProjectFromSetup(t *testing.T, idx int) string {
3042
setup := tft.NewTFBlueprintTest(t,
31-
tft.WithRetryableTerraformErrors(testutils.RetryableTransientErrors, 3, 2*time.Minute),
43+
tft.WithRetryableTerraformErrors(RetryableTransientErrors, 3, 2*time.Minute),
3244
)
3345
projectIDs := setup.GetTFSetupOutputListVal("project_ids")
3446
if len(projectIDs)-1 < idx {

0 commit comments

Comments
 (0)