49 lines
1.8 KiB
JavaScript
49 lines
1.8 KiB
JavaScript
import {
|
|
REPORT_TYPE_SAST,
|
|
REPORT_TYPE_SECRET_DETECTION,
|
|
REPORT_FILE_TYPES,
|
|
} from '~/vue_shared/security_reports/constants';
|
|
import {
|
|
extractSecurityReportArtifactsFromMergeRequest,
|
|
extractSecurityReportArtifactsFromPipeline,
|
|
} from '~/vue_shared/security_reports/utils';
|
|
import {
|
|
securityReportMergeRequestDownloadPathsQueryResponse,
|
|
securityReportPipelineDownloadPathsQueryResponse,
|
|
sastArtifacts,
|
|
secretDetectionArtifacts,
|
|
archiveArtifacts,
|
|
traceArtifacts,
|
|
metadataArtifacts,
|
|
} from './mock_data';
|
|
|
|
describe.each([
|
|
[
|
|
'extractSecurityReportArtifactsFromMergeRequest',
|
|
extractSecurityReportArtifactsFromMergeRequest,
|
|
securityReportMergeRequestDownloadPathsQueryResponse,
|
|
],
|
|
[
|
|
'extractSecurityReportArtifactsFromPipelines',
|
|
extractSecurityReportArtifactsFromPipeline,
|
|
securityReportPipelineDownloadPathsQueryResponse,
|
|
],
|
|
])('%s', (funcName, extractFunc, response) => {
|
|
it.each`
|
|
reportTypes | expectedArtifacts
|
|
${[]} | ${[]}
|
|
${['foo']} | ${[]}
|
|
${[REPORT_TYPE_SAST]} | ${sastArtifacts}
|
|
${[REPORT_TYPE_SECRET_DETECTION]} | ${secretDetectionArtifacts}
|
|
${[REPORT_TYPE_SAST, REPORT_TYPE_SECRET_DETECTION]} | ${[...secretDetectionArtifacts, ...sastArtifacts]}
|
|
${[REPORT_FILE_TYPES.ARCHIVE]} | ${archiveArtifacts}
|
|
${[REPORT_FILE_TYPES.TRACE]} | ${traceArtifacts}
|
|
${[REPORT_FILE_TYPES.METADATA]} | ${metadataArtifacts}
|
|
`(
|
|
'returns the expected artifacts given report types $reportTypes',
|
|
({ reportTypes, expectedArtifacts }) => {
|
|
expect(extractFunc(reportTypes, response)).toEqual(expectedArtifacts);
|
|
},
|
|
);
|
|
});
|