Commit ec7a66ad authored by Dheeraj Joshi's avatar Dheeraj Joshi

Amend NONE state for DAST Site Validation

This change adds a newly added NONE state
to signify a validation has not started yet
and replace PENDING validation state with it
parent 6de64f2c
...@@ -12,7 +12,7 @@ import ProfilesList from './dast_profiles_list.vue'; ...@@ -12,7 +12,7 @@ import ProfilesList from './dast_profiles_list.vue';
import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
import { fetchPolicies } from '~/lib/graphql'; import { fetchPolicies } from '~/lib/graphql';
const { PENDING, INPROGRESS, FAILED } = DAST_SITE_VALIDATION_STATUS; const { NONE, PENDING, INPROGRESS, FAILED } = DAST_SITE_VALIDATION_STATUS;
export default { export default {
components: { components: {
...@@ -94,11 +94,11 @@ export default { ...@@ -94,11 +94,11 @@ export default {
shouldShowValidationBtn(status) { shouldShowValidationBtn(status) {
return ( return (
this.glFeatures.securityOnDemandScansSiteValidation && this.glFeatures.securityOnDemandScansSiteValidation &&
(status === PENDING || status === FAILED) (status === NONE || status === FAILED)
); );
}, },
shouldShowValidationStatus(status) { shouldShowValidationStatus(status) {
return this.glFeatures.securityOnDemandScansSiteValidation && status !== PENDING; return this.glFeatures.securityOnDemandScansSiteValidation && status !== NONE;
}, },
showValidationModal() { showValidationModal() {
this.$refs['dast-site-validation-modal'].show(); this.$refs['dast-site-validation-modal'].show();
......
...@@ -21,18 +21,22 @@ export const DAST_SITE_VALIDATION_METHODS = { ...@@ -21,18 +21,22 @@ export const DAST_SITE_VALIDATION_METHODS = {
}; };
export const DAST_SITE_VALIDATION_STATUS = { export const DAST_SITE_VALIDATION_STATUS = {
NONE: 'NONE',
PENDING: 'PENDING_VALIDATION', PENDING: 'PENDING_VALIDATION',
INPROGRESS: 'INPROGRESS_VALIDATION', INPROGRESS: 'INPROGRESS_VALIDATION',
PASSED: 'PASSED_VALIDATION', PASSED: 'PASSED_VALIDATION',
FAILED: 'FAILED_VALIDATION', FAILED: 'FAILED_VALIDATION',
}; };
export const DAST_SITE_VALIDATION_STATUS_PROPS = { const INPROGRESS_VALIDATION_PROPS = {
[DAST_SITE_VALIDATION_STATUS.INPROGRESS]: {
label: s__('DastSiteValidation|Validating...'), label: s__('DastSiteValidation|Validating...'),
cssClass: 'gl-text-blue-300', cssClass: 'gl-text-blue-300',
tooltipText: s__('DastSiteValidation|The validation is in progress. Please wait...'), tooltipText: s__('DastSiteValidation|The validation is in progress. Please wait...'),
}, };
export const DAST_SITE_VALIDATION_STATUS_PROPS = {
[DAST_SITE_VALIDATION_STATUS.PENDING]: INPROGRESS_VALIDATION_PROPS,
[DAST_SITE_VALIDATION_STATUS.INPROGRESS]: INPROGRESS_VALIDATION_PROPS,
[DAST_SITE_VALIDATION_STATUS.PASSED]: { [DAST_SITE_VALIDATION_STATUS.PASSED]: {
label: s__('DastSiteValidation|Validated'), label: s__('DastSiteValidation|Validated'),
cssClass: 'gl-text-green-500', cssClass: 'gl-text-green-500',
......
...@@ -131,7 +131,8 @@ describe('EE - DastSiteProfileList', () => { ...@@ -131,7 +131,8 @@ describe('EE - DastSiteProfileList', () => {
describe.each` describe.each`
status | statusEnum | label | hasValidateButton status | statusEnum | label | hasValidateButton
${'pending'} | ${DAST_SITE_VALIDATION_STATUS.PENDING} | ${''} | ${true} ${'no'} | ${DAST_SITE_VALIDATION_STATUS.NONE} | ${''} | ${true}
${'pending'} | ${DAST_SITE_VALIDATION_STATUS.PENDING} | ${'Validating...'} | ${false}
${'in-progress'} | ${DAST_SITE_VALIDATION_STATUS.INPROGRESS} | ${'Validating...'} | ${false} ${'in-progress'} | ${DAST_SITE_VALIDATION_STATUS.INPROGRESS} | ${'Validating...'} | ${false}
${'passed'} | ${DAST_SITE_VALIDATION_STATUS.PASSED} | ${'Validated'} | ${false} ${'passed'} | ${DAST_SITE_VALIDATION_STATUS.PASSED} | ${'Validated'} | ${false}
${'failed'} | ${DAST_SITE_VALIDATION_STATUS.FAILED} | ${'Validation failed'} | ${true} ${'failed'} | ${DAST_SITE_VALIDATION_STATUS.FAILED} | ${'Validation failed'} | ${true}
......
export const siteProfiles = [ export const siteProfiles = [
{ {
id: 1, id: 'gid://gitlab/DastSiteProfile/1',
profileName: 'Profile 1', profileName: 'Profile 1',
targetUrl: 'http://example-1.com', targetUrl: 'http://example-1.com',
normalizedTargetUrl: 'http://example-1.com', normalizedTargetUrl: 'http://example-1.com',
...@@ -8,7 +8,7 @@ export const siteProfiles = [ ...@@ -8,7 +8,7 @@ export const siteProfiles = [
validationStatus: 'PENDING_VALIDATION', validationStatus: 'PENDING_VALIDATION',
}, },
{ {
id: 2, id: 'gid://gitlab/DastSiteProfile/2',
profileName: 'Profile 2', profileName: 'Profile 2',
targetUrl: 'http://example-2.com', targetUrl: 'http://example-2.com',
normalizedTargetUrl: 'http://example-2.com', normalizedTargetUrl: 'http://example-2.com',
...@@ -16,7 +16,7 @@ export const siteProfiles = [ ...@@ -16,7 +16,7 @@ export const siteProfiles = [
validationStatus: 'INPROGRESS_VALIDATION', validationStatus: 'INPROGRESS_VALIDATION',
}, },
{ {
id: 3, id: 'gid://gitlab/DastSiteProfile/3',
profileName: 'Profile 3', profileName: 'Profile 3',
targetUrl: 'http://example-2.com', targetUrl: 'http://example-2.com',
normalizedTargetUrl: 'http://example-2.com', normalizedTargetUrl: 'http://example-2.com',
...@@ -24,13 +24,21 @@ export const siteProfiles = [ ...@@ -24,13 +24,21 @@ export const siteProfiles = [
validationStatus: 'PASSED_VALIDATION', validationStatus: 'PASSED_VALIDATION',
}, },
{ {
id: 4, id: 'gid://gitlab/DastSiteProfile/4',
profileName: 'Profile 4', profileName: 'Profile 4',
targetUrl: 'http://example-3.com', targetUrl: 'http://example-3.com',
normalizedTargetUrl: 'http://example-3.com', normalizedTargetUrl: 'http://example-3.com',
editPath: '/3/edit', editPath: '/3/edit',
validationStatus: 'FAILED_VALIDATION', validationStatus: 'FAILED_VALIDATION',
}, },
{
id: 'gid://gitlab/DastSiteProfile/5',
profileName: 'Profile 5',
targetUrl: 'http://example-5.com',
normalizedTargetUrl: 'http://example-5.com',
editPath: '/5/edit',
validationStatus: 'NONE',
},
]; ];
export const scannerProfiles = [ export const scannerProfiles = [
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment