diff --git a/frontend/packages/dev-console/integration-tests/features/addFlow/upload-JAR-file.feature b/frontend/packages/dev-console/integration-tests/features/addFlow/upload-JAR-file.feature new file mode 100644 index 000000000000..5e53de743a8b --- /dev/null +++ b/frontend/packages/dev-console/integration-tests/features/addFlow/upload-JAR-file.feature @@ -0,0 +1,157 @@ +Feature: Upload JAR file + As a user, I want to upload a JAR file from using Upload JAR file card from Add page + + Background: + Given user is at developer perspective + And user is at Add page + And user has created or selected namespace "aut-upload-jar-file" + + + @regression @manual + Scenario Outline: Upload JAR file from Add options + Given user is at the Add page + When user clicks on the Upload JAR file card + And user clicks on Browse in JAR file section + And user selects file to upload + And user selects appropriate Build image version + And user gives Application name as "sample-upload-app" and workload Name as "" + And user selects resource type as "" + And user clicks create button + Then user will be redirected to Topology page + And user can see a toast notification of JAR file uploading with link to build logs + And user can see "" "" in application "sample-upload-app" is created in topology + + Examples: + | name | resource_type | + | sample-yaml-upload-1 | Deployment | + | sample-yaml-upload-2 | Deployment Config | + + @regression @manual + Scenario Outline: Upload JAR file through drag and drop from Add options + Given user is at the Add page + When user clicks on the Upload JAR file card + And user drag and drop the file in JAR file section + And user selects appropriate Build image version + And user gives Application name as "sample-upload-app" and workload Name as "" + And user selects resource type as "" + And user clicks create button + Then user will be redirected to Topology page + And user can see a toast notification of JAR file uploading with link to build logs + And user can see "" "" in application "sample-upload-app" is created in topology + + Examples: + | name | resource_type | + | sample-yaml-upload-a | Deployment | + | sample-yaml-upload-b | Deployment Config | + + + @regression + Scenario: Upload JAR file with advanced option "Health Checks" : A-04-TC12 + When user is on the Upload JAR file form + And user clicks on Browse in JAR file section + And user selects file to upload + And user gives Application name as "sample-upload-app" and workload Name as "sample-yaml-upload" + And user clicks "Health Checks" link in Advanced Options section + And user fills the Readiness Probe details + And user fills the Liveness Probe details + And user fills the Startup Probe details + And user clicks Create button on Add page + Then user will be redirected to Topology page + + + @regression + Scenario: Upload JAR file without application route : A-04-TC05 + When user is on the Upload JAR file form + And user clicks on Browse in JAR file section + And user selects file to upload + And user gives Application name as "sample-upload-app" and workload Name as "sample-yaml-upload" + And user unselects the advanced option Create a route to the application + And user clicks Create button on Add page + Then user will be redirected to Topology page + And public url is not created for node "sample-yaml-upload" in the workload sidebar + + + @regression + Scenario: Upload JAR file with advanced option "Routing" : A-04-TC06 + When user is on the Upload JAR file form + And user clicks on Browse in JAR file section + And user selects file to upload + And user gives Application name as "sample-upload-app" and workload Name as "sample-yaml-upload" + And user clicks "Routing" link in Advanced Options section + And user enters Hostname as "home" + And user enters Path as "/home" + And user selects default Target Port + And user clicks Create button on Add page + Then user will be redirected to Topology page + And the route of application "sample-yaml-upload" contains "home" in the Routes section of the workload sidebar + + + @regression + Scenario: Upload JAR file by unselecting options in "Build Configuration" section: A-04-TC07 + When user is on the Upload JAR file form + And user clicks on Browse in JAR file section + And user selects file to upload + And user gives Application name as "sample-upload-app" and workload Name as "sample-yaml-upload" + And user clicks "Build Configuration" link in Advanced Options section + And user unselects Configure a webhook build trigger checkbox in build configuration section + And user unselects Automatically build a new image when the builder image changes checkbox in build configuration section + And user unselects Launch the first build when the build configuration is created checkbox in build configuration section + And user enters Name as "home" in Environment Variables section + And user enters Value as "value" in Environment Variables section + And user clicks Create button on Add page + Then user will be redirected to Topology page + And build does not get started for "sample-yaml-upload" + + + @regression + Scenario: Upload JAR file with advanced option "Deployment" : A-04-TC08 + When user is on the Upload JAR file form + And user clicks on Browse in JAR file section + And user selects file to upload + And user gives Application name as "sample-upload-app" and workload Name as "sample-yaml-upload" + And user clicks "Deployment" link in Advanced Options section + And user verify the Auto deploy when new image is available checkbox is selected + And user enters Name as "home" in Environment Variables Runtime only section + And user enters Value as "value" in Environment Variables Runtime only section + And user clicks Create button on Add page + Then user will be redirected to Topology page + + + @regression + Scenario: Upload JAR file with advanced option "Resource Limits" : A-04-TC09 + When user is on the Upload JAR file form + And user clicks on Browse in JAR file section + And user selects file to upload + And user gives Application name as "sample-upload-app" and workload Name as "sample-yaml-upload" + And user clicks "Resource Limits" link in Advanced Options section + And user enters CPU Request as "10" in CPU section + And user enters CPU Limits as "12" in CPU section + And user enters Memory Request as "200" in Memory section + And user enters Memory Limit as "300" in Memory section + And user clicks Create button on Add page + Then user will be redirected to Topology page + + + @regression + Scenario: Upload JAR file with advanced option "Scaling" : A-04-TC10 + When user is on the Upload JAR file form + And user clicks on Browse in JAR file section + And user selects file to upload + And user gives Application name as "sample-upload-app" and workload Name as "sample-yaml-upload" + And user clicks "Scaling" link in Advanced Options section + And user enters number of replicas as "5" in Replicas section + And user clicks Create button on Add page + Then user will be redirected to Topology page + + + @regression + Scenario: Upload JAR file with advanced option "Labels" : A-04-TC11 + When user is on the Upload JAR file form + And user clicks on Browse in JAR file section + And user selects file to upload + And user gives Application name as "sample-upload-app" and workload Name as "sample-yaml-upload" + And user clicks "Labels" link in Advanced Options section + And user enters label as "app=frontend" + And user clicks Create button on Add page + Then user will be redirected to Topology page + And verify the label "app=frontend" in side bar of application node "sample-yaml-upload" diff --git a/frontend/packages/dev-console/integration-tests/features/topology/topology-chart-area-visual.feature b/frontend/packages/dev-console/integration-tests/features/topology/topology-chart-area-visual.feature index d22786ea6384..733d9a533f44 100644 --- a/frontend/packages/dev-console/integration-tests/features/topology/topology-chart-area-visual.feature +++ b/frontend/packages/dev-console/integration-tests/features/topology/topology-chart-area-visual.feature @@ -172,3 +172,86 @@ Feature: Topology chart area And user hovers on Add to Project and clicks on From Channel And user clicks on Create Then user is able to see different applications created from Samples, From Git, Container Image, From Dockerfile, From Devfile, From Catalog, Database, Operator Backed, Helm Charts, Event Source, Channel + + + @regression, @manual + Scenario: Upload JAR file form + Given user has a jar file named "sample_yaml_upload.yaml" + And user is at the Topology page + When user drags and drop jar file on topology + Then user sees Upload JAR file form + And user can see JAR section with jar file name with Browse and Clear button associated with it + And user can see Optional java commands, Runtime icon and Build image version under JAR section + And user can see General section with Application name and Name under it + And user can see Resources and Advanced options sections + + + @regression, @manual + Scenario: Drag and drop jar file in topology chart view + Given user has a jar file named "sample_yaml_upload.yaml" + And user is at the Topology page + When user drags and drop jar file on topology + And user gives Application name as "sample-upload-app" and workload Name as "sample-yaml-upload" + And user clicks on Create in Upload JAR file form + Then user is redirected to topology + And user can see a toast notification of JAR file uploading with link to build logs + And user can see deployment "sample-yaml-upload" in application "sample-upload-app" is created in topology + + + @regression @manual + Scenario: Add to Project to upload JAR file in topology + Given user is at the Topology page + When user right clicks on the empty chart area + And user clicks on Add to Project + And user clicks on Upload JAR file + And user clicks on Browse in JAR file section + And user selects file to upload + And user clicks Clear and reupload the file + And user gives Application name as "sample-upload-app" and workload Name as "sample-yaml-upload-1" + And user clicks on Create + Then user is redirected to topology + And user can see a toast notification of JAR file uploading with link to build logs + And user can see deployment "sample-yaml-upload-1" in application "sample-upload-app" is created in topology + + + @regression @manual + Scenario: Add to Project through drag and drop to upload JAR file in topology + Given user is at the Topology page + When user right clicks on the empty chart area + And user clicks on Add to Project + And user clicks on Upload JAR file + And user drag and drop the file in JAR file section + And user gives Application name as "sample-upload-app" and workload Name as "sample-yaml-upload-1" + And user clicks on Create + Then user is redirected to topology + And user can see a toast notification of JAR file uploading with link to build logs + And user can see deployment "sample-yaml-upload-1" in application "sample-upload-app" is created in topology + + + @regression, @manual + Scenario: Drag and drop Incompatible file in topology chart view + Given user has a incompatible file + And user is at the Topology chart view + When user drags and drop the file on topology + Then the curser will show the action is not available + + + @regression, @manual + Scenario: Exiting the browser while an upload is in progress + Given user is uploading a jar file + And user is at the Topology chart view + When user tries to exist the browser + Then a web alert would appear asking the user if they really wanted to leave the page with Leave and Skip button + + + @regression, @manual + Scenario: View shortcuts menu + Given user has uploaded a jar file + When user clicks on View shortcuts + Then user sees shortcut for Move + And user sees shortcut for Edit Application grouping + And user sees shortcut for Access context menu + And user sees shortcut for View details in side panel + And user sees shortcut for Access create connector handle + And user sees shortcut for Qpen quick search modal + And user sees shortcut for Drag and drop a JAR file into Topology diff --git a/frontend/packages/dev-console/integration-tests/features/topology/topology-editing-app-node.feature b/frontend/packages/dev-console/integration-tests/features/topology/topology-editing-app-node.feature index e11e73d84263..538a43f68831 100644 --- a/frontend/packages/dev-console/integration-tests/features/topology/topology-editing-app-node.feature +++ b/frontend/packages/dev-console/integration-tests/features/topology/topology-editing-app-node.feature @@ -37,3 +37,15 @@ Feature: Editing an application And user edits Application name as "nodejs-ex-git-app-1" And user clicks on save Then user can see the change of knative service to the new Application defined above + + + @regression @manual + Scenario: Edit JAR file through drag and drop + Given user has uploaded JAR file + When user opens sidebar of the file + And user clicks on Edit app in Action menu + And user drag and drop a new JAR file in JAR file section + And user updates Build image version + And user clicks on Save + Then user is redirected to topology + And user can see a toast notification of JAR file uploading with link to build logs diff --git a/frontend/packages/dev-console/integration-tests/features/topology/topology-list-view.feature b/frontend/packages/dev-console/integration-tests/features/topology/topology-list-view.feature index c312513773ca..215bc02d5e8b 100644 --- a/frontend/packages/dev-console/integration-tests/features/topology/topology-list-view.feature +++ b/frontend/packages/dev-console/integration-tests/features/topology/topology-list-view.feature @@ -1,25 +1,61 @@ Feature: List view in topology As a user, I want to see list view in topology -Background: - Given user is at developer perspective - And user has selected namespace "aut-topology-list-view" - - -@regression, @smoke -Scenario: Topology List view : T-07-TC05 - Given user created workload "nodejs-ex-git" with resource type "Deployment" - When user clicks on List view button - And user verifies the filter by resource on top - Then user will see workloads are segregated by applications groupings - -@regression -Scenario: Topology filter by resource: T-07-TC06, T-07-TC07 - Given user created two workloads with resource type "Deployment" and "Deployment-Config" - When user clicks on List view button - And user clicks the filter by resource on top - And user will see "Deployment" and "Deployment-Config" options with '1' associated with it - And user clicks on Deployment - And user can see only the deployment workload - And user clicks on Deployment-Config - Then user can see only the deployment-config workload + Background: + Given user is at developer perspective + And user has selected namespace "aut-topology-list-view" + + + @regression, @smoke + Scenario: Topology List view : T-07-TC05 + Given user created workload "nodejs-ex-git" with resource type "Deployment" + When user clicks on List view button + And user verifies the filter by resource on top + Then user will see workloads are segregated by applications groupings + + + @regression + Scenario: Topology filter by resource: T-07-TC06, T-07-TC07 + Given user created two workloads with resource type "Deployment" and "Deployment-Config" + When user clicks on List view button + And user clicks the filter by resource on top + And user will see "Deployment" and "Deployment-Config" options with '1' associated with it + And user clicks on Deployment + And user can see only the deployment workload + And user clicks on Deployment-Config + Then user can see only the deployment-config workload + + + @regression, @manual + Scenario: Drag and drop jar file in topology list view + Given user has a jar file named "sample_yaml_upload.yaml" + And user is at the Topology list view page + When user drags and drop jar file on topology + And user gives Application name as "sample-upload-app" and workload Name as "sample-yaml-upload" in Upload JAR file form + And user clicks on Create + Then user is redirected to topology + And user can see a toast notification of JAR file uploading with link to build logs + And user can see deployment "sample-yaml-upload" in application "sample-upload-app" is created in topology + + + @regression, @manual + Scenario: Drag and drop Incompatible file in topology chart view + Given user has a incompatible file + And user is at the Topology chart view + When user drags and drop the file on topology + Then the curser will show the action is not available + + + @regression, @manual + Scenario: View shortcuts menu + Given user has uploaded a jar file + When user clicks on View shortcuts + Then user sees shortcut for Drag and drop a JAR file into Topology + + + @regression, @manual + Scenario: Drag and drop Incompatible file in topology chart view + Given user has a incompatible file + And user is at the Topology chart view + When user drags and drop the file on topology + Then the curser will show the action is not available diff --git a/frontend/packages/knative-plugin/integration-tests/features/knative/create-knative-workload.feature b/frontend/packages/knative-plugin/integration-tests/features/knative/create-knative-workload.feature index 632af76469e8..f6b6d0623d14 100644 --- a/frontend/packages/knative-plugin/integration-tests/features/knative/create-knative-workload.feature +++ b/frontend/packages/knative-plugin/integration-tests/features/knative/create-knative-workload.feature @@ -107,3 +107,17 @@ Feature: Create a workload of 'knative Service' type resource And user clicks on the Knative Service workload "dancer-ex-git" And user clicks on name KSVC "dancer-ex-git" Then user will see value of autoscaling.knative.dev/maxScale, autoscaling.knative.dev/minScale, autoscaling.knative.dev/target, autoscaling.knative.dev/targetUtilizationPercentage, autoscaling.knative.dev/window under annotation and containerConcurrency under spec as under spec 5, 1, 3, 70, 9s and 15 respectively + + + @regression @manual + Scenario Outline: knative resource type in upload JAR file + Given user is at the Add page + When user clicks on the Upload JAR file card + And user drag and drop the file in JAR file section + And user selects appropriate Build image version + And user gives Application name as "sample-upload-app" and workload Name as "sample-yaml-upload" + And user selects resource type as "knative" + And user clicks on Create + Then user will be redirected to Topology page + And user can see a toast notification of JAR file uploading with link to build logs + And user can see knative service "sample-yaml-upload" in application "sample-upload-app" is created in topology