From 76b7e7ff7e7ce74bb208e5db5df0f3ac9a2729ca Mon Sep 17 00:00:00 2001 From: harikaponna Date: Thu, 11 Sep 2025 20:58:13 +0530 Subject: [PATCH 01/16] added add-ons --- tests/pr_test.go | 59 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/tests/pr_test.go b/tests/pr_test.go index edf9ca5..b74f413 100644 --- a/tests/pr_test.go +++ b/tests/pr_test.go @@ -9,9 +9,12 @@ import ( "github.com/gruntwork-io/terratest/modules/logger" "github.com/gruntwork-io/terratest/modules/terraform" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper/common" + "github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper/cloudinfo" "github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper/testhelper" "github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper/testschematic" + "github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper/testaddons" ) // Define a struct with fields that match the structure of the YAML data @@ -176,7 +179,7 @@ func TestPlanValidation(t *testing.T) { options.TerraformOptions.Vars = map[string]interface{}{ "prefix": options.Prefix, "existing_secrets_manager_crn": permanentResources["secretsManagerCRN"], - "acme_letsencrypt_private_key": "PRIVATE_KEY_VALUE", // pragma: allowlist secret + "acme_letsencrypt_private_key_secrets_manager_secret_crn": permanentResources["acme_letsencrypt_private_key_secret_crn"], // pragma: allowlist secret "skip_iam_authorization_policy": true, "provider_visibility": "public", } @@ -190,3 +193,57 @@ func TestPlanValidation(t *testing.T) { assert.Nil(t, planErr, "Terraform plan should not error") assert.NotNil(t, planOutput, "Expected Terraform plan output") } + +func TestSecretManagerDefaultConfiguration(t *testing.T) { + t.Parallel() + + options := testaddons.TestAddonsOptionsDefault(&testaddons.TestAddonOptions{ + Testing: t, + Prefix: "sm-def", + ResourceGroup: resourceGroup, + QuietMode: true, // Suppress logs except on failure + }) + + options.AddonConfig = cloudinfo.NewAddonConfigTerraform( + options.Prefix, + "deploy-arch-secrets-manager-public-cert-engine", + "fully-configurable", + map[string]interface{}{ + "prefix": "sm-def", + "existing_resource_group_name": resourceGroup, + "existing_secrets_manager_crn": permanentResources["secretsManagerCRN"], + "acme_letsencrypt_private_key_secrets_manager_secret_crn": permanentResources["acme_letsencrypt_private_key_secret_crn"], // pragma: allowlist secret + "skip_iam_authorization_policy": true, + "provider_visibility": "public", + }, + ) + + err := options.RunAddonTest() + require.NoError(t, err) +} + +// TestDependencyPermutations runs dependency permutations for secret manager public cert engine and all its dependencies +func TestSecretManagerDependencyPermutations(t *testing.T) { + t.Skip("Skipping dependency permutations until the test is fixed") + t.Parallel() + + options := testaddons.TestAddonsOptionsDefault(&testaddons.TestAddonOptions{ + Testing: t, + Prefix: "sm-perm", + AddonConfig: cloudinfo.AddonConfig{ + OfferingName: "deploy-arch-secrets-manager-public-cert-engine", + OfferingFlavor: "fully-configurable", + Inputs: map[string]interface{}{ + "prefix": "sm-def", + "existing_resource_group_name": resourceGroup, + "existing_secrets_manager_crn": permanentResources["secretsManagerCRN"], + "acme_letsencrypt_private_key": "PRIVATE_KEY_VALUE", // pragma: allowlist secret + "skip_iam_authorization_policy": true, + "provider_visibility": "public", + }, + }, + }) + + err := options.RunAddonPermutationTest() + assert.NoError(t, err, "Dependency permutation test should not fail") +} From 15167fd7208f80ae65be9bc434ad5a47f1e3bba4 Mon Sep 17 00:00:00 2001 From: harikaponna Date: Thu, 11 Sep 2025 21:00:02 +0530 Subject: [PATCH 02/16] testing --- tests/pr_test.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/pr_test.go b/tests/pr_test.go index b74f413..18a80fa 100644 --- a/tests/pr_test.go +++ b/tests/pr_test.go @@ -199,7 +199,7 @@ func TestSecretManagerDefaultConfiguration(t *testing.T) { options := testaddons.TestAddonsOptionsDefault(&testaddons.TestAddonOptions{ Testing: t, - Prefix: "sm-def", + Prefix: "smm-def", ResourceGroup: resourceGroup, QuietMode: true, // Suppress logs except on failure }) @@ -209,7 +209,7 @@ func TestSecretManagerDefaultConfiguration(t *testing.T) { "deploy-arch-secrets-manager-public-cert-engine", "fully-configurable", map[string]interface{}{ - "prefix": "sm-def", + "prefix": "smm-def", "existing_resource_group_name": resourceGroup, "existing_secrets_manager_crn": permanentResources["secretsManagerCRN"], "acme_letsencrypt_private_key_secrets_manager_secret_crn": permanentResources["acme_letsencrypt_private_key_secret_crn"], // pragma: allowlist secret @@ -229,15 +229,15 @@ func TestSecretManagerDependencyPermutations(t *testing.T) { options := testaddons.TestAddonsOptionsDefault(&testaddons.TestAddonOptions{ Testing: t, - Prefix: "sm-perm", + Prefix: "smm-perm", AddonConfig: cloudinfo.AddonConfig{ OfferingName: "deploy-arch-secrets-manager-public-cert-engine", OfferingFlavor: "fully-configurable", Inputs: map[string]interface{}{ - "prefix": "sm-def", + "prefix": "smm-def", "existing_resource_group_name": resourceGroup, "existing_secrets_manager_crn": permanentResources["secretsManagerCRN"], - "acme_letsencrypt_private_key": "PRIVATE_KEY_VALUE", // pragma: allowlist secret + "acme_letsencrypt_private_key_secrets_manager_secret_crn": permanentResources["acme_letsencrypt_private_key_secret_crn"], // pragma: allowlist secret "skip_iam_authorization_policy": true, "provider_visibility": "public", }, From b15973618dfe1b016cade1ea5eafbc870939995c Mon Sep 17 00:00:00 2001 From: Harika-Ponna Date: Thu, 18 Sep 2025 11:28:38 +0530 Subject: [PATCH 03/16] ran pre commit --- tests/pr_test.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/pr_test.go b/tests/pr_test.go index 18a80fa..6cae5e4 100644 --- a/tests/pr_test.go +++ b/tests/pr_test.go @@ -1,11 +1,9 @@ // Tests in this file are run in the PR pipeline package test - import ( "log" "os" "testing" - "github.com/gruntwork-io/terratest/modules/logger" "github.com/gruntwork-io/terratest/modules/terraform" "github.com/stretchr/testify/assert" From bc10a7f817da9df2b5536f6c615095ac2ec19af8 Mon Sep 17 00:00:00 2001 From: Harika-Ponna Date: Thu, 18 Sep 2025 11:44:43 +0530 Subject: [PATCH 04/16] removed TestDependencyPermutations --- tests/pr_test.go | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/tests/pr_test.go b/tests/pr_test.go index 6cae5e4..659debf 100644 --- a/tests/pr_test.go +++ b/tests/pr_test.go @@ -220,28 +220,3 @@ func TestSecretManagerDefaultConfiguration(t *testing.T) { require.NoError(t, err) } -// TestDependencyPermutations runs dependency permutations for secret manager public cert engine and all its dependencies -func TestSecretManagerDependencyPermutations(t *testing.T) { - t.Skip("Skipping dependency permutations until the test is fixed") - t.Parallel() - - options := testaddons.TestAddonsOptionsDefault(&testaddons.TestAddonOptions{ - Testing: t, - Prefix: "smm-perm", - AddonConfig: cloudinfo.AddonConfig{ - OfferingName: "deploy-arch-secrets-manager-public-cert-engine", - OfferingFlavor: "fully-configurable", - Inputs: map[string]interface{}{ - "prefix": "smm-def", - "existing_resource_group_name": resourceGroup, - "existing_secrets_manager_crn": permanentResources["secretsManagerCRN"], - "acme_letsencrypt_private_key_secrets_manager_secret_crn": permanentResources["acme_letsencrypt_private_key_secret_crn"], // pragma: allowlist secret - "skip_iam_authorization_policy": true, - "provider_visibility": "public", - }, - }, - }) - - err := options.RunAddonPermutationTest() - assert.NoError(t, err, "Dependency permutation test should not fail") -} From f22ad59a0e1a1320fec4f321d9b669c899f1597d Mon Sep 17 00:00:00 2001 From: Harika-Ponna Date: Thu, 18 Sep 2025 11:53:50 +0530 Subject: [PATCH 05/16] renamed prefix to test --- tests/pr_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/pr_test.go b/tests/pr_test.go index 659debf..b395f56 100644 --- a/tests/pr_test.go +++ b/tests/pr_test.go @@ -197,7 +197,7 @@ func TestSecretManagerDefaultConfiguration(t *testing.T) { options := testaddons.TestAddonsOptionsDefault(&testaddons.TestAddonOptions{ Testing: t, - Prefix: "smm-def", + Prefix: "sm-def-test", ResourceGroup: resourceGroup, QuietMode: true, // Suppress logs except on failure }) @@ -207,7 +207,7 @@ func TestSecretManagerDefaultConfiguration(t *testing.T) { "deploy-arch-secrets-manager-public-cert-engine", "fully-configurable", map[string]interface{}{ - "prefix": "smm-def", + "prefix": "sm-def-test", "existing_resource_group_name": resourceGroup, "existing_secrets_manager_crn": permanentResources["secretsManagerCRN"], "acme_letsencrypt_private_key_secrets_manager_secret_crn": permanentResources["acme_letsencrypt_private_key_secret_crn"], // pragma: allowlist secret From 42f7b704a36c24c639813b23f7b0e18364141fb7 Mon Sep 17 00:00:00 2001 From: Aayush-Abhyarthi Date: Thu, 18 Sep 2025 16:45:15 +0530 Subject: [PATCH 06/16] fix: pre-commit --- ibm_catalog.json | 2 +- tests/pr_test.go | 30 +++++++++++++++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/ibm_catalog.json b/ibm_catalog.json index 42f39d5..efc3a3b 100644 --- a/ibm_catalog.json +++ b/ibm_catalog.json @@ -69,7 +69,7 @@ "url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-secrets-manager-public-cert-engine/main/reference-architecture/secrets_manager_public_cert_engine.svg", "type": "image/svg+xml" }, - "description": "This architcture supports creating secrets manager public certificates engine within a secrets manager instance." + "description": "This architecture supports creating secrets manager public certificates engine within a secrets manager instance." } ] }, diff --git a/tests/pr_test.go b/tests/pr_test.go index b395f56..06df2e3 100644 --- a/tests/pr_test.go +++ b/tests/pr_test.go @@ -1,18 +1,19 @@ // Tests in this file are run in the PR pipeline package test + import ( - "log" - "os" - "testing" "github.com/gruntwork-io/terratest/modules/logger" "github.com/gruntwork-io/terratest/modules/terraform" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper/common" "github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper/cloudinfo" + "github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper/common" + "github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper/testaddons" "github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper/testhelper" "github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper/testschematic" - "github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper/testaddons" + "log" + "os" + "testing" ) // Define a struct with fields that match the structure of the YAML data @@ -175,11 +176,11 @@ func TestPlanValidation(t *testing.T) { options.TerraformOptions.NoColor = true options.TerraformOptions.Logger = logger.Discard options.TerraformOptions.Vars = map[string]interface{}{ - "prefix": options.Prefix, - "existing_secrets_manager_crn": permanentResources["secretsManagerCRN"], - "acme_letsencrypt_private_key_secrets_manager_secret_crn": permanentResources["acme_letsencrypt_private_key_secret_crn"], // pragma: allowlist secret - "skip_iam_authorization_policy": true, - "provider_visibility": "public", + "prefix": options.Prefix, + "existing_secrets_manager_crn": permanentResources["secretsManagerCRN"], + "acme_letsencrypt_private_key_secrets_manager_secret_crn": permanentResources["acme_letsencrypt_private_key_secret_crn"], // pragma: allowlist secret + "skip_iam_authorization_policy": true, + "provider_visibility": "public", } // Init @@ -209,14 +210,13 @@ func TestSecretManagerDefaultConfiguration(t *testing.T) { map[string]interface{}{ "prefix": "sm-def-test", "existing_resource_group_name": resourceGroup, - "existing_secrets_manager_crn": permanentResources["secretsManagerCRN"], - "acme_letsencrypt_private_key_secrets_manager_secret_crn": permanentResources["acme_letsencrypt_private_key_secret_crn"], // pragma: allowlist secret - "skip_iam_authorization_policy": true, - "provider_visibility": "public", + "existing_secrets_manager_crn": permanentResources["secretsManagerCRN"], + "acme_letsencrypt_private_key_secrets_manager_secret_crn": permanentResources["acme_letsencrypt_private_key_secret_crn"], // pragma: allowlist secret + "skip_iam_authorization_policy": true, + "provider_visibility": "public", }, ) err := options.RunAddonTest() require.NoError(t, err) } - From 41a71e6449c6779a13804446d86daf348da4e54f Mon Sep 17 00:00:00 2001 From: Aayush-Abhyarthi Date: Thu, 18 Sep 2025 16:53:34 +0530 Subject: [PATCH 07/16] fix: pre-commit --- common-dev-assets | 2 +- tests/pr_test.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/common-dev-assets b/common-dev-assets index 9abb258..325cfd0 160000 --- a/common-dev-assets +++ b/common-dev-assets @@ -1 +1 @@ -Subproject commit 9abb2581610844f40aeb4f8a8b7f24e5a127d45b +Subproject commit 325cfd0d91902e08079644092bbf298c4872f388 diff --git a/tests/pr_test.go b/tests/pr_test.go index 06df2e3..c5bf201 100644 --- a/tests/pr_test.go +++ b/tests/pr_test.go @@ -198,7 +198,7 @@ func TestSecretManagerDefaultConfiguration(t *testing.T) { options := testaddons.TestAddonsOptionsDefault(&testaddons.TestAddonOptions{ Testing: t, - Prefix: "sm-def-test", + Prefix: "sm-test", ResourceGroup: resourceGroup, QuietMode: true, // Suppress logs except on failure }) @@ -208,7 +208,7 @@ func TestSecretManagerDefaultConfiguration(t *testing.T) { "deploy-arch-secrets-manager-public-cert-engine", "fully-configurable", map[string]interface{}{ - "prefix": "sm-def-test", + "prefix": options.Prefix, "existing_resource_group_name": resourceGroup, "existing_secrets_manager_crn": permanentResources["secretsManagerCRN"], "acme_letsencrypt_private_key_secrets_manager_secret_crn": permanentResources["acme_letsencrypt_private_key_secret_crn"], // pragma: allowlist secret From 38ef30459dd678dee29b0e459a7be7dd5f07d663 Mon Sep 17 00:00:00 2001 From: Aayush-Abhyarthi Date: Fri, 19 Sep 2025 01:40:50 +0530 Subject: [PATCH 08/16] fix: addons test --- tests/pr_test.go | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/tests/pr_test.go b/tests/pr_test.go index c5bf201..d14c7e4 100644 --- a/tests/pr_test.go +++ b/tests/pr_test.go @@ -208,12 +208,8 @@ func TestSecretManagerDefaultConfiguration(t *testing.T) { "deploy-arch-secrets-manager-public-cert-engine", "fully-configurable", map[string]interface{}{ - "prefix": options.Prefix, - "existing_resource_group_name": resourceGroup, - "existing_secrets_manager_crn": permanentResources["secretsManagerCRN"], + "prefix": options.Prefix, "acme_letsencrypt_private_key_secrets_manager_secret_crn": permanentResources["acme_letsencrypt_private_key_secret_crn"], // pragma: allowlist secret - "skip_iam_authorization_policy": true, - "provider_visibility": "public", }, ) From 8d6499cee4815a64fabb7b31fb909e0e4ae25d0c Mon Sep 17 00:00:00 2001 From: Aayush-Abhyarthi Date: Tue, 23 Sep 2025 18:31:20 +0530 Subject: [PATCH 09/16] use existing sm instance --- common-dev-assets | 2 +- tests/pr_test.go | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/common-dev-assets b/common-dev-assets index 325cfd0..03fd242 160000 --- a/common-dev-assets +++ b/common-dev-assets @@ -1 +1 @@ -Subproject commit 325cfd0d91902e08079644092bbf298c4872f388 +Subproject commit 03fd242c14074713be00c371ed86971093163e4e diff --git a/tests/pr_test.go b/tests/pr_test.go index d14c7e4..695169e 100644 --- a/tests/pr_test.go +++ b/tests/pr_test.go @@ -198,7 +198,7 @@ func TestSecretManagerDefaultConfiguration(t *testing.T) { options := testaddons.TestAddonsOptionsDefault(&testaddons.TestAddonOptions{ Testing: t, - Prefix: "sm-test", + Prefix: "pbsme", ResourceGroup: resourceGroup, QuietMode: true, // Suppress logs except on failure }) @@ -208,7 +208,8 @@ func TestSecretManagerDefaultConfiguration(t *testing.T) { "deploy-arch-secrets-manager-public-cert-engine", "fully-configurable", map[string]interface{}{ - "prefix": options.Prefix, + "prefix": options.Prefix, + "existing_secrets_manager_crn": permanentResources["secretsManagerCRN"], "acme_letsencrypt_private_key_secrets_manager_secret_crn": permanentResources["acme_letsencrypt_private_key_secret_crn"], // pragma: allowlist secret }, ) From 2dd6522eedece1bd8bd438a4747eccc368e4aa15 Mon Sep 17 00:00:00 2001 From: Aayush-Abhyarthi Date: Wed, 24 Sep 2025 03:34:28 +0530 Subject: [PATCH 10/16] fix: addon test --- tests/go.mod | 6 ++++++ tests/go.sum | 9 +++++++++ tests/pr_test.go | 22 +++++++++++++++++----- 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/tests/go.mod b/tests/go.mod index bb9c157..7d6789f 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -10,11 +10,17 @@ require ( github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper v1.60.6 ) +require ( + github.com/dgrijalva/jwt-go v3.2.0+incompatible // indirect + gopkg.in/go-playground/validator.v9 v9.31.0 // indirect +) + require ( dario.cat/mergo v1.0.0 // indirect github.com/IBM-Cloud/bluemix-go v0.0.0-20240719075425-078fcb3a55be // indirect github.com/IBM-Cloud/power-go-client v1.12.0 // indirect github.com/IBM/cloud-databases-go-sdk v0.8.0 // indirect + github.com/IBM/go-sdk-core v1.1.0 github.com/IBM/go-sdk-core/v5 v5.21.0 // indirect github.com/IBM/platform-services-go-sdk v0.86.1 // indirect github.com/IBM/project-go-sdk v0.3.6 // indirect diff --git a/tests/go.sum b/tests/go.sum index b0b26b3..52d261d 100644 --- a/tests/go.sum +++ b/tests/go.sum @@ -6,6 +6,8 @@ github.com/IBM-Cloud/power-go-client v1.12.0 h1:tF9Mq5GLYHebpzQT6IYB89lIxEST1E9t github.com/IBM-Cloud/power-go-client v1.12.0/go.mod h1:SpTK1ttW8bfMNUVQS8qOEuWn2KOkzaCLyzfze8MG1JE= github.com/IBM/cloud-databases-go-sdk v0.8.0 h1:uMFqhnc/roVTzfCaUsJ23eaHKjChhGpM1F7Mpxik0bo= github.com/IBM/cloud-databases-go-sdk v0.8.0/go.mod h1:JYucI1PdwqbAd8XGdDAchxzxRP7bxOh1zUnseovHKsc= +github.com/IBM/go-sdk-core v1.1.0 h1:pV73lZqr9r1xKb3h08c1uNG3AphwoV5KzUzhS+pfEqY= +github.com/IBM/go-sdk-core v1.1.0/go.mod h1:2pcx9YWsIsZ3I7kH+1amiAkXvLTZtAq9kbxsfXilSoY= github.com/IBM/go-sdk-core/v5 v5.9.2/go.mod h1:YlOwV9LeuclmT/qi/LAK2AsobbAP42veV0j68/rlZsE= github.com/IBM/go-sdk-core/v5 v5.21.0 h1:DUnYhvC4SoC8T84rx5omnhY3+xcQg/Whyoa3mDPIMkk= github.com/IBM/go-sdk-core/v5 v5.21.0/go.mod h1:Q3BYO6iDA2zweQPDGbNTtqft5tDcEpm6RTuqMlPcvbw= @@ -48,6 +50,8 @@ github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGL github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/elazarl/goproxy v1.7.2 h1:Y2o6urb7Eule09PjlhQRGNsqRfPmYI3KKQLFpCAV3+o= github.com/elazarl/goproxy v1.7.2/go.mod h1:82vkLNir0ALaW14Rc399OTTjyNREgmdL2cVoIbS6XaE= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= @@ -106,9 +110,11 @@ github.com/go-openapi/validate v0.24.0 h1:LdfDKwNbpB6Vn40xhTdNZAnfLECL81w+VX3Bum github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1+zquzJEf2BAQ= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM= github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= +github.com/go-playground/universal-translator v0.16.0/go.mod h1:1AnU7NaIRDWWzGEKwgtJRd2xk99HeFyHw3yid4rvQIY= github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= @@ -193,6 +199,7 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= @@ -510,6 +517,8 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= +gopkg.in/go-playground/validator.v9 v9.30.0/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ= +gopkg.in/go-playground/validator.v9 v9.31.0 h1:bmXmP2RSNtFES+bn4uYuHT7iJFJv7Vj+an+ZQdDaD1M= gopkg.in/go-playground/validator.v9 v9.31.0/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= diff --git a/tests/pr_test.go b/tests/pr_test.go index 695169e..fd1e9f8 100644 --- a/tests/pr_test.go +++ b/tests/pr_test.go @@ -2,6 +2,11 @@ package test import ( + "log" + "os" + "testing" + + "github.com/IBM/go-sdk-core/core" "github.com/gruntwork-io/terratest/modules/logger" "github.com/gruntwork-io/terratest/modules/terraform" "github.com/stretchr/testify/assert" @@ -11,9 +16,6 @@ import ( "github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper/testaddons" "github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper/testhelper" "github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper/testschematic" - "log" - "os" - "testing" ) // Define a struct with fields that match the structure of the YAML data @@ -208,12 +210,22 @@ func TestSecretManagerDefaultConfiguration(t *testing.T) { "deploy-arch-secrets-manager-public-cert-engine", "fully-configurable", map[string]interface{}{ - "prefix": options.Prefix, - "existing_secrets_manager_crn": permanentResources["secretsManagerCRN"], + "prefix": options.Prefix, "acme_letsencrypt_private_key_secrets_manager_secret_crn": permanentResources["acme_letsencrypt_private_key_secret_crn"], // pragma: allowlist secret }, ) + options.AddonConfig.Dependencies = []cloudinfo.AddonConfig{ + { + OfferingName: "deploy-arch-ibm-secrets-manager", + OfferingFlavor: "fully-configurable", + Inputs: map[string]interface{}{ + "existing_secrets_manager_crn": permanentResources["secretsManagerCRN"], + }, + Enabled: core.BoolPtr(true), + }, + } + err := options.RunAddonTest() require.NoError(t, err) } From f34d6ae84e1bde9d50f062a9f45d6711d4d18a2f Mon Sep 17 00:00:00 2001 From: Aayush-Abhyarthi Date: Tue, 30 Sep 2025 03:27:06 +0530 Subject: [PATCH 11/16] update terratest --- tests/go.mod | 2 +- tests/go.sum | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/go.mod b/tests/go.mod index 7d6789f..be8c7e9 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -7,7 +7,7 @@ toolchain go1.25.1 require ( github.com/gruntwork-io/terratest v0.50.0 github.com/stretchr/testify v1.11.1 - github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper v1.60.6 + github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper v1.60.9 ) require ( diff --git a/tests/go.sum b/tests/go.sum index 52d261d..07b033e 100644 --- a/tests/go.sum +++ b/tests/go.sum @@ -302,8 +302,8 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= -github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper v1.60.6 h1:Tr7AlrQ+s1Nc9VOwB+It8sItnDOXhfXTxKqI2KtdyFA= -github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper v1.60.6/go.mod h1:YBrRYc+5y5Pr9CXmY35lOqTQdlIjA4x4+3iVObXGOCE= +github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper v1.60.9 h1:ntigNnXy4Ut6eVMfBUjQ5yoIZR5Rt419+pwfle4MO5c= +github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper v1.60.9/go.mod h1:YBrRYc+5y5Pr9CXmY35lOqTQdlIjA4x4+3iVObXGOCE= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tmccombs/hcl2json v0.6.4 h1:/FWnzS9JCuyZ4MNwrG4vMrFrzRgsWEOVi+1AyYUVLGw= github.com/tmccombs/hcl2json v0.6.4/go.mod h1:+ppKlIW3H5nsAsZddXPy2iMyvld3SHxyjswOZhavRDk= @@ -516,6 +516,7 @@ gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/go-playground/assert.v1 v1.2.1 h1:xoYuJVE7KT85PYWrN730RguIQO0ePzVRfFMXadIrXTM= gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= gopkg.in/go-playground/validator.v9 v9.30.0/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ= gopkg.in/go-playground/validator.v9 v9.31.0 h1:bmXmP2RSNtFES+bn4uYuHT7iJFJv7Vj+an+ZQdDaD1M= From 976aeb056386a2cbc17112069a353946365ffe23 Mon Sep 17 00:00:00 2001 From: Aayush-Abhyarthi Date: Tue, 30 Sep 2025 14:09:23 +0530 Subject: [PATCH 12/16] few changes --- tests/pr_test.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/pr_test.go b/tests/pr_test.go index fd1e9f8..08e8d8b 100644 --- a/tests/pr_test.go +++ b/tests/pr_test.go @@ -202,7 +202,7 @@ func TestSecretManagerDefaultConfiguration(t *testing.T) { Testing: t, Prefix: "pbsme", ResourceGroup: resourceGroup, - QuietMode: true, // Suppress logs except on failure + QuietMode: false, // Suppress logs except on failure }) options.AddonConfig = cloudinfo.NewAddonConfigTerraform( @@ -212,6 +212,9 @@ func TestSecretManagerDefaultConfiguration(t *testing.T) { map[string]interface{}{ "prefix": options.Prefix, "acme_letsencrypt_private_key_secrets_manager_secret_crn": permanentResources["acme_letsencrypt_private_key_secret_crn"], // pragma: allowlist secret + "secrets_manager_region": "eu-de", + "secrets_manager_service_plan": "__NULL__", + "skip_iam_authorization_policy": true, }, ) @@ -220,7 +223,10 @@ func TestSecretManagerDefaultConfiguration(t *testing.T) { OfferingName: "deploy-arch-ibm-secrets-manager", OfferingFlavor: "fully-configurable", Inputs: map[string]interface{}{ - "existing_secrets_manager_crn": permanentResources["secretsManagerCRN"], + "existing_secrets_manager_crn": permanentResources["secretsManagerCRN"], + "service_plan": "__NULL__", + "skip_secrets_manager_iam_auth_policy": true, + "secret_groups": []string{}, }, Enabled: core.BoolPtr(true), }, From 373c4270aa0a9088bac82442cb033838985fde90 Mon Sep 17 00:00:00 2001 From: Aayush-Abhyarthi Date: Tue, 30 Sep 2025 14:15:00 +0530 Subject: [PATCH 13/16] update dependency variable --- tests/pr_test.go | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/tests/pr_test.go b/tests/pr_test.go index 08e8d8b..9731782 100644 --- a/tests/pr_test.go +++ b/tests/pr_test.go @@ -199,10 +199,11 @@ func TestSecretManagerDefaultConfiguration(t *testing.T) { t.Parallel() options := testaddons.TestAddonsOptionsDefault(&testaddons.TestAddonOptions{ - Testing: t, - Prefix: "pbsme", - ResourceGroup: resourceGroup, - QuietMode: false, // Suppress logs except on failure + Testing: t, + Prefix: "pbsme", + ResourceGroup: resourceGroup, + OverrideInputMappings: core.BoolPtr(true), + QuietMode: false, // Suppress logs except on failure }) options.AddonConfig = cloudinfo.NewAddonConfigTerraform( @@ -230,6 +231,21 @@ func TestSecretManagerDefaultConfiguration(t *testing.T) { }, Enabled: core.BoolPtr(true), }, + // // Disable target / route creation to prevent hitting quota in account + { + OfferingName: "deploy-arch-ibm-cloud-monitoring", + OfferingFlavor: "fully-configurable", + Inputs: map[string]interface{}{ + "enable_metrics_routing_to_cloud_monitoring": false, + }, + }, + { + OfferingName: "deploy-arch-ibm-activity-tracker", + OfferingFlavor: "fully-configurable", + Inputs: map[string]interface{}{ + "enable_activity_tracker_event_routing_to_cloud_logs": false, + }, + }, } err := options.RunAddonTest() From 1729f7e10e5ff4c0f49d33ce707bec696f34056a Mon Sep 17 00:00:00 2001 From: Aayush-Abhyarthi Date: Tue, 30 Sep 2025 15:00:48 +0530 Subject: [PATCH 14/16] update sm version --- ibm_catalog.json | 2 +- tests/pr_test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ibm_catalog.json b/ibm_catalog.json index bd1c279..cf9e4cb 100644 --- a/ibm_catalog.json +++ b/ibm_catalog.json @@ -248,7 +248,7 @@ "name": "deploy-arch-ibm-secrets-manager", "description": "Create a new Secrets Manager instance.", "id": "6d6ebc76-7bbd-42f5-8bc7-78f4fabd5944-global", - "version": "v2.8.6", + "version": "v2.10.0", "flavors": [ "fully-configurable" ], diff --git a/tests/pr_test.go b/tests/pr_test.go index 9731782..c8b9128 100644 --- a/tests/pr_test.go +++ b/tests/pr_test.go @@ -155,7 +155,7 @@ func TestRunSolutionsFullyConfigurableUpgradeSchematics(t *testing.T) { {Name: "prefix", Value: options.Prefix, DataType: "string"}, {Name: "existing_secrets_manager_crn", Value: permanentResources["secretsManagerCRN"], DataType: "string"}, {Name: "acme_letsencrypt_private_key_secrets_manager_secret_crn", Value: permanentResources["acme_letsencrypt_private_key_secret_crn"], DataType: "string"}, - {Name: "dns_config_name", Value: "cer-dns", DataType: "string"}, + {Name: "dns_config_name", Value: "cert-dns", DataType: "string"}, {Name: "internet_services_crn", Value: permanentResources["cisInstanceId"], DataType: "string"}, {Name: "skip_iam_authorization_policy", Value: true, DataType: "bool"}, // A permanent cis-sm auth policy already exists in the account } From cc9bb7bb9c84b2d15c6b0cddd1da8b35d2fcaea7 Mon Sep 17 00:00:00 2001 From: Aayush-Abhyarthi Date: Tue, 30 Sep 2025 16:15:32 +0530 Subject: [PATCH 15/16] fix: remove common dev assets --- common-dev-assets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common-dev-assets b/common-dev-assets index 03fd242..84e744a 160000 --- a/common-dev-assets +++ b/common-dev-assets @@ -1 +1 @@ -Subproject commit 03fd242c14074713be00c371ed86971093163e4e +Subproject commit 84e744a27f774dac276e9381db01b6fe378c0af3 From f0c6eaa7a3d05f88b679d48d217049f18c06ddf0 Mon Sep 17 00:00:00 2001 From: Aayush-Abhyarthi Date: Tue, 30 Sep 2025 16:43:19 +0530 Subject: [PATCH 16/16] resolve comment --- tests/pr_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/pr_test.go b/tests/pr_test.go index c8b9128..bba0643 100644 --- a/tests/pr_test.go +++ b/tests/pr_test.go @@ -225,9 +225,9 @@ func TestSecretManagerDefaultConfiguration(t *testing.T) { OfferingFlavor: "fully-configurable", Inputs: map[string]interface{}{ "existing_secrets_manager_crn": permanentResources["secretsManagerCRN"], - "service_plan": "__NULL__", - "skip_secrets_manager_iam_auth_policy": true, - "secret_groups": []string{}, + "service_plan": "__NULL__", // no plan value needed when using existing SM + "skip_secrets_manager_iam_auth_policy": true, // since using an existing Secrets Manager instance, attempting to re-create auth policy can cause conflicts if the policy already exists + "secret_groups": []string{}, // passing empty array for secret groups as default value is creating general group and it will cause conflicts as we are using an existing SM }, Enabled: core.BoolPtr(true), },