diff --git a/src/main/wrapper/CxConstants.ts b/src/main/wrapper/CxConstants.ts index 33ce964e..6ca873fc 100644 --- a/src/main/wrapper/CxConstants.ts +++ b/src/main/wrapper/CxConstants.ts @@ -1,48 +1,53 @@ export enum CxConstants { - SOURCE = "-s", - VERBOSE = "-v", - PROJECT_NAME = "--project-name", - SCAN_TYPES_SUB_CMD = "--scan-type", - SCAN_TYPES = "--scan-types", - SAST_PRESET_NAME = "--sast-preset-name", - FILE_FILTER = "--file-filter", - AGENT = "--agent", - BRANCH = "--branch", - BRANCH_NAME = "branch-name=", - CLIENT_ID = "--client-id", - CLIENT_SECRET = "--client-secret", - API_KEY = "--apikey", - TENANT = "--tenant", - BASE_URI = "--base-uri", - BASE_AUTH_URI = "--base-auth-uri", - CMD_AUTH = "auth", - SUB_CMD_VALIDATE = "validate", - CMD_PROJECT = "project", - SUB_CMD_BRANCHES = "branches", - CMD_SCAN = "scan", - SUB_CMD_SHOW = "show", - SUB_CMD_LIST = "list", - SUB_CMD_CREATE = "create", - CMD_TRIAGE = "triage", - SUB_CMD_UPDATE = "update", - CMD_RESULT = "result", - FORMAT = "--format", - FORMAT_JSON = "json", - FORMAT_HTML = "html", - FORMAT_JSON_FILE = ".json", - FORMAT_HTML_FILE = ".html", - FORMAT_HTML_CLI = "summaryHTML", - FILTER = "--filter", - SCAN_ID = "--scan-id", - PROJECT_ID = "--project-id", - SIMILARITY_ID = "--similarity-id", - STATE = "--state", - COMMENT = "--comment", - SEVERITY = "--severity", - REPORT_FORMAT = "--report-format", - OUTPUT_NAME = "--output-name", - OUTPUT_PATH = "--output-path", - SCAN_TYPE = "CxScan", - PROJECT_TYPE = "CxProject", - PREDICATE_TYPE = "CxPredicate" + SOURCE = "-s", + VERBOSE = "-v", + PROJECT_NAME = "--project-name", + SCAN_TYPES_SUB_CMD = "--scan-type", + SCAN_TYPES = "--scan-types", + SAST_PRESET_NAME = "--sast-preset-name", + FILE_FILTER = "--file-filter", + AGENT = "--agent", + BRANCH = "--branch", + BRANCH_NAME = "branch-name=", + CLIENT_ID = "--client-id", + CLIENT_SECRET = "--client-secret", + API_KEY = "--apikey", + TENANT = "--tenant", + BASE_URI = "--base-uri", + BASE_AUTH_URI = "--base-auth-uri", + CMD_AUTH = "auth", + SUB_CMD_VALIDATE = "validate", + CMD_PROJECT = "project", + SUB_CMD_BRANCHES = "branches", + CMD_SCAN = "scan", + SUB_CMD_SHOW = "show", + SUB_CMD_LIST = "list", + SUB_CMD_CREATE = "create", + CMD_TRIAGE = "triage", + SUB_CMD_UPDATE = "update", + CMD_RESULT = "result", + FORMAT = "--format", + FORMAT_JSON = "json", + FORMAT_HTML = "html", + FORMAT_JSON_FILE = ".json", + FORMAT_HTML_FILE = ".html", + FORMAT_HTML_CLI = "summaryHTML", + FILTER = "--filter", + SCAN_ID = "--scan-id", + PROJECT_ID = "--project-id", + SIMILARITY_ID = "--similarity-id", + STATE = "--state", + COMMENT = "--comment", + SEVERITY = "--severity", + REPORT_FORMAT = "--report-format", + OUTPUT_NAME = "--output-name", + OUTPUT_PATH = "--output-path", + SCAN_TYPE = "CxScan", + PROJECT_TYPE = "CxProject", + PREDICATE_TYPE = "CxPredicate", + SAST = "sast", + + SEVERITY_HIGH = "high", + SEVERITY_MEDIUM = "medium", + STATE_CONFIRMED = "confirmed" } diff --git a/src/main/wrapper/CxWrapper.ts b/src/main/wrapper/CxWrapper.ts index 4c5c739f..6e260972 100644 --- a/src/main/wrapper/CxWrapper.ts +++ b/src/main/wrapper/CxWrapper.ts @@ -153,7 +153,7 @@ export class CxWrapper { } async triageUpdate(projectId: string, similarityId: string, scanType: string, state: string, comment: string, severity: string): Promise { - 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]; + 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]; commands.push(...this.initializeCommands(false)); const exec = new ExecutionService(); return await exec.executeCommands(this.config.pathToExecutable, commands); diff --git a/src/tests/PredicateTest.test.ts b/src/tests/PredicateTest.test.ts index 34e09b94..eb35aebc 100644 --- a/src/tests/PredicateTest.test.ts +++ b/src/tests/PredicateTest.test.ts @@ -3,6 +3,7 @@ import {CxCommandOutput} from "../main/wrapper/CxCommandOutput"; import {BaseTest} from "./BaseTest"; import CxResult from '../main/results/CxResult'; import CxScan from '../main/scan/CxScan'; +import { CxConstants } from '../main/wrapper/CxConstants'; describe("Triage cases",() => { let cxScanConfig = new BaseTest(); @@ -12,9 +13,9 @@ describe("Triage cases",() => { const scanListOutput = await auth.scanList("statuses=Completed"); const scan: CxScan = scanListOutput.payload[0] const results = await auth.getResultsList(scan.id) - const result: CxResult = results.payload.find(res => res.type == "sast") + const result: CxResult = results.payload.find(res => res.type == CxConstants.SAST) - const cxCommandOutput: CxCommandOutput = await auth.triageShow(scan.projectID, result.similarityId, "sast"); + const cxCommandOutput: CxCommandOutput = await auth.triageShow(scan.projectID, result.similarityId, result.type); expect(cxCommandOutput.exitCode).toEqual(0); }) @@ -24,10 +25,10 @@ describe("Triage cases",() => { const scanListOutput = await auth.scanList("statuses=Completed"); const scan: CxScan = scanListOutput.payload[0] const results = await auth.getResultsList(scan.id) - const result: CxResult = results.payload.find(res => res.type == "sast") + const result: CxResult = results.payload.find(res => res.type == CxConstants.SAST) + + 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); - const cxCommandOutput: CxCommandOutput = await auth.triageUpdate(scan.projectID, result.similarityId, "sast", "confirmed", "Edited via JavascriptWrapper", "high"); - expect(cxCommandOutput.exitCode).toEqual(0); }) }); \ No newline at end of file