Skip to content

Commit 79b611b

Browse files
Merge branch 'main' into bug/alex-fix-sca-configurations
2 parents 1df6b83 + f186e39 commit 79b611b

3 files changed

Lines changed: 30 additions & 4 deletions

File tree

internal/commands/result.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ func NewResultsCommand(
201201
codeBashingCmd := resultCodeBashing(codeBashingWrapper)
202202
bflResultCmd := resultBflSubCommand(bflWrapper)
203203
exitCodeSubcommand := exitCodeSubCommand(scanWrapper)
204-
riskManagementSubCommand := riskManagementSubCommand(riskManagementWrapper)
204+
riskManagementSubCommand := riskManagementSubCommand(riskManagementWrapper, featureFlagsWrapper)
205205
resultCmd.AddCommand(
206206
showResultCmd, bflResultCmd, codeBashingCmd, exitCodeSubcommand, riskManagementSubCommand,
207207
)
@@ -226,7 +226,8 @@ func exitCodeSubCommand(scanWrapper wrappers.ScansWrapper) *cobra.Command {
226226

227227
return exitCodeCmd
228228
}
229-
func riskManagementSubCommand(riskManagement wrappers.RiskManagementWrapper) *cobra.Command {
229+
func riskManagementSubCommand(riskManagement wrappers.RiskManagementWrapper, featureFlagsWrapper wrappers.FeatureFlagsWrapper,
230+
) *cobra.Command {
230231
riskManagementCmd := &cobra.Command{
231232
Use: "risk-management",
232233
Short: "Show risk-management results of a project",
@@ -236,7 +237,7 @@ func riskManagementSubCommand(riskManagement wrappers.RiskManagementWrapper) *co
236237
$ cx results risk-management --project-id <project Id> --limit <limit> (1-50, default: 50)
237238
`,
238239
),
239-
RunE: runRiskManagementCommand(riskManagement),
240+
RunE: runRiskManagementCommand(riskManagement, featureFlagsWrapper),
240241
}
241242

242243
riskManagementCmd.PersistentFlags().String(commonParams.ProjectIDFlag, "", "Project ID")
@@ -350,11 +351,17 @@ func runGetExitCodeCommand(scanWrapper wrappers.ScansWrapper) func(cmd *cobra.Co
350351
}
351352
}
352353

353-
func runRiskManagementCommand(riskManagement wrappers.RiskManagementWrapper) func(cmd *cobra.Command, args []string) error {
354+
func runRiskManagementCommand(riskManagement wrappers.RiskManagementWrapper, featureFlagsWrapper wrappers.FeatureFlagsWrapper,
355+
) func(cmd *cobra.Command, args []string) error {
354356
return func(cmd *cobra.Command, args []string) error {
355357
projectID, _ := cmd.Flags().GetString(commonParams.ProjectIDFlag)
356358
limit, _ := cmd.Flags().GetInt(commonParams.LimitFlag)
357359

360+
flagResponse, _ := wrappers.GetSpecificFeatureFlag(featureFlagsWrapper, wrappers.RiskManagementEnabled)
361+
ASPMEnabled := flagResponse.Status
362+
if !ASPMEnabled {
363+
return errors.Errorf("%s", "Risk management results are currently unavailable for your tenant.")
364+
}
358365
results, err := getRiskManagementResults(riskManagement, projectID)
359366
if err != nil {
360367
return err

internal/commands/result_test.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1562,7 +1562,16 @@ func TestRiskManagementHelp(t *testing.T) {
15621562
execCmdNilAssertion(t, "help", "results", "risk-management")
15631563
}
15641564

1565+
func TestRiskManagement_ShouldFFBeFalseAndReturnError(t *testing.T) {
1566+
clearFlags()
1567+
err := execCmdNotNilAssertion(t, "results", "risk-management")
1568+
assert.Equal(t, err.Error(), "Risk management results are currently unavailable for your tenant.", "Expected error message")
1569+
1570+
}
1571+
15651572
func TestRiskManagement(t *testing.T) {
1573+
clearFlags()
1574+
mock.Flag = wrappers.FeatureFlagResponseModel{Name: wrappers.RiskManagementEnabled, Status: true}
15661575
execCmdNilAssertion(t, "results", "risk-management")
15671576
}
15681577

internal/wrappers/feature-flags.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ const SastCustomStateEnabled = "SAST_CUSTOM_STATES_ENABLED"
1515
const ContainerEngineCLIEnabled = "CONTAINER_ENGINE_CLI_ENABLED"
1616
const SCSEngineCLIEnabled = "NEW_2MS_SCORECARD_RESULTS_CLI_ENABLED"
1717
const NewScanReportEnabled = "NEW_SAST_SCAN_REPORT_ENABLED"
18+
const RiskManagementEnabled = "RISK_MANAGEMENT_IDES_PROJECT_RESULTS_SCORES_API_ENABLED"
1819
const maxRetries = 3
1920

2021
var DefaultFFLoad bool = false
@@ -76,6 +77,15 @@ var FeatureFlagsBaseMap = []CommandFlags{
7677
},
7778
},
7879
},
80+
{
81+
CommandName: "cx results risk-management",
82+
FeatureFlags: []FlagBase{
83+
{
84+
Name: RiskManagementEnabled,
85+
Default: false,
86+
},
87+
},
88+
},
7989
}
8090

8191
var featureFlags = map[string]bool{}

0 commit comments

Comments
 (0)