Skip to content

Commit

Permalink
feat: runiac_environment optional for terraform (#34)
Browse files Browse the repository at this point in the history
  • Loading branch information
tiny-dancer committed May 31, 2021
1 parent f81af47 commit 513fc29
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 12 deletions.
5 changes: 1 addition & 4 deletions .github/workflows/unit-test-results.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,7 @@ jobs:
name: Unit Test Results
runs-on: ubuntu-latest
if: >
github.event.workflow_run.conclusion != 'skipped' && (
github.event.sender.login == 'dependabot[bot]' ||
github.event.workflow_run.head_repository.full_name != github.repository
)
github.event.workflow_run.conclusion != 'skipped'
steps:
- name: Download Artifacts
Expand Down
22 changes: 14 additions & 8 deletions plugins/terraform/stepper.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,17 @@ package plugins_terraform
import (
"encoding/json"
"fmt"
"github.com/optum/runiac/pkg/config"
"github.com/optum/runiac/pkg/retry"
"github.com/optum/runiac/pkg/shell"
"github.com/optum/runiac/plugins/terraform/pkg/terraform"
"github.com/sirupsen/logrus"
"os"
"path/filepath"
"regexp"
"strings"
"time"

"github.com/optum/runiac/pkg/config"
"github.com/optum/runiac/pkg/retry"
"github.com/optum/runiac/pkg/shell"
"github.com/optum/runiac/plugins/terraform/pkg/terraform"
"github.com/sirupsen/logrus"
)

type TerraformStepper struct{}
Expand Down Expand Up @@ -89,16 +90,20 @@ func (stepper TerraformStepper) ExecuteStepTests(exec config.StepExecution) (out

func GetTerraformCLIVars(exec config.StepExecution) map[string]interface{} {
vars := map[string]interface{}{
"runiac_environment": exec.Environment,
"runiac_account_id": exec.AccountID,
"runiac_region": exec.Region,
"runiac_account_id": exec.AccountID,
"runiac_region": exec.Region,
}

return vars
}

func GetTerraformEnvVars(exec config.StepExecution) map[string]string {
output := exec.OptionalStepParams

if output == nil {
output = map[string]string{}
}

// set core accounts
coreAccountsCount := len(exec.CoreAccounts)
if exec.CoreAccounts != nil && coreAccountsCount > 0 {
Expand All @@ -121,6 +126,7 @@ func GetTerraformEnvVars(exec config.StepExecution) map[string]string {

output["runiac_app_version"] = exec.AppVersion
output["runiac_namespace"] = exec.Namespace
output["runiac_environment"] = exec.Environment

return output
}
Expand Down
21 changes: 21 additions & 0 deletions plugins/terraform/stepper_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,27 @@ var sut config.Stepper
var logger = logrus.NewEntry(logrus.New())
var DefaultStubAccountID = "1"

func TestGetTerraformCLIArgs_ShouldNotIncludeEnvironment(t *testing.T) {
t.Parallel()

cliVars := GetTerraformCLIVars(config.StepExecution{
Environment: "fun",
})

require.NotContains(t, cliVars, "runiac_environment")
}

func TestGetTerraformEnvArgs_ShouldIncludeEnvironment(t *testing.T) {
t.Parallel()

vars := GetTerraformEnvVars(config.StepExecution{
Environment: "fun",
})

require.Contains(t, vars, "runiac_environment")
require.Equal(t, "fun", vars["runiac_environment"])
}

func TestGetBackendConfig_ShouldParseAssumeRoleCoreAccountIDMapCorrectly(t *testing.T) {
t.Parallel()
fs := afero.NewMemMapFs()
Expand Down

0 comments on commit 513fc29

Please sign in to comment.