Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions audit_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -513,9 +513,9 @@ func TestXrayAuditMultiProjects(t *testing.T) {
}
output := securityTests.PlatformCli.WithoutCredentials().RunCliCmdWithOutput(t, getAuditCmdArgs(params)...)
validations.VerifySimpleJsonResults(t, output, validations.ValidationParams{
Total: &validations.TotalCount{Vulnerabilities: 43 + securityTestUtils.ExpectedServicesIssueCount(6)},
Total: &validations.TotalCount{Vulnerabilities: 43 + 6},
Vulnerabilities: &validations.VulnerabilityCount{
ValidateScan: &validations.ScanCount{Sca: 27, Sast: 1, Iac: 9, Secrets: 6, Services: securityTestUtils.ExpectedServicesIssueCount(6)},
ValidateScan: &validations.ScanCount{Sca: 27, Sast: 1, Iac: 9, Secrets: 6, Services: 6},
ValidateApplicabilityStatus: &validations.ApplicabilityStatusCount{Applicable: 3, NotCovered: 22, NotApplicable: 2},
},
})
Expand Down Expand Up @@ -783,9 +783,9 @@ func TestXrayAuditJasSimpleJson(t *testing.T) {
Format: format.SimpleJson,
})
validations.VerifySimpleJsonResults(t, output, validations.ValidationParams{
Total: &validations.TotalCount{Vulnerabilities: 23 + securityTestUtils.ExpectedServicesIssueCount(6)},
Total: &validations.TotalCount{Vulnerabilities: 23 + 6},
Vulnerabilities: &validations.VulnerabilityCount{
ValidateScan: &validations.ScanCount{Sca: 7, Sast: 1, Iac: 9, Secrets: 6, Services: securityTestUtils.ExpectedServicesIssueCount(6)},
ValidateScan: &validations.ScanCount{Sca: 7, Sast: 1, Iac: 9, Secrets: 6, Services: 6},
ValidateApplicabilityStatus: &validations.ApplicabilityStatusCount{Applicable: 3, Undetermined: 1, NotCovered: 1, NotApplicable: 2},
},
})
Expand Down Expand Up @@ -813,9 +813,9 @@ func TestXrayAuditJasSimpleJsonWithOneThread(t *testing.T) {
Format: format.SimpleJson,
})
validations.VerifySimpleJsonResults(t, output, validations.ValidationParams{
Total: &validations.TotalCount{Vulnerabilities: 23 + securityTestUtils.ExpectedServicesIssueCount(6)},
Total: &validations.TotalCount{Vulnerabilities: 23 + 6},
Vulnerabilities: &validations.VulnerabilityCount{
ValidateScan: &validations.ScanCount{Sca: 7, Sast: 1, Iac: 9, Secrets: 6, Services: securityTestUtils.ExpectedServicesIssueCount(6)},
ValidateScan: &validations.ScanCount{Sca: 7, Sast: 1, Iac: 9, Secrets: 6, Services: 6},
ValidateApplicabilityStatus: &validations.ApplicabilityStatusCount{Applicable: 3, Undetermined: 1, NotCovered: 1, NotApplicable: 2},
},
})
Expand Down Expand Up @@ -934,9 +934,9 @@ func TestXrayAuditJasSimpleJsonWithXrayUrl(t *testing.T) {
Format: format.SimpleJson,
})
validations.VerifySimpleJsonResults(t, output, validations.ValidationParams{
Total: &validations.TotalCount{Vulnerabilities: 23 + securityTestUtils.ExpectedServicesIssueCount(6)},
Total: &validations.TotalCount{Vulnerabilities: 23 + 6},
Vulnerabilities: &validations.VulnerabilityCount{
ValidateScan: &validations.ScanCount{Sca: 7, Sast: 1, Iac: 9, Secrets: 6, Services: securityTestUtils.ExpectedServicesIssueCount(6)},
ValidateScan: &validations.ScanCount{Sca: 7, Sast: 1, Iac: 9, Secrets: 6, Services: 6},
ValidateApplicabilityStatus: &validations.ApplicabilityStatusCount{Applicable: 3, Undetermined: 1, NotCovered: 1, NotApplicable: 2},
},
})
Expand All @@ -951,9 +951,9 @@ func TestXrayAuditJasSimpleJsonWithCustomExclusions(t *testing.T) {
Format: format.SimpleJson,
})
validations.VerifySimpleJsonResults(t, output, validations.ValidationParams{
Total: &validations.TotalCount{Vulnerabilities: 24 + securityTestUtils.ExpectedServicesIssueCount(5)},
Total: &validations.TotalCount{Vulnerabilities: 24 + 5},
Vulnerabilities: &validations.VulnerabilityCount{
ValidateScan: &validations.ScanCount{Sca: 7, Sast: 2, Iac: 9, Secrets: 6, Services: securityTestUtils.ExpectedServicesIssueCount(5)},
ValidateScan: &validations.ScanCount{Sca: 7, Sast: 2, Iac: 9, Secrets: 6, Services: 5},
ValidateApplicabilityStatus: &validations.ApplicabilityStatusCount{Applicable: 3, Undetermined: 1, NotCovered: 1, NotApplicable: 2},
},
})
Expand Down Expand Up @@ -1182,10 +1182,10 @@ func TestAuditNewScaCycloneDxPip(t *testing.T) {
)
assert.NoError(t, err)
validations.VerifyCycloneDxResults(t, output, validations.ValidationParams{
Total: &validations.TotalCount{Vulnerabilities: 22 + securityTestUtils.ExpectedServicesIssueCount(6), BomComponents: 1 /*root*/ + 2 /*components*/ + 5 /*files (secrets)*/},
Total: &validations.TotalCount{Vulnerabilities: 22 + 4, BomComponents: 1 /*root*/ + 2 /*components*/ + 5 /*files (secrets)*/},
SbomComponents: &validations.SbomCount{Root: 1, Direct: 2},
Vulnerabilities: &validations.VulnerabilityCount{
ValidateScan: &validations.ScanCount{Sast: 2, Iac: 9, Secrets: 11, Services: securityTestUtils.ExpectedServicesIssueCount(4)},
ValidateScan: &validations.ScanCount{Sast: 2, Iac: 9, Secrets: 11, Services: 4},
},
})
}
Expand Down
13 changes: 6 additions & 7 deletions commands/audit/audit_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -888,7 +888,7 @@ func TestAuditWithConfigProfile(t *testing.T) {
},
}},
},
expectedSecretsIssues: 15,
expectedSecretsIssues: 13,
},
{
name: "Secrets scanner is enabled with exclusions",
Expand Down Expand Up @@ -921,7 +921,7 @@ func TestAuditWithConfigProfile(t *testing.T) {
},
}},
},
expectedSecretsIssues: 10,
expectedSecretsIssues: 8,
},
{
name: "Enable only Sast scanner",
Expand Down Expand Up @@ -1147,7 +1147,7 @@ func TestAuditWithConfigProfile(t *testing.T) {
},
expectedServicesIssues: 6,
expectedSastIssues: 2,
expectedSecretsIssues: 15,
expectedSecretsIssues: 13,
expectedIacIssues: 9,
expectedScaIssues: 15,
expectedCaNotCovered: 15,
Expand Down Expand Up @@ -1186,7 +1186,7 @@ func TestAuditWithConfigProfile(t *testing.T) {
},
expectedServicesIssues: 6,
expectedSastIssues: 0,
expectedSecretsIssues: 10,
expectedSecretsIssues: 8,
expectedIacIssues: 9,
expectedScaIssues: 15,
expectedCaNotCovered: 15,
Expand Down Expand Up @@ -1232,13 +1232,12 @@ func TestAuditWithConfigProfile(t *testing.T) {
} else {
scaResultsCount = testcase.expectedScaIssues
}
expectedServicesIssues := securityTestUtils.ExpectedServicesIssueCount(testcase.expectedServicesIssues)
validations.ValidateCommandSummaryOutput(t, validations.ValidationParams{
Actual: summary,
ExactResultsMatch: true,
Total: &validations.TotalCount{Vulnerabilities: testcase.expectedSastIssues + testcase.expectedSecretsIssues + testcase.expectedIacIssues + scaResultsCount + expectedServicesIssues},
Total: &validations.TotalCount{Vulnerabilities: testcase.expectedSastIssues + testcase.expectedSecretsIssues + testcase.expectedIacIssues + scaResultsCount + testcase.expectedServicesIssues},
Vulnerabilities: &validations.VulnerabilityCount{
ValidateScan: &validations.ScanCount{Sca: scaResultsCount, Sast: testcase.expectedSastIssues, Secrets: testcase.expectedSecretsIssues, Iac: testcase.expectedIacIssues, Services: expectedServicesIssues},
ValidateScan: &validations.ScanCount{Sca: scaResultsCount, Sast: testcase.expectedSastIssues, Secrets: testcase.expectedSecretsIssues, Iac: testcase.expectedIacIssues, Services: testcase.expectedServicesIssues},
ValidateApplicabilityStatus: &validations.ApplicabilityStatusCount{Applicable: testcase.expectedCaApplicable, NotApplicable: testcase.expectedCaNotApplicable, NotCovered: testcase.expectedCaNotCovered, Undetermined: testcase.expectedCaUndetermined},
},
})
Expand Down
10 changes: 5 additions & 5 deletions git_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -169,12 +169,12 @@ func TestGitAuditStaticScaSimpleJson(t *testing.T) {
},
xrayVersion, "", "One or more of the detected violations are configured to fail the build that including them",
validations.ValidationParams{
Total: &validations.TotalCount{Licenses: 85, Violations: 12 + securityTestUtils.ExpectedServicesIssueCount(6), Vulnerabilities: 16 + securityTestUtils.ExpectedServicesIssueCount(6)},
Total: &validations.TotalCount{Licenses: 85, Violations: 12 + 6, Vulnerabilities: 16 + 6},
Vulnerabilities: &validations.VulnerabilityCount{
ValidateScan: &validations.ScanCount{Sca: 8, Sast: 2, Iac: 4, Secrets: 2, Services: securityTestUtils.ExpectedServicesIssueCount(6)},
ValidateScan: &validations.ScanCount{Sca: 8, Sast: 2, Iac: 4, Secrets: 2, Services: 6},
},
// Check that we have at least one violation for each scan type. (IAC is not supported yet)
Violations: &validations.ViolationCount{ValidateScan: &validations.ScanCount{Sca: 8, Sast: 2, Secrets: 2, Services: securityTestUtils.ExpectedServicesIssueCount(6)}},
Violations: &validations.ViolationCount{ValidateScan: &validations.ScanCount{Sca: 8, Sast: 2, Secrets: 2, Services: 6}},
},
)
}
Expand Down Expand Up @@ -311,7 +311,7 @@ func TestGitAuditJasSkipNotApplicableCvesViolations(t *testing.T) {
xrayVersion, xscVersion, "",
validations.ValidationParams{
Violations: &validations.ViolationCount{
ValidateScan: &validations.ScanCount{Sca: 72, Sast: 5, Secrets: 6},
ValidateScan: &validations.ScanCount{Sca: 72, Sast: 5, Secrets: 4},
ValidateApplicabilityStatus: &validations.ApplicabilityStatusCount{NotApplicable: 61, NotCovered: 10, MissingContext: 1, Inactive: 1},
},
ExactResultsMatch: true,
Expand Down Expand Up @@ -346,7 +346,7 @@ func TestGitAuditJasSkipNotApplicableCvesViolations(t *testing.T) {
xrayVersion, xscVersion, "",
validations.ValidationParams{
Violations: &validations.ViolationCount{
ValidateScan: &validations.ScanCount{Sca: 11, Sast: 5, Secrets: 6},
ValidateScan: &validations.ScanCount{Sca: 11, Sast: 5, Secrets: 4},
ValidateApplicabilityStatus: &validations.ApplicabilityStatusCount{NotCovered: 10, MissingContext: 1, Inactive: 1},
},
ExactResultsMatch: true,
Expand Down
2 changes: 1 addition & 1 deletion jas/analyzermanager.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import (
const (
ApplicabilityFeatureId = "contextual_analysis"
AnalyzerManagerZipName = "analyzerManager.zip"
defaultAnalyzerManagerVersion = "1.50.0"
defaultAnalyzerManagerVersion = "1.55.0"
analyzerManagerDownloadPath = "xsc-gen-exe-analyzer-manager-local/v1"
analyzerManagerDirName = "analyzerManager"
analyzerManagerExecutableName = "analyzerManager"
Expand Down
11 changes: 0 additions & 11 deletions tests/utils/test_utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ import (

"github.com/jfrog/gofrog/version"
"github.com/jfrog/jfrog-cli-core/v2/utils/config"
"github.com/jfrog/jfrog-cli-core/v2/utils/coreutils"
configTests "github.com/jfrog/jfrog-cli-security/tests"
"github.com/stretchr/testify/assert"

Expand Down Expand Up @@ -56,16 +55,6 @@ func SkipTestIfDurationNotPassed(t *testing.T, dateStr string, durationDays int,
}
}

// ExpectedServicesIssueCount returns the expected JAS Services findings for the current OS.
// Analyzer Manager's GitHub Actions services scanner currently does not detect workflow files on Windows.
// Scanner bug is tracked in XRAY-159123.
func ExpectedServicesIssueCount(count int) int {
if coreutils.IsWindows() {
return 0
}
return count
}

func UnmarshalJson(t *testing.T, output string) formats.EnrichJson {
var jsonMap formats.EnrichJson
err := json.Unmarshal([]byte(output), &jsonMap)
Expand Down
Loading