Skip to content

Commit c0212f8

Browse files
authored
Merge pull request #42 from CheckmarxDev/fix_triage_update
scan type was incorrect
2 parents dcbf6cb + 5315939 commit c0212f8

File tree

3 files changed

+58
-52
lines changed

3 files changed

+58
-52
lines changed

src/main/wrapper/CxConstants.ts

Lines changed: 51 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,53 @@
11
export enum CxConstants {
2-
SOURCE = "-s",
3-
VERBOSE = "-v",
4-
PROJECT_NAME = "--project-name",
5-
SCAN_TYPES_SUB_CMD = "--scan-type",
6-
SCAN_TYPES = "--scan-types",
7-
SAST_PRESET_NAME = "--sast-preset-name",
8-
FILE_FILTER = "--file-filter",
9-
AGENT = "--agent",
10-
BRANCH = "--branch",
11-
BRANCH_NAME = "branch-name=",
12-
CLIENT_ID = "--client-id",
13-
CLIENT_SECRET = "--client-secret",
14-
API_KEY = "--apikey",
15-
TENANT = "--tenant",
16-
BASE_URI = "--base-uri",
17-
BASE_AUTH_URI = "--base-auth-uri",
18-
CMD_AUTH = "auth",
19-
SUB_CMD_VALIDATE = "validate",
20-
CMD_PROJECT = "project",
21-
SUB_CMD_BRANCHES = "branches",
22-
CMD_SCAN = "scan",
23-
SUB_CMD_SHOW = "show",
24-
SUB_CMD_LIST = "list",
25-
SUB_CMD_CREATE = "create",
26-
CMD_TRIAGE = "triage",
27-
SUB_CMD_UPDATE = "update",
28-
CMD_RESULT = "result",
29-
FORMAT = "--format",
30-
FORMAT_JSON = "json",
31-
FORMAT_HTML = "html",
32-
FORMAT_JSON_FILE = ".json",
33-
FORMAT_HTML_FILE = ".html",
34-
FORMAT_HTML_CLI = "summaryHTML",
35-
FILTER = "--filter",
36-
SCAN_ID = "--scan-id",
37-
PROJECT_ID = "--project-id",
38-
SIMILARITY_ID = "--similarity-id",
39-
STATE = "--state",
40-
COMMENT = "--comment",
41-
SEVERITY = "--severity",
42-
REPORT_FORMAT = "--report-format",
43-
OUTPUT_NAME = "--output-name",
44-
OUTPUT_PATH = "--output-path",
45-
SCAN_TYPE = "CxScan",
46-
PROJECT_TYPE = "CxProject",
47-
PREDICATE_TYPE = "CxPredicate"
2+
SOURCE = "-s",
3+
VERBOSE = "-v",
4+
PROJECT_NAME = "--project-name",
5+
SCAN_TYPES_SUB_CMD = "--scan-type",
6+
SCAN_TYPES = "--scan-types",
7+
SAST_PRESET_NAME = "--sast-preset-name",
8+
FILE_FILTER = "--file-filter",
9+
AGENT = "--agent",
10+
BRANCH = "--branch",
11+
BRANCH_NAME = "branch-name=",
12+
CLIENT_ID = "--client-id",
13+
CLIENT_SECRET = "--client-secret",
14+
API_KEY = "--apikey",
15+
TENANT = "--tenant",
16+
BASE_URI = "--base-uri",
17+
BASE_AUTH_URI = "--base-auth-uri",
18+
CMD_AUTH = "auth",
19+
SUB_CMD_VALIDATE = "validate",
20+
CMD_PROJECT = "project",
21+
SUB_CMD_BRANCHES = "branches",
22+
CMD_SCAN = "scan",
23+
SUB_CMD_SHOW = "show",
24+
SUB_CMD_LIST = "list",
25+
SUB_CMD_CREATE = "create",
26+
CMD_TRIAGE = "triage",
27+
SUB_CMD_UPDATE = "update",
28+
CMD_RESULT = "result",
29+
FORMAT = "--format",
30+
FORMAT_JSON = "json",
31+
FORMAT_HTML = "html",
32+
FORMAT_JSON_FILE = ".json",
33+
FORMAT_HTML_FILE = ".html",
34+
FORMAT_HTML_CLI = "summaryHTML",
35+
FILTER = "--filter",
36+
SCAN_ID = "--scan-id",
37+
PROJECT_ID = "--project-id",
38+
SIMILARITY_ID = "--similarity-id",
39+
STATE = "--state",
40+
COMMENT = "--comment",
41+
SEVERITY = "--severity",
42+
REPORT_FORMAT = "--report-format",
43+
OUTPUT_NAME = "--output-name",
44+
OUTPUT_PATH = "--output-path",
45+
SCAN_TYPE = "CxScan",
46+
PROJECT_TYPE = "CxProject",
47+
PREDICATE_TYPE = "CxPredicate",
48+
SAST = "sast",
49+
50+
SEVERITY_HIGH = "high",
51+
SEVERITY_MEDIUM = "medium",
52+
STATE_CONFIRMED = "confirmed"
4853
}

