diff --git a/.github/workflows/pr-linter.yml b/.github/workflows/pr-linter.yml index 5b48260b6..5ed416c97 100644 --- a/.github/workflows/pr-linter.yml +++ b/.github/workflows/pr-linter.yml @@ -23,7 +23,7 @@ jobs: exit 1 fi - if ! [[ "$PR_BRANCH" =~ ^(bug|feature|other)/ ]]; then + if ! [[ "$PR_BRANCH" =~ ^(bug|fix|feature|other)/ ]]; then echo "::error::Branch name must start with 'bug/' or 'feature/' or 'other/'." exit 1 fi diff --git a/CODEOWNERS b/CODEOWNERS index ad673fdbd..039bbd5a3 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -2,4 +2,4 @@ # Each line is a file pattern followed by one or more owners # Specify the default owners for the entire repository -* @OrShamirCM @AlvoBen \ No newline at end of file +* @AlvoBen @greensd4 @miryamfoiferCX diff --git a/internal/services/asca_test.go b/internal/services/asca_test.go index 8ef5d6bf5..d4e17b459 100644 --- a/internal/services/asca_test.go +++ b/internal/services/asca_test.go @@ -5,6 +5,7 @@ import ( "testing" errorconstants "github.com/checkmarx/ast-cli/internal/constants/errors" + "github.com/checkmarx/ast-cli/internal/wrappers" "github.com/checkmarx/ast-cli/internal/wrappers/grpcs" "github.com/checkmarx/ast-cli/internal/wrappers/mock" "github.com/stretchr/testify/assert" @@ -130,3 +131,20 @@ func TestCreateASCAScanRequest_EngineRunningAndDefaultAgentAndNoLicense_Success( assert.Nil(t, wrapperParams.ASCAWrapper.HealthCheck()) _ = wrapperParams.ASCAWrapper.ShutDown() } + +func TestCreateASCAScanRequest_whenCheckLicenseWithPackageEnforcementFFOff_shouldSuccess(t *testing.T) { + port, err := getAvailablePort() + if err != nil { + t.Fatalf("Failed to get available port: %v", err) + } + + mock.Flag = wrappers.FeatureFlagResponseModel{Name: wrappers.PackageEnforcementEnabled, Status: false} + + wrapperParams := AscaWrappersParam{ + JwtWrapper: wrappers.NewJwtWrapper(), + FeatureFlagsWrapper: &mock.FeatureFlagsMockWrapper{}, + ASCAWrapper: grpcs.NewASCAGrpcWrapper(port), + } + err = checkLicense(false, wrapperParams) + assert.Nil(t, err) +} diff --git a/internal/wrappers/jwt-helper.go b/internal/wrappers/jwt-helper.go index 39d8bc301..8be84ee2e 100644 --- a/internal/wrappers/jwt-helper.go +++ b/internal/wrappers/jwt-helper.go @@ -67,16 +67,18 @@ func getJwtStruct() (*JWTStruct, error) { // IsAllowedEngine will return if the engine is allowed in the user license func (*JWTStruct) IsAllowedEngine(engine string, featureFlagsWrapper FeatureFlagsWrapper) (bool, error) { flagResponse, _ := GetSpecificFeatureFlag(featureFlagsWrapper, PackageEnforcementEnabled) - if flagResponse.Status { - jwtStruct, err := getJwtStruct() - if err != nil { - return false, err - } + if !flagResponse.Status { + return true, nil + } + + jwtStruct, err := getJwtStruct() + if err != nil { + return false, err + } - for _, allowedEngine := range jwtStruct.AstLicense.LicenseData.AllowedEngines { - if strings.EqualFold(allowedEngine, engine) { - return true, nil - } + for _, allowedEngine := range jwtStruct.AstLicense.LicenseData.AllowedEngines { + if strings.EqualFold(allowedEngine, engine) { + return true, nil } } return false, nil diff --git a/test/integration/bfl_test.go b/test/integration/bfl_test.go index 05c0ca82b..a45176e3a 100644 --- a/test/integration/bfl_test.go +++ b/test/integration/bfl_test.go @@ -33,7 +33,7 @@ func TestRunGetBflWithInvalidScanIDandQueryID(t *testing.T) { err, _ := executeCommand( t, "results", "bfl", flag(params.ScanIDFlag), "123456", - flag(params.QueryIDFlag), "abcd", + flag(params.QueryIDFlag), "1", flag(params.FormatFlag), "json") assertError(t, err, "Failed getting BFL: CODE: 5002, Failed getting BFL")