Welcome to mirror list, hosted at ThFree Co, Russian Federation.

utils_spec.js « security_reports « vue_shared « frontend « spec - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: b7129ece698dc6cfe9af9f0c077cbb7a7ad79477 (plain)
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
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);
    },
  );
});