src/main/wrapper/CxWrapper.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ export class CxWrapper {
153153
}
154154

155155
async triageUpdate(projectId: string, similarityId: string, scanType: string, state: string, comment: string, severity: string): Promise<CxCommandOutput> {
156-
const commands: string[] = [CxConstants.CMD_TRIAGE, CxConstants.SUB_CMD_UPDATE, CxConstants.PROJECT_ID, projectId, CxConstants.SIMILARITY_ID, similarityId, CxConstants.SCAN_TYPE, scanType, CxConstants.STATE, state, CxConstants.COMMENT, comment, CxConstants.SEVERITY, severity];
156+
const commands: string[] = [CxConstants.CMD_TRIAGE, CxConstants.SUB_CMD_UPDATE, CxConstants.PROJECT_ID, projectId, CxConstants.SIMILARITY_ID, similarityId, CxConstants.SCAN_TYPES_SUB_CMD, scanType, CxConstants.STATE, state, CxConstants.COMMENT, comment, CxConstants.SEVERITY, severity];
157157
commands.push(...this.initializeCommands(false));
158158
const exec = new ExecutionService();
159159
return await exec.executeCommands(this.config.pathToExecutable, commands);

src/tests/PredicateTest.test.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {CxCommandOutput} from "../main/wrapper/CxCommandOutput";
33
import {BaseTest} from "./BaseTest";
44
import CxResult from '../main/results/CxResult';
55
import CxScan from '../main/scan/CxScan';
6+
import { CxConstants } from '../main/wrapper/CxConstants';
67

78
describe("Triage cases",() => {
89
let cxScanConfig = new BaseTest();
@@ -12,9 +13,9 @@ describe("Triage cases",() => {
1213
const scanListOutput = await auth.scanList("statuses=Completed");
1314
const scan: CxScan = scanListOutput.payload[0]
1415
const results = await auth.getResultsList(scan.id)
15-
const result: CxResult = results.payload.find(res => res.type == "sast")
16+
const result: CxResult = results.payload.find(res => res.type == CxConstants.SAST)
1617

17-
const cxCommandOutput: CxCommandOutput = await auth.triageShow(scan.projectID, result.similarityId, "sast");
18+
const cxCommandOutput: CxCommandOutput = await auth.triageShow(scan.projectID, result.similarityId, result.type);
1819

1920
expect(cxCommandOutput.exitCode).toEqual(0);
2021
})
@@ -24,10 +25,10 @@ describe("Triage cases",() => {
2425
const scanListOutput = await auth.scanList("statuses=Completed");
2526
const scan: CxScan = scanListOutput.payload[0]
2627
const results = await auth.getResultsList(scan.id)
27-
const result: CxResult = results.payload.find(res => res.type == "sast")
28+
const result: CxResult = results.payload.find(res => res.type == CxConstants.SAST)
29+
30+
const cxCommandOutput: CxCommandOutput = await auth.triageUpdate(scan.projectID, result.similarityId, result.type, CxConstants.STATE_CONFIRMED, "Edited via JavascriptWrapper", result.severity.toLowerCase() == "high" ? CxConstants.SEVERITY_MEDIUM : CxConstants.SEVERITY_HIGH);
2831

29-
const cxCommandOutput: CxCommandOutput = await auth.triageUpdate(scan.projectID, result.similarityId, "sast", "confirmed", "Edited via JavascriptWrapper", "high");
30-
3132
expect(cxCommandOutput.exitCode).toEqual(0);
3233
})
3334
});

0 commit comments

Comments
 (0)