summaryrefslogtreecommitdiff
path: root/spec/features/clusters
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-03-26 18:08:03 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-03-26 18:08:03 +0000
commitdc003cd08b4cb72fecbb03aa978ea0c53c03aeb4 (patch)
tree5e77ce228c33619201ac6706b9789d4a2eed2a3b /spec/features/clusters
parente80e0dd64fbb04f60394cb1bb08e17dbcb22b8ce (diff)
downloadgitlab-ce-dc003cd08b4cb72fecbb03aa978ea0c53c03aeb4.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/features/clusters')
-rw-r--r--spec/features/clusters/installing_applications_shared_examples.rb76
1 files changed, 48 insertions, 28 deletions
diff --git a/spec/features/clusters/installing_applications_shared_examples.rb b/spec/features/clusters/installing_applications_shared_examples.rb
index 8710e05e5cc..5b565c0a304 100644
--- a/spec/features/clusters/installing_applications_shared_examples.rb
+++ b/spec/features/clusters/installing_applications_shared_examples.rb
@@ -1,7 +1,9 @@
# frozen_string_literal: true
-shared_examples "installing applications on a cluster" do
+shared_examples "installing applications for a cluster" do |managed_apps_local_tiller|
before do
+ stub_feature_flags(managed_apps_local_tiller: managed_apps_local_tiller)
+
visit cluster_path
end
@@ -26,48 +28,61 @@ shared_examples "installing applications on a cluster" do
it 'user can install applications' do
wait_for_requests
- page.within('.js-cluster-application-row-helm') do
- expect(page.find(:css, '.js-cluster-application-install-button')['disabled']).to be_nil
+ application_row =
+ if managed_apps_local_tiller
+ '.js-cluster-application-row-ingress'
+ else
+ '.js-cluster-application-row-helm'
+ end
+
+ page.within(application_row) do
+ expect(page).not_to have_css('.js-cluster-application-install-button[disabled]')
expect(page).to have_css('.js-cluster-application-install-button', exact_text: 'Install')
end
end
- context 'when user installs Helm' do
- before do
- allow(ClusterInstallAppWorker).to receive(:perform_async)
- wait_for_requests
+ if managed_apps_local_tiller
+ it 'does not show the Helm application' do
+ expect(page).not_to have_selector(:css, '.js-cluster-application-row-helm')
+ end
+ else
+ context 'when user installs Helm' do
+ before do
+ allow(ClusterInstallAppWorker).to receive(:perform_async)
+ wait_for_requests
- page.within('.js-cluster-application-row-helm') do
- page.find(:css, '.js-cluster-application-install-button').click
+ page.within('.js-cluster-application-row-helm') do
+ page.find(:css, '.js-cluster-application-install-button').click
+ end
+
+ wait_for_requests
end
- wait_for_requests
- end
+ it 'shows the status transition' do
+ page.within('.js-cluster-application-row-helm') do
+ # FE sends request and gets the response, then the buttons is "Installing"
+ expect(page).to have_css('.js-cluster-application-install-button[disabled]', exact_text: 'Installing')
- it 'shows the status transition' do
- page.within('.js-cluster-application-row-helm') do
- # FE sends request and gets the response, then the buttons is "Installing"
- expect(page).to have_css('.js-cluster-application-install-button[disabled]', exact_text: 'Installing')
+ Clusters::Cluster.last.application_helm.make_installing!
- Clusters::Cluster.last.application_helm.make_installing!
+ # FE starts polling and update the buttons to "Installing"
+ expect(page).to have_css('.js-cluster-application-install-button[disabled]', exact_text: 'Installing')
- # FE starts polling and update the buttons to "Installing"
- expect(page).to have_css('.js-cluster-application-install-button[disabled]', exact_text: 'Installing')
+ Clusters::Cluster.last.application_helm.make_installed!
- Clusters::Cluster.last.application_helm.make_installed!
+ expect(page).not_to have_css('button', exact_text: 'Install', visible: :all)
+ expect(page).not_to have_css('button', exact_text: 'Installing', visible: :all)
+ expect(page).to have_css('.js-cluster-application-uninstall-button:not([disabled])', exact_text: 'Uninstall')
+ end
- expect(page).not_to have_css('button', exact_text: 'Install', visible: :all)
- expect(page).not_to have_css('button', exact_text: 'Installing', visible: :all)
- expect(page).to have_css('.js-cluster-application-uninstall-button:not([disabled])', exact_text: 'Uninstall')
+ expect(page).to have_content('Helm Tiller was successfully installed on your Kubernetes cluster')
end
-
- expect(page).to have_content('Helm Tiller was successfully installed on your Kubernetes cluster')
end
end
context 'when user installs Knative' do
before do
- create(:clusters_applications_helm, :installed, cluster: cluster)
+ create(:clusters_applications_helm, :installed, cluster: cluster) unless managed_apps_local_tiller
end
context 'on an abac cluster' do
@@ -153,7 +168,7 @@ shared_examples "installing applications on a cluster" do
allow(ClusterWaitForIngressIpAddressWorker).to receive(:perform_in)
allow(ClusterWaitForIngressIpAddressWorker).to receive(:perform_async)
- create(:clusters_applications_helm, :installed, cluster: cluster)
+ create(:clusters_applications_helm, :installed, cluster: cluster) unless managed_apps_local_tiller
page.within('.js-cluster-application-row-cert_manager') do
click_button 'Install'
@@ -189,7 +204,7 @@ shared_examples "installing applications on a cluster" do
before do
allow(ClusterInstallAppWorker).to receive(:perform_async)
- create(:clusters_applications_helm, :installed, cluster: cluster)
+ create(:clusters_applications_helm, :installed, cluster: cluster) unless managed_apps_local_tiller
page.within('.js-cluster-application-row-elastic_stack') do
click_button 'Install'
@@ -221,7 +236,7 @@ shared_examples "installing applications on a cluster" do
allow(ClusterWaitForIngressIpAddressWorker).to receive(:perform_in)
allow(ClusterWaitForIngressIpAddressWorker).to receive(:perform_async)
- create(:clusters_applications_helm, :installed, cluster: cluster)
+ create(:clusters_applications_helm, :installed, cluster: cluster) unless managed_apps_local_tiller
page.within('.js-cluster-application-row-ingress') do
expect(page).to have_css('.js-cluster-application-install-button:not([disabled])')
@@ -263,3 +278,8 @@ shared_examples "installing applications on a cluster" do
end
end
end
+
+shared_examples "installing applications on a cluster" do
+ it_behaves_like "installing applications for a cluster", false
+ it_behaves_like "installing applications for a cluster", true
+end