diff options
author | Robert Speicher <rspeicher@gmail.com> | 2021-01-20 22:34:23 +0300 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2021-01-20 22:34:23 +0300 |
commit | 6438df3a1e0fb944485cebf07976160184697d72 (patch) | |
tree | 00b09bfd170e77ae9391b1a2f5a93ef6839f2597 /spec/frontend/vue_shared/security_reports | |
parent | 42bcd54d971da7ef2854b896a7b34f4ef8601067 (diff) |
Add latest changes from gitlab-org/gitlab@13-8-stable-eev13.8.0-rc42
Diffstat (limited to 'spec/frontend/vue_shared/security_reports')
7 files changed, 111 insertions, 29 deletions
diff --git a/spec/frontend/vue_shared/security_reports/components/security_report_download_dropdown_spec.js b/spec/frontend/vue_shared/security_reports/components/security_report_download_dropdown_spec.js index 7e70407655a..9138d2d3f4c 100644 --- a/spec/frontend/vue_shared/security_reports/components/security_report_download_dropdown_spec.js +++ b/spec/frontend/vue_shared/security_reports/components/security_report_download_dropdown_spec.js @@ -6,7 +6,7 @@ describe('SecurityReportDownloadDropdown component', () => { let wrapper; let artifacts; - const createComponent = props => { + const createComponent = (props) => { wrapper = shallowMount(SecurityReportDownloadDropdown, { propsData: { ...props }, }); diff --git a/spec/frontend/vue_shared/security_reports/mock_data.js b/spec/frontend/vue_shared/security_reports/mock_data.js index e93ca8329e7..b3ff7daef2b 100644 --- a/spec/frontend/vue_shared/security_reports/mock_data.js +++ b/spec/frontend/vue_shared/security_reports/mock_data.js @@ -392,6 +392,33 @@ export const securityReportDownloadPathsQueryResponse = { }, __typename: 'CiJob', }, + { + name: 'all_artifacts', + artifacts: { + nodes: [ + { + downloadPath: + '/gitlab-org/secrets-detection-test/-/jobs/1402/artifacts/download?file_type=archive', + fileType: 'ARCHIVE', + __typename: 'CiJobArtifact', + }, + { + downloadPath: + '/gitlab-org/secrets-detection-test/-/jobs/1402/artifacts/download?file_type=trace', + fileType: 'TRACE', + __typename: 'CiJobArtifact', + }, + { + downloadPath: + '/gitlab-org/secrets-detection-test/-/jobs/1402/artifacts/download?file_type=metadata', + fileType: 'METADATA', + __typename: 'CiJobArtifact', + }, + ], + __typename: 'CiJobArtifactConnection', + }, + __typename: 'CiJob', + }, ], __typename: 'CiJobConnection', }, @@ -435,3 +462,51 @@ export const expectedDownloadDropdownProps = { loading: false, artifacts: [...secretDetectionArtifacts, ...sastArtifacts], }; + +/** + * These correspond to any jobs with zip archives in the securityReportDownloadPathsQueryResponse above. + */ +export const archiveArtifacts = [ + { + name: 'all_artifacts Archive', + path: '/gitlab-org/secrets-detection-test/-/jobs/1402/artifacts/download?file_type=archive', + reportType: 'ARCHIVE', + }, +]; + +/** + * These correspond to any jobs with trace data in the securityReportDownloadPathsQueryResponse above. + */ +export const traceArtifacts = [ + { + name: 'secret_detection Trace', + path: '/gitlab-org/secrets-detection-test/-/jobs/1399/artifacts/download?file_type=trace', + reportType: 'TRACE', + }, + { + name: 'bandit-sast Trace', + path: '/gitlab-org/secrets-detection-test/-/jobs/1400/artifacts/download?file_type=trace', + reportType: 'TRACE', + }, + { + name: 'eslint-sast Trace', + path: '/gitlab-org/secrets-detection-test/-/jobs/1401/artifacts/download?file_type=trace', + reportType: 'TRACE', + }, + { + name: 'all_artifacts Trace', + path: '/gitlab-org/secrets-detection-test/-/jobs/1402/artifacts/download?file_type=trace', + reportType: 'TRACE', + }, +]; + +/** + * These correspond to any jobs with metadata data in the securityReportDownloadPathsQueryResponse above. + */ +export const metadataArtifacts = [ + { + name: 'all_artifacts Metadata', + path: '/gitlab-org/secrets-detection-test/-/jobs/1402/artifacts/download?file_type=metadata', + reportType: 'METADATA', + }, +]; diff --git a/spec/frontend/vue_shared/security_reports/security_reports_app_spec.js b/spec/frontend/vue_shared/security_reports/security_reports_app_spec.js index c440081a0c4..50d1d130675 100644 --- a/spec/frontend/vue_shared/security_reports/security_reports_app_spec.js +++ b/spec/frontend/vue_shared/security_reports/security_reports_app_spec.js @@ -3,7 +3,7 @@ import MockAdapter from 'axios-mock-adapter'; import { merge } from 'lodash'; import VueApollo from 'vue-apollo'; import Vuex from 'vuex'; -import createMockApollo from 'jest/helpers/mock_apollo_helper'; +import createMockApollo from 'helpers/mock_apollo_helper'; import { trimText } from 'helpers/text_helper'; import waitForPromises from 'helpers/wait_for_promises'; import { @@ -42,7 +42,7 @@ describe('Security reports app', () => { discoverProjectSecurityPath: '/discoverProjectSecurityPath', }; - const createComponent = options => { + const createComponent = (options) => { wrapper = mount( SecurityReportsApp, merge( @@ -61,7 +61,7 @@ describe('Security reports app', () => { const pendingHandler = () => new Promise(() => {}); const successHandler = () => Promise.resolve({ data: securityReportDownloadPathsQueryResponse }); const failureHandler = () => Promise.resolve({ errors: [{ message: 'some error' }] }); - const createMockApolloProvider = handler => { + const createMockApolloProvider = (handler) => { localVue.use(VueApollo); const requestHandlers = [[securityReportDownloadPathsQuery, handler]]; @@ -74,7 +74,7 @@ describe('Security reports app', () => { const findDownloadDropdown = () => wrapper.find(SecurityReportDownloadDropdown); const findPipelinesTabAnchor = () => wrapper.find('[data-testid="show-pipelines"]'); const findHelpIconComponent = () => wrapper.find(HelpIcon); - const setupMockJobArtifact = reportType => { + const setupMockJobArtifact = (reportType) => { jest .spyOn(Api, 'pipelineJobs') .mockResolvedValue({ data: [{ artifacts: [{ file_type: reportType }] }] }); @@ -93,8 +93,8 @@ describe('Security reports app', () => { describe.each([false, true])( 'given the coreSecurityMrWidgetCounts feature flag is %p', - coreSecurityMrWidgetCounts => { - const createComponentWithFlag = options => + (coreSecurityMrWidgetCounts) => { + const createComponentWithFlag = (options) => createComponent( merge( { @@ -108,7 +108,7 @@ describe('Security reports app', () => { ), ); - describe.each(SecurityReportsApp.reportTypes)('given a report type %p', reportType => { + describe.each(SecurityReportsApp.reportTypes)('given a report type %p', (reportType) => { beforeEach(() => { window.mrTabs = { tabShown: jest.fn() }; setupMockJobArtifact(reportType); @@ -245,7 +245,7 @@ describe('Security reports app', () => { describe('given the coreSecurityMrWidgetCounts feature flag is enabled', () => { let mock; - const createComponentWithFlagEnabled = options => + const createComponentWithFlagEnabled = (options) => createComponent( merge(options, { provide: { @@ -350,7 +350,7 @@ describe('Security reports app', () => { }); describe('given coreSecurityMrWidgetDownloads feature flag is enabled', () => { - const createComponentWithFlagEnabled = options => + const createComponentWithFlagEnabled = (options) => createComponent( merge(options, { provide: { @@ -371,7 +371,7 @@ describe('Security reports app', () => { // TODO: Remove this assertion as part of // https://gitlab.com/gitlab-org/gitlab/-/issues/273431 it('initially renders nothing', () => { - expect(wrapper.isEmpty()).toBe(true); + expect(wrapper.html()).toBe(''); }); }); @@ -415,7 +415,7 @@ describe('Security reports app', () => { // TODO: Remove this assertion as part of // https://gitlab.com/gitlab-org/gitlab/-/issues/273431 it('renders nothing', () => { - expect(wrapper.isEmpty()).toBe(true); + expect(wrapper.html()).toBe(''); }); }); }); diff --git a/spec/frontend/vue_shared/security_reports/store/getters_spec.js b/spec/frontend/vue_shared/security_reports/store/getters_spec.js index 8de704be455..b146a281d7b 100644 --- a/spec/frontend/vue_shared/security_reports/store/getters_spec.js +++ b/spec/frontend/vue_shared/security_reports/store/getters_spec.js @@ -13,7 +13,7 @@ import { } from '~/vue_shared/security_reports/store/getters'; import { CRITICAL, HIGH, LOW } from '~/vulnerabilities/constants'; -const generateVuln = severity => ({ severity }); +const generateVuln = (severity) => ({ severity }); describe('Security reports getters', () => { let state; diff --git a/spec/frontend/vue_shared/security_reports/store/modules/sast/actions_spec.js b/spec/frontend/vue_shared/security_reports/store/modules/sast/actions_spec.js index a11f4e05913..c9d1db8a504 100644 --- a/spec/frontend/vue_shared/security_reports/store/modules/sast/actions_spec.js +++ b/spec/frontend/vue_shared/security_reports/store/modules/sast/actions_spec.js @@ -26,7 +26,7 @@ describe('sast report actions', () => { }); describe('setDiffEndpoint', () => { - it(`should commit ${types.SET_DIFF_ENDPOINT} with the correct path`, done => { + it(`should commit ${types.SET_DIFF_ENDPOINT} with the correct path`, (done) => { testAction( actions.setDiffEndpoint, diffEndpoint, @@ -44,13 +44,13 @@ describe('sast report actions', () => { }); describe('requestDiff', () => { - it(`should commit ${types.REQUEST_DIFF}`, done => { + it(`should commit ${types.REQUEST_DIFF}`, (done) => { testAction(actions.requestDiff, {}, state, [{ type: types.REQUEST_DIFF }], [], done); }); }); describe('receiveDiffSuccess', () => { - it(`should commit ${types.RECEIVE_DIFF_SUCCESS} with the correct response`, done => { + it(`should commit ${types.RECEIVE_DIFF_SUCCESS} with the correct response`, (done) => { testAction( actions.receiveDiffSuccess, reports, @@ -68,7 +68,7 @@ describe('sast report actions', () => { }); describe('receiveDiffError', () => { - it(`should commit ${types.RECEIVE_DIFF_ERROR} with the correct response`, done => { + it(`should commit ${types.RECEIVE_DIFF_ERROR} with the correct response`, (done) => { testAction( actions.receiveDiffError, error, @@ -107,7 +107,7 @@ describe('sast report actions', () => { .replyOnce(200, reports.enrichData); }); - it('should dispatch the `receiveDiffSuccess` action', done => { + it('should dispatch the `receiveDiffSuccess` action', (done) => { const { diff, enrichData } = reports; testAction( actions.fetchDiff, @@ -135,7 +135,7 @@ describe('sast report actions', () => { mock.onGet(diffEndpoint).replyOnce(200, reports.diff); }); - it('should dispatch the `receiveDiffSuccess` action with empty enrich data', done => { + it('should dispatch the `receiveDiffSuccess` action with empty enrich data', (done) => { const { diff } = reports; const enrichData = []; testAction( @@ -167,7 +167,7 @@ describe('sast report actions', () => { .replyOnce(404); }); - it('should dispatch the `receiveError` action', done => { + it('should dispatch the `receiveError` action', (done) => { testAction( actions.fetchDiff, {}, @@ -188,7 +188,7 @@ describe('sast report actions', () => { .replyOnce(200, reports.enrichData); }); - it('should dispatch the `receiveDiffError` action', done => { + it('should dispatch the `receiveDiffError` action', (done) => { testAction( actions.fetchDiff, {}, diff --git a/spec/frontend/vue_shared/security_reports/store/modules/secret_detection/actions_spec.js b/spec/frontend/vue_shared/security_reports/store/modules/secret_detection/actions_spec.js index bbcdfb5cd99..beda1a55438 100644 --- a/spec/frontend/vue_shared/security_reports/store/modules/secret_detection/actions_spec.js +++ b/spec/frontend/vue_shared/security_reports/store/modules/secret_detection/actions_spec.js @@ -26,7 +26,7 @@ describe('secret detection report actions', () => { }); describe('setDiffEndpoint', () => { - it(`should commit ${types.SET_DIFF_ENDPOINT} with the correct path`, done => { + it(`should commit ${types.SET_DIFF_ENDPOINT} with the correct path`, (done) => { testAction( actions.setDiffEndpoint, diffEndpoint, @@ -44,13 +44,13 @@ describe('secret detection report actions', () => { }); describe('requestDiff', () => { - it(`should commit ${types.REQUEST_DIFF}`, done => { + it(`should commit ${types.REQUEST_DIFF}`, (done) => { testAction(actions.requestDiff, {}, state, [{ type: types.REQUEST_DIFF }], [], done); }); }); describe('receiveDiffSuccess', () => { - it(`should commit ${types.RECEIVE_DIFF_SUCCESS} with the correct response`, done => { + it(`should commit ${types.RECEIVE_DIFF_SUCCESS} with the correct response`, (done) => { testAction( actions.receiveDiffSuccess, reports, @@ -68,7 +68,7 @@ describe('secret detection report actions', () => { }); describe('receiveDiffError', () => { - it(`should commit ${types.RECEIVE_DIFF_ERROR} with the correct response`, done => { + it(`should commit ${types.RECEIVE_DIFF_ERROR} with the correct response`, (done) => { testAction( actions.receiveDiffError, error, @@ -107,7 +107,7 @@ describe('secret detection report actions', () => { .replyOnce(200, reports.enrichData); }); - it('should dispatch the `receiveDiffSuccess` action', done => { + it('should dispatch the `receiveDiffSuccess` action', (done) => { const { diff, enrichData } = reports; testAction( actions.fetchDiff, @@ -135,7 +135,7 @@ describe('secret detection report actions', () => { mock.onGet(diffEndpoint).replyOnce(200, reports.diff); }); - it('should dispatch the `receiveDiffSuccess` action with empty enrich data', done => { + it('should dispatch the `receiveDiffSuccess` action with empty enrich data', (done) => { const { diff } = reports; const enrichData = []; testAction( @@ -167,7 +167,7 @@ describe('secret detection report actions', () => { .replyOnce(404); }); - it('should dispatch the `receiveDiffError` action', done => { + it('should dispatch the `receiveDiffError` action', (done) => { testAction( actions.fetchDiff, {}, @@ -188,7 +188,7 @@ describe('secret detection report actions', () => { .replyOnce(200, reports.enrichData); }); - it('should dispatch the `receiveDiffError` action', done => { + it('should dispatch the `receiveDiffError` action', (done) => { testAction( actions.fetchDiff, {}, diff --git a/spec/frontend/vue_shared/security_reports/utils_spec.js b/spec/frontend/vue_shared/security_reports/utils_spec.js index ea54644796a..7e5a27694ef 100644 --- a/spec/frontend/vue_shared/security_reports/utils_spec.js +++ b/spec/frontend/vue_shared/security_reports/utils_spec.js @@ -2,11 +2,15 @@ import { extractSecurityReportArtifacts } from '~/vue_shared/security_reports/ut import { REPORT_TYPE_SAST, REPORT_TYPE_SECRET_DETECTION, + REPORT_FILE_TYPES, } from '~/vue_shared/security_reports/constants'; import { securityReportDownloadPathsQueryResponse, sastArtifacts, secretDetectionArtifacts, + archiveArtifacts, + traceArtifacts, + metadataArtifacts, } from './mock_data'; describe('extractSecurityReportArtifacts', () => { @@ -17,6 +21,9 @@ describe('extractSecurityReportArtifacts', () => { ${[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 }) => { |