/
generate-entity-to-fix.ts
86 lines (83 loc) · 1.67 KB
/
generate-entity-to-fix.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import { DepGraphData } from '@snyk/dep-graph';
import {
EntityToFix,
ScanResult,
TestResult,
FixInfo,
SEVERITY,
} from '../../src/types';
export function generateEntityToFix(
type: string,
targetFile: string,
contents: string,
path?: string,
): EntityToFix {
const scanResult = generateScanResult(type, targetFile);
const testResult = generateTestResult();
const workspace = generateWorkspace(contents, path);
const cliTestOptions = {
command: 'python3',
};
return { scanResult, testResult, workspace, options: cliTestOptions };
}
function generateWorkspace(contents: string, path?: string) {
return {
path: path || '.',
readFile: async () => {
return contents;
},
writeFile: async () => {
return;
},
};
}
export function generateScanResult(
type: string,
targetFile: string,
): ScanResult {
return {
identity: {
type,
targetFile,
},
facts: [
{
type: 'not-implemented',
data: 'not-implemented',
},
],
};
}
export function generateTestResult(): TestResult {
const issueId = 'VULN_ID_1';
return {
issues: [
{
pkgName: 'package@version',
issueId,
fixInfo: {} as FixInfo,
},
],
issuesData: {
'vuln-id': {
id: issueId,
severity: SEVERITY.HIGH,
title: 'Fake vuln',
},
},
depGraphData: ('' as unknown) as DepGraphData,
remediation: {
unresolved: [],
upgrade: {},
patch: {},
ignore: {},
pin: {
'django@1.6.1': {
upgradeTo: 'django@2.0.1',
vulns: ['vuln-id'],
isTransitive: false,
},
},
},
};
}