Skip to content

Commit 4847d70

Browse files
Change IsAllowedEngine func to return true when packageEnforcementEnabled is false (AST-76112) (#951)
* Change IsAllowedEngine func to return true when packageEnforcementEnabled is set to false because that means that user has license for everything * remove unneeded feature flag call to package enforcement enabled * revert las commit * add the fix prefix to branch name as valid prefix in the pr linter * add unitest * code owners * change test name * resolve conversation * resolve conversation * fix bfl test --------- Co-authored-by: AlvoBen <alvo@post.bgu.ac.il>
1 parent 2ace444 commit 4847d70

File tree

5 files changed

+32
-12
lines changed

5 files changed

+32
-12
lines changed

.github/workflows/pr-linter.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
exit 1
2424
fi
2525
26-
if ! [[ "$PR_BRANCH" =~ ^(bug|feature|other)/ ]]; then
26+
if ! [[ "$PR_BRANCH" =~ ^(bug|fix|feature|other)/ ]]; then
2727
echo "::error::Branch name must start with 'bug/' or 'feature/' or 'other/'."
2828
exit 1
2929
fi

CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
# Each line is a file pattern followed by one or more owners
33

44
# Specify the default owners for the entire repository
5-
* @OrShamirCM @AlvoBen
5+
* @AlvoBen @greensd4 @miryamfoiferCX

internal/services/asca_test.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"testing"
66

77
errorconstants "github.com/checkmarx/ast-cli/internal/constants/errors"
8+
"github.com/checkmarx/ast-cli/internal/wrappers"
89
"github.com/checkmarx/ast-cli/internal/wrappers/grpcs"
910
"github.com/checkmarx/ast-cli/internal/wrappers/mock"
1011
"github.com/stretchr/testify/assert"
@@ -130,3 +131,20 @@ func TestCreateASCAScanRequest_EngineRunningAndDefaultAgentAndNoLicense_Success(
130131
assert.Nil(t, wrapperParams.ASCAWrapper.HealthCheck())
131132
_ = wrapperParams.ASCAWrapper.ShutDown()
132133
}
134+
135+
func TestCreateASCAScanRequest_whenCheckLicenseWithPackageEnforcementFFOff_shouldSuccess(t *testing.T) {
136+
port, err := getAvailablePort()
137+
if err != nil {
138+
t.Fatalf("Failed to get available port: %v", err)
139+
}
140+
141+
mock.Flag = wrappers.FeatureFlagResponseModel{Name: wrappers.PackageEnforcementEnabled, Status: false}
142+
143+
wrapperParams := AscaWrappersParam{
144+
JwtWrapper: wrappers.NewJwtWrapper(),
145+
FeatureFlagsWrapper: &mock.FeatureFlagsMockWrapper{},
146+
ASCAWrapper: grpcs.NewASCAGrpcWrapper(port),
147+
}
148+
err = checkLicense(false, wrapperParams)
149+
assert.Nil(t, err)
150+
}

internal/wrappers/jwt-helper.go

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,18 @@ func getJwtStruct() (*JWTStruct, error) {
6767
// IsAllowedEngine will return if the engine is allowed in the user license
6868
func (*JWTStruct) IsAllowedEngine(engine string, featureFlagsWrapper FeatureFlagsWrapper) (bool, error) {
6969
flagResponse, _ := GetSpecificFeatureFlag(featureFlagsWrapper, PackageEnforcementEnabled)
70-
if flagResponse.Status {
71-
jwtStruct, err := getJwtStruct()
72-
if err != nil {
73-
return false, err
74-
}
70+
if !flagResponse.Status {
71+
return true, nil
72+
}
73+
74+
jwtStruct, err := getJwtStruct()
75+
if err != nil {
76+
return false, err
77+
}
7578

76-
for _, allowedEngine := range jwtStruct.AstLicense.LicenseData.AllowedEngines {
77-
if strings.EqualFold(allowedEngine, engine) {
78-
return true, nil
79-
}
79+
for _, allowedEngine := range jwtStruct.AstLicense.LicenseData.AllowedEngines {
80+
if strings.EqualFold(allowedEngine, engine) {
81+
return true, nil
8082
}
8183
}
8284
return false, nil

test/integration/bfl_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ func TestRunGetBflWithInvalidScanIDandQueryID(t *testing.T) {
3333
err, _ := executeCommand(
3434
t, "results", "bfl",
3535
flag(params.ScanIDFlag), "123456",
36-
flag(params.QueryIDFlag), "abcd",
36+
flag(params.QueryIDFlag), "1",
3737
flag(params.FormatFlag), "json")
3838

3939
assertError(t, err, "Failed getting BFL: CODE: 5002, Failed getting BFL")

0 commit comments

Comments
 (0)