Skip to content

Commit 6622446

Browse files
Changed the primary flag to boolean
1 parent bd7750a commit 6622446

File tree

3 files changed

+25
-6
lines changed

3 files changed

+25
-6
lines changed

internal/commands/scan.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ const (
116116
ScsRepoWarningMsg = "SCS scan warning: Unable to start Scorecard scan due to missing required flags, please include in the ast-cli arguments: " +
117117
"--scs-repo-url your_repo_url --scs-repo-token your_repo_token"
118118
ScsScorecardUnsupportedHostWarningMsg = "SCS scan warning: Unable to run Scorecard scanner due to unsupported repo host. Currently, Scorecard can only run on GitHub Cloud repos."
119+
BranchPrimaryPrefix = "--branch-primary="
119120
)
120121

121122
var (
@@ -2956,6 +2957,15 @@ func validateCreateScanFlags(cmd *cobra.Command) error {
29562957
return fmt.Errorf("Invalid value for --%s flag. Must be a valid UUID.", commonParams.IacsPresetIDFlag)
29572958
}
29582959
}
2960+
// check if flag was passed as arg
2961+
isBranchChanged := cmd.Flags().Changed(commonParams.BranchPrimaryFlag)
2962+
if isBranchChanged {
2963+
for _, a := range os.Args[1:] {
2964+
if strings.HasPrefix(a, BranchPrimaryPrefix) {
2965+
return fmt.Errorf("invalid value for --branch-primary flag. This flag must be sent with no value")
2966+
}
2967+
}
2968+
}
29592969

29602970
return nil
29612971
}

internal/commands/scan_test.go

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -612,11 +612,23 @@ func TestCreateScanWithPrimaryBranchFlag_Passed(t *testing.T) {
612612
}
613613

614614
func TestCreateScanWithPrimaryBranchFlagBooleanValueTrue_Passed(t *testing.T) {
615-
execCmdNilAssertion(t, "scan", "create", "--project-name", "MOCK", "-s", dummyRepo, "-b", "dummy_branch", "--debug", "--branch-primary=true")
615+
original := os.Args
616+
defer func() { os.Args = original }()
617+
os.Args = []string{
618+
"scan", "create", "--project-name", "MOCK", "-s", dummyRepo, "-b", "dummy_branch", "--debug", "--branch-primary=true",
619+
}
620+
err := execCmdNotNilAssertion(t, "scan", "create", "--project-name", "MOCK", "-s", dummyRepo, "-b", "dummy_branch", "--debug", "--branch-primary=true")
621+
assert.ErrorContains(t, err, "invalid value for --branch-primary flag", err.Error())
616622
}
617623

618624
func TestCreateScanWithPrimaryBranchFlagBooleanValueFalse_Passed(t *testing.T) {
619-
execCmdNilAssertion(t, "scan", "create", "--project-name", "MOCK", "-s", dummyRepo, "-b", "dummy_branch", "--debug", "--branch-primary=false")
625+
original := os.Args
626+
defer func() { os.Args = original }()
627+
os.Args = []string{
628+
"scan", "create", "--project-name", "MOCK", "-s", dummyRepo, "-b", "dummy_branch", "--debug", "--branch-primary=false",
629+
}
630+
err := execCmdNotNilAssertion(t, "scan", "create", "--project-name", "MOCK", "-s", dummyRepo, "-b", "dummy_branch", "--debug", "--branch-primary=false")
631+
assert.ErrorContains(t, err, "invalid value for --branch-primary flag", err.Error())
620632
}
621633

622634
func TestCreateScanWithPrimaryBranchFlagStringValue_Should_Fail(t *testing.T) {

internal/services/projects.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,7 @@ func FindProject(
4040
return "", err
4141
}
4242
branchName := strings.TrimSpace(viper.GetString(commonParams.BranchKey))
43-
branchPrimaryChanged := cmd.Flags().Changed(commonParams.BranchPrimaryFlag)
44-
if branchPrimaryChanged {
45-
isBranchPrimary, _ = cmd.Flags().GetBool(commonParams.BranchPrimaryFlag)
46-
}
43+
isBranchPrimary, _ = cmd.Flags().GetBool(commonParams.BranchPrimaryFlag)
4744
for i := 0; i < len(resp.Projects); i++ {
4845
project := resp.Projects[i]
4946
if project.Name == projectName {

0 commit comments

Comments
 (0)