Skip to content

Commit 9ba7b51

Browse files
authored
Merge pull request #211 from CheckmarxDev/feature/adding-supportsQuickFix-attribute
supporting new field in sca results + update flag name
2 parents 3e73084 + 59c925e commit 9ba7b51

File tree

6 files changed

+17
-11
lines changed

6 files changed

+17
-11
lines changed

src/main/results/CxDependencyPaths.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ export default class CxDependencyPaths {
33
name: string;
44
version: string;
55
isDevelopment: boolean;
6+
supportsQuickFix:boolean;
67
}

src/main/results/CxScaPackageData.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@ export default class CxScaPackageData {
66
dependencyPaths: CxDependencyPaths [];
77
outdated: boolean;
88
fixLink:string
9+
supportsQuickFix:boolean;
910

10-
constructor(id: string,locations: string [],dependencyPaths: CxDependencyPaths [],outdated: boolean,fixLink:string) {
11+
constructor(id: string,locations: string [],dependencyPaths: CxDependencyPaths [],outdated: boolean,fixLink:string,supportsQuickFix:boolean) {
1112
this.id = id;
1213
this.locations = locations;
1314
this.dependencyPaths = dependencyPaths;
1415
this.outdated = outdated;
1516
this.fixLink = fixLink;
17+
this.supportsQuickFix = supportsQuickFix;
1618
}
1719
}

src/main/wrapper/CxConstants.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export enum CxConstants {
2222
KICS_REMEDIATION_RESULTS_FILE = "--results-file",
2323
KICS_REMEDIATION_KICS_FILE = "--kics-files",
2424
KICS_REMEDIATION_SIMILARITY_IDS = "--similarity-ids",
25-
SCA_REMEDIATION_PACKAGE_FILE = "--package-file",
25+
SCA_REMEDIATION_PACKAGE_FILES = "--package-files",
2626
SCA_REMEDIATION_PACKAGE = "--package",
2727
SCA_REMEDIATION_PACKAGE_VERSION = "--package-version",
2828
CMD_AUTH = "auth",

src/main/wrapper/CxWrapper.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,8 +260,8 @@ export class CxWrapper {
260260
return exec.executeKicsCommands(this.config.pathToExecutable, commands, CxConstants.KICS_REMEDIATION_TYPE);
261261
}
262262

263-
async scaRemediation(packageFile: string, packages:string, packageVersion:string): Promise<CxCommandOutput> {
264-
const commands: string[] = [CxConstants.CMD_UTILS, CxConstants.CMD_REMEDIATION,CxConstants.SUB_CMD_REMEDIATION_SCA,CxConstants.SCA_REMEDIATION_PACKAGE_FILE, packageFile,CxConstants.SCA_REMEDIATION_PACKAGE, packages,CxConstants.SCA_REMEDIATION_PACKAGE_VERSION,packageVersion];
263+
async scaRemediation(packageFiles: string, packages:string, packageVersion:string): Promise<CxCommandOutput> {
264+
const commands: string[] = [CxConstants.CMD_UTILS, CxConstants.CMD_REMEDIATION,CxConstants.SUB_CMD_REMEDIATION_SCA,CxConstants.SCA_REMEDIATION_PACKAGE_FILES, packageFiles,CxConstants.SCA_REMEDIATION_PACKAGE, packages,CxConstants.SCA_REMEDIATION_PACKAGE_VERSION,packageVersion];
265265
commands.push(...this.initializeCommands(false));
266266
const exec = new ExecutionService();
267267
return exec.executeCommands(this.config.pathToExecutable, commands);

src/main/wrapper/ExecutionService.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ export class ExecutionService {
192192
const read_json = JSON.parse(read.replace(/:([0-9]{15,}),/g, ':"$1",'));
193193
if (read_json.results){
194194
const r : CxResult[] = read_json.results.map((member:any)=>{
195-
const cxScaPackageData = new CxScaPackageData(member.data.scaPackageData?.id,member.data.scaPackageData?.locations,member.data.scaPackageData?.dependencyPaths,member.data.scaPackageData?.outdated,member.data.scaPackageData?.fixLink);
195+
const cxScaPackageData = new CxScaPackageData(member.data.scaPackageData?.id,member.data.scaPackageData?.locations,member.data.scaPackageData?.dependencyPaths,member.data.scaPackageData?.outdated,member.data.scaPackageData?.fixLink,member.data.scaPackageData?.supportsQuickFix);
196196
const cvss = new CxCvss(member.vulnerabilityDetails.cvss.version,member.vulnerabilityDetails.cvss.attackVector,member.vulnerabilityDetails.cvss.availability,member.vulnerabilityDetails.cvss.confidentiality,member.vulnerabilityDetails.cvss.attackComplexity,member.vulnerabilityDetails.cvss.integrityImpact,member.vulnerabilityDetails.cvss.scope,member.vulnerabilityDetails.cvss.privilegesRequired,member.vulnerabilityDetails.cvss.userInteraction);
197197
const cxVulnerabilityDetails = new CxVulnerabilityDetails(member.vulnerabilityDetails.cweId,cvss,member.vulnerabilityDetails.compliances,member.vulnerabilityDetails.cvssScore,member.vulnerabilityDetails.cveName);
198198
const nodes:CxNode[]=member.data.nodes?.map((node:any)=>{

src/tests/RemediationTest.test.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,15 @@ import {BaseTest} from "./BaseTest";
33
import {CxCommandOutput} from "../main/wrapper/CxCommandOutput";
44
import CxKicsRemediation from "../main/remediation/CxKicsRemediation";
55

6+
describe("SCA Remediation cases",() => {
7+
const cxScanConfig = new BaseTest();
8+
it('SCA Remediation Successful case ', async () => {
9+
const auth = new CxWrapper(cxScanConfig);
10+
const e:CxCommandOutput = await auth.scaRemediation("dist/tests/data/package.json","copyfiles","1.2")
11+
expect(e.exitCode).toBe(0);
12+
});
13+
});
14+
615
describe("Kics Remediation cases",() => {
716
const cxScanConfig = new BaseTest();
817
it('Kics Remediation Successful case', async () => {
@@ -22,10 +31,4 @@ describe("Kics Remediation cases",() => {
2231
expect(remediation.availableRemediation).toBeDefined();
2332
expect(remediation.appliedRemediation).toBeDefined();
2433
});
25-
26-
it('SCA Remediation Successful case ', async () => {
27-
const auth = new CxWrapper(cxScanConfig);
28-
const e:CxCommandOutput = await auth.scaRemediation("dist/tests/data/package.json","copyfiles","1.2")
29-
expect(e.exitCode).toBe(0);
30-
});
3134
});

0 commit comments

Comments
 (0)