From cd2b06593b4800e2d46645965c966285878a8f29 Mon Sep 17 00:00:00 2001 From: AndreGCX Date: Tue, 4 Jan 2022 18:10:40 +0000 Subject: [PATCH 1/4] scan type was incorrect --- src/main/wrapper/CxWrapper.ts | 2 +- src/tests/PredicateTest.test.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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..3d15f0be 100644 --- a/src/tests/PredicateTest.test.ts +++ b/src/tests/PredicateTest.test.ts @@ -27,7 +27,7 @@ describe("Triage cases",() => { const result: CxResult = results.payload.find(res => res.type == "sast") 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 From 2563b1edc978afa0ee22eb4dcf27b6ca52cce8bd Mon Sep 17 00:00:00 2001 From: AndreGCX Date: Thu, 6 Jan 2022 11:26:28 +0000 Subject: [PATCH 2/4] small change in test triage update --- src/tests/PredicateTest.test.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/tests/PredicateTest.test.ts b/src/tests/PredicateTest.test.ts index 3d15f0be..852ac927 100644 --- a/src/tests/PredicateTest.test.ts +++ b/src/tests/PredicateTest.test.ts @@ -26,8 +26,10 @@ describe("Triage cases",() => { const results = await auth.getResultsList(scan.id) const result: CxResult = results.payload.find(res => res.type == "sast") - const cxCommandOutput: CxCommandOutput = await auth.triageUpdate(scan.projectID, result.similarityId, "sast", "confirmed", "Edited via JavascriptWrapper", "high"); - + const cxCommandOutput: CxCommandOutput = await auth.triageUpdate(scan.projectID, result.similarityId, "sast", "to_verify", "Edited via JavascriptWrapper", "high"); + const http_code = cxCommandOutput.status + console.log("Aqui") + console.log(http_code) expect(cxCommandOutput.exitCode).toEqual(0); }) }); \ No newline at end of file From 123410586f0c5a8265bcb6d96944005c4b946d8e Mon Sep 17 00:00:00 2001 From: AndreGCX Date: Thu, 6 Jan 2022 12:18:44 +0000 Subject: [PATCH 3/4] fixed predicate tests --- src/main/wrapper/CxConstants.ts | 97 +++++++++++++++++---------------- src/main/wrapper/CxWrapper.ts | 1 + src/tests/PredicateTest.test.ts | 13 ++--- 3 files changed, 58 insertions(+), 53 deletions(-) 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 6e260972..7487e9a1 100644 --- a/src/main/wrapper/CxWrapper.ts +++ b/src/main/wrapper/CxWrapper.ts @@ -155,6 +155,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_TYPES_SUB_CMD, scanType, CxConstants.STATE, state, CxConstants.COMMENT, comment, CxConstants.SEVERITY, severity]; commands.push(...this.initializeCommands(false)); + console.log(commands) 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 852ac927..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,12 +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", "to_verify", "Edited via JavascriptWrapper", "high"); - const http_code = cxCommandOutput.status - console.log("Aqui") - console.log(http_code) expect(cxCommandOutput.exitCode).toEqual(0); }) }); \ No newline at end of file From e16861133ff261cf0bbd2bd2edc0e292aeed9a26 Mon Sep 17 00:00:00 2001 From: AndreGCX Date: Thu, 6 Jan 2022 12:19:15 +0000 Subject: [PATCH 4/4] removed log --- src/main/wrapper/CxWrapper.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/wrapper/CxWrapper.ts b/src/main/wrapper/CxWrapper.ts index 7487e9a1..6e260972 100644 --- a/src/main/wrapper/CxWrapper.ts +++ b/src/main/wrapper/CxWrapper.ts @@ -155,7 +155,6 @@ 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_TYPES_SUB_CMD, scanType, CxConstants.STATE, state, CxConstants.COMMENT, comment, CxConstants.SEVERITY, severity]; commands.push(...this.initializeCommands(false)); - console.log(commands) const exec = new ExecutionService(); return await exec.executeCommands(this.config.pathToExecutable, commands); }