diff --git a/solutions/standard/main.tf b/solutions/standard/main.tf index a7fcc40d..21b866a1 100644 --- a/solutions/standard/main.tf +++ b/solutions/standard/main.tf @@ -233,10 +233,7 @@ locals { # if - replace first char with J # elseif _ replace first char with K # else use asis - generated_admin_password = startswith(random_password.admin_password[0].result, "-") ? "J${substr(random_password.admin_password[0].result, 1, -1)}" : startswith(random_password.admin_password[0].result, "_") ? "K${substr(random_password.admin_password[0].result, 1, -1)}" : random_password.admin_password[0].result - - # admin password to use - admin_pass = var.admin_pass == null ? local.generated_admin_password : var.admin_pass + admin_pass = var.admin_pass == null ? (startswith(random_password.admin_password[0].result, "-") ? "J${substr(random_password.admin_password[0].result, 1, -1)}" : startswith(random_password.admin_password[0].result, "_") ? "K${substr(random_password.admin_password[0].result, 1, -1)}" : random_password.admin_password[0].result) : var.admin_pass } ####################################################################################################################### diff --git a/tests/pr_test.go b/tests/pr_test.go index 0578ee87..e6821c1f 100644 --- a/tests/pr_test.go +++ b/tests/pr_test.go @@ -173,6 +173,13 @@ func TestRunStandardSolutionSchematics(t *testing.T) { func TestRunStandardUpgradeSolution(t *testing.T) { t.Parallel() + // Generate a 15 char long random string for the admin_pass. + randomBytes := make([]byte, 13) + _, randErr := rand.Read(randomBytes) + require.Nil(t, randErr) // do not proceed if we can't gen a random password + + randomPass := "A1" + base64.URLEncoding.EncodeToString(randomBytes)[:13] + options := testhelper.TestOptionsDefault(&testhelper.TestOptions{ Testing: t, TerraformDir: standardSolutionTerraformDir, @@ -187,6 +194,7 @@ func TestRunStandardUpgradeSolution(t *testing.T) { "kms_endpoint_type": "public", "provider_visibility": "public", "resource_group_name": options.Prefix, + "admin_pass": randomPass, } output, err := options.RunTestUpgrade()