Skip to content

Commit b0b7810

Browse files
authored
Merge pull request #52 from CheckmarxDev/other/benalvo/sync-wrapper
Js Wrappers | Sync Wrapper to Runtime Wrapper (AST-69474)
2 parents 01c8e9f + d545af0 commit b0b7810

File tree

7 files changed

+60
-60
lines changed

7 files changed

+60
-60
lines changed

jest.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ module.exports = {
4444
collectCoverageFrom: ['**/*.{ts,tsx}', '!**/*.d.ts', '!**/node_modules/**'],
4545
coverageThreshold: {
4646
"global": {
47-
"branches": 60,
47+
"branches": 65,
4848
"functions": 80,
4949
"lines": 80,
5050
"statements": 80

src/main/vorpal/VorpalScanDetail.ts renamed to src/main/asca/AscaScanDetail.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export default class VorpalScanDetail {
1+
export default class AscaScanDetail {
22
ruleId: number;
33
language: string;
44
ruleName: string;

src/main/vorpal/CxVorpal.ts renamed to src/main/asca/CxAsca.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import VorpalScanDetail from "./VorpalScanDetail";
1+
import AscaScanDetail from "./AscaScanDetail";
22

3-
export default class CxVorpal {
3+
export default class CxAsca {
44
requestId: string;
55
status: boolean;
66
message: string;
7-
scanDetails: VorpalScanDetail[];
7+
scanDetails: AscaScanDetail[];
88
error: any;
99

1010
constructor() {
@@ -15,16 +15,16 @@ export default class CxVorpal {
1515
this.error = null;
1616
}
1717

18-
static parseScan(resultObject: any): CxVorpal {
19-
const scan = new CxVorpal();
18+
static parseScan(resultObject: any): CxAsca {
19+
const scan = new CxAsca();
2020
scan.requestId = resultObject.request_id;
2121
scan.status = resultObject.status;
2222
scan.message = resultObject.message;
2323
scan.error = resultObject.error;
2424

2525
if (resultObject.scan_details instanceof Array) {
2626
scan.scanDetails = resultObject.scan_details.map((detail: any) => {
27-
const scanDetail = new VorpalScanDetail();
27+
const scanDetail = new AscaScanDetail();
2828
scanDetail.ruleId = detail.rule_id;
2929
scanDetail.language = detail.language;
3030
scanDetail.ruleName = detail.rule_name;

src/main/wrapper/CxConstants.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ export enum CxConstants {
6565
FORMAT_HTML_CLI = "summaryHTML",
6666
FILTER = "--filter",
6767
SCAN_ID = "--scan-id",
68-
CMD_VORPAL = "vorpal",
68+
CMD_ASCA = "asca",
6969
SOURCE_FILE = "--file-source",
70-
VORPAL_UPDATE_VERSION = "--vorpal-latest-version",
70+
ASCA_UPDATE_VERSION = "--asca-latest-version",
7171
PROJECT_ID = "--project-id",
7272
SIMILARITY_ID = "--similarity-id",
7373
QUERY_ID = "--query-id",
@@ -81,7 +81,7 @@ export enum CxConstants {
8181
ADDITONAL_PARAMS = "--additional-params",
8282
ENGINE = "--engine",
8383
SCAN_TYPE = "CxScan",
84-
SCAN_VORPAL = "CxVorpal",
84+
SCAN_ASCA = "CxAsca",
8585
PROJECT_TYPE = "CxProject",
8686
PREDICATE_TYPE = "CxPredicate",
8787
CODE_BASHING_TYPE = "CxCodeBashing",

src/main/wrapper/CxWrapper.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -147,11 +147,11 @@ export class CxWrapper {
147147
return await exec.executeCommands(this.config.pathToExecutable, commands, CxConstants.SCAN_TYPE);
148148
}
149149

150-
async scanVorpal(sourceFile: string, updateVersion = false, agent?: string | null): Promise<CxCommandOutput> {
151-
const commands: string[] = [CxConstants.CMD_SCAN, CxConstants.CMD_VORPAL, CxConstants.SOURCE_FILE, sourceFile];
150+
async scanAsca(sourceFile: string, updateVersion = false, agent?: string | null): Promise<CxCommandOutput> {
151+
const commands: string[] = [CxConstants.CMD_SCAN, CxConstants.CMD_ASCA, CxConstants.SOURCE_FILE, sourceFile];
152152

153153
if (updateVersion) {
154-
commands.push(CxConstants.VORPAL_UPDATE_VERSION);
154+
commands.push(CxConstants.ASCA_UPDATE_VERSION);
155155
}
156156
if (agent) {
157157
commands.push(CxConstants.AGENT);
@@ -165,7 +165,7 @@ export class CxWrapper {
165165

166166
commands.push(...this.initializeCommands(false));
167167
const exec = new ExecutionService();
168-
return await exec.executeCommands(this.config.pathToExecutable, commands, CxConstants.SCAN_VORPAL);
168+
return await exec.executeCommands(this.config.pathToExecutable, commands, CxConstants.SCAN_ASCA);
169169
}
170170

171171
async scanCancel(id: string): Promise<CxCommandOutput> {

src/main/wrapper/ExecutionService.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import CxKicsRemediation from "../remediation/CxKicsRemediation";
2222
import CxScaRealTime from "../scaRealtime/CxScaRealTime";
2323
import CxChat from "../chat/CxChat";
2424
import CxMask from "../mask/CxMask";
25-
import CxVorpal from "../vorpal/CxVorpal";
25+
import CxAsca from "../asca/CxAsca";
2626

2727
let skipValue = false;
2828
const fileSourceFlag = "--file-source"
@@ -200,9 +200,9 @@ export class ExecutionService {
200200
const scans = CxScan.parseProject(resultObject);
201201
cxCommandOutput.payload = scans;
202202
break;
203-
case CxConstants.SCAN_VORPAL:
204-
const vorpal = CxVorpal.parseScan(resultObject);
205-
cxCommandOutput.payload = [vorpal];
203+
case CxConstants.SCAN_ASCA:
204+
const asca = CxAsca.parseScan(resultObject);
205+
cxCommandOutput.payload = [asca];
206206
break;
207207
case CxConstants.PROJECT_TYPE:
208208
const projects = CxProject.parseProject(resultObject);

src/tests/ScanTest.test.ts

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -127,46 +127,46 @@ describe("ScanCreate cases", () => {
127127
expect(aiEnabled).toBeDefined();
128128
})
129129

130-
// it('ScanVorpal fail case Without extensions', async () => {
131-
// const auth = await cxWrapperFactory.createWrapper(cxScanConfig);
132-
// const cxCommandOutput: CxCommandOutput = await auth.scanVorpal("tsc/tests/data/python-file");
133-
// console.log(" Json object from failure case: " + JSON.stringify(cxCommandOutput));
134-
//
135-
// expect(cxCommandOutput.payload[0].error.description).toEqual("The file name must have an extension.");
136-
// expect(cxCommandOutput.exitCode).toBe(0);
137-
// expect(cxCommandOutput.payload[0].status).toBeUndefined();
138-
// });
139-
140-
// it('ScanVorpal Successful case', async () => {
141-
// const auth = await cxWrapperFactory.createWrapper(cxScanConfig);
142-
// const cxCommandOutput: CxCommandOutput = await auth.scanVorpal("tsc/tests/data/python-vul-file.py");
143-
// console.log("Json object from scanVorpal successful case: " + JSON.stringify(cxCommandOutput));
144-
// const scanObject = cxCommandOutput.payload.pop();
145-
// expect(cxCommandOutput.payload).toBeDefined();
146-
// expect(cxCommandOutput.exitCode).toBe(0);
147-
// expect(scanObject.status).toEqual(true);
148-
// });
149-
//
150-
// it('ScanVorpal with complex name Successful case', async () => {
151-
// const auth = await cxWrapperFactory.createWrapper(cxScanConfig);
152-
// const cxCommandOutput: CxCommandOutput = await auth.scanVorpal("tsc/tests/data/var express = require('express';.js");
153-
// console.log("Json object from scanVorpal successful case: " + JSON.stringify(cxCommandOutput));
154-
// const scanObject = cxCommandOutput.payload.pop();
155-
// expect(cxCommandOutput.payload).toBeDefined();
156-
// expect(cxCommandOutput.exitCode).toBe(0);
157-
// expect(scanObject.status).toEqual(true);
158-
// });
159-
//
160-
// it('ScanVorpal Successful case with update version', async () => {
161-
// const auth = await cxWrapperFactory.createWrapper(cxScanConfig);
162-
// const cxCommandOutput: CxCommandOutput = await auth.scanVorpal("tsc/tests/data/python-vul-file.py", true);
163-
// console.log("Json object from scanVorpal successful case with update version: " + JSON.stringify(cxCommandOutput));
164-
// const scanObject = cxCommandOutput.payload.pop();
165-
// expect(cxCommandOutput.payload).toBeDefined();
166-
// expect(cxCommandOutput.exitCode).toBe(0);
167-
// expect(scanObject.status).toEqual(true);
168-
// expect(Number.isInteger(scanObject.scanDetails[0].line)).toBe(true);
169-
// expect(typeof scanObject.scanDetails[0].description).toBe('string');
170-
// });
130+
it('ScanAsca fail case Without extensions', async () => {
131+
const auth = await cxWrapperFactory.createWrapper(cxScanConfig);
132+
const cxCommandOutput: CxCommandOutput = await auth.scanAsca("tsc/tests/data/python-file");
133+
console.log(" Json object from failure case: " + JSON.stringify(cxCommandOutput));
134+
135+
expect(cxCommandOutput.payload[0].error.description).toEqual("The file name must have an extension.");
136+
expect(cxCommandOutput.exitCode).toBe(0);
137+
expect(cxCommandOutput.payload[0].status).toBeUndefined();
138+
});
139+
140+
it('ScanAsca Successful case', async () => {
141+
const auth = await cxWrapperFactory.createWrapper(cxScanConfig);
142+
const cxCommandOutput: CxCommandOutput = await auth.scanAsca("tsc/tests/data/python-vul-file.py");
143+
console.log("Json object from scanAsca successful case: " + JSON.stringify(cxCommandOutput));
144+
const scanObject = cxCommandOutput.payload.pop();
145+
expect(cxCommandOutput.payload).toBeDefined();
146+
expect(cxCommandOutput.exitCode).toBe(0);
147+
expect(scanObject.status).toEqual(true);
148+
});
149+
150+
it('ScanAsca with complex name Successful case', async () => {
151+
const auth = await cxWrapperFactory.createWrapper(cxScanConfig);
152+
const cxCommandOutput: CxCommandOutput = await auth.scanAsca("tsc/tests/data/var express = require('express';.js");
153+
console.log("Json object from scanAsca successful case: " + JSON.stringify(cxCommandOutput));
154+
const scanObject = cxCommandOutput.payload.pop();
155+
expect(cxCommandOutput.payload).toBeDefined();
156+
expect(cxCommandOutput.exitCode).toBe(0);
157+
expect(scanObject.status).toEqual(true);
158+
});
159+
160+
it('ScanAsca Successful case with update version', async () => {
161+
const auth = await cxWrapperFactory.createWrapper(cxScanConfig);
162+
const cxCommandOutput: CxCommandOutput = await auth.scanAsca("tsc/tests/data/python-vul-file.py", true);
163+
console.log("Json object from scanAsca successful case with update version: " + JSON.stringify(cxCommandOutput));
164+
const scanObject = cxCommandOutput.payload.pop();
165+
expect(cxCommandOutput.payload).toBeDefined();
166+
expect(cxCommandOutput.exitCode).toBe(0);
167+
expect(scanObject.status).toEqual(true);
168+
expect(Number.isInteger(scanObject.scanDetails[0].line)).toBe(true);
169+
expect(typeof scanObject.scanDetails[0].description).toBe('string');
170+
});
171171

172172
});

0 commit comments

Comments
 (0)