Skip to content

DAST on-demand scans site-profile edit - apply correct UI state based on validation status

What does this MR do?

It adds logic to the DAST on-demand scans site-profiles form to render the UI based on the current target-site validation status.

How to test this?

  1. Enable the feature flag.
echo "Feature.enable(:security_on_demand_scans_site_validation)" | rails c
  1. Install and setup graphql-vue-apollo-playground locally. Checkout the mock-dast-site-profiles branch and run the mock server.

  2. Use the local mock server in the Apollo provider.

diff --git a/ee/app/assets/javascripts/dast_site_profiles_form/graphql/provider.js b/ee/app/assets/javascripts/dast_site_profiles_form/graphql/provider.js
index ef96b443da8..993a7cefb5c 100644
--- a/ee/app/assets/javascripts/dast_site_profiles_form/graphql/provider.js
+++ b/ee/app/assets/javascripts/dast_site_profiles_form/graphql/provider.js
@@ -5,5 +5,10 @@ import createDefaultClient from '~/lib/graphql';
 Vue.use(VueApollo);
 
 export default new VueApollo({
-  defaultClient: createDefaultClient(),
+  defaultClient: createDefaultClient(
+    {},
+    {
+      baseUrl: 'http://localhost:4000',
+    },
+  ),
 });
  1. Navigate to the DAST Site profile form in your GDK: /:namespace/:project/-/on_demand_scans/profiles/dast_site_profiles/new

Screenshots

validation status Screenshot Recording
Pending pending pending_success
In Progress in-progress inprogress_success
Passed passed passed
Failed failed failure_success

It also handles the case of a failing validation when in polling-mode:

polling_failed

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Related to #247452 (closed)

Edited by David Pisek

Merge request reports

Loading