Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThong Kuah <tkuah@gitlab.com>2019-04-12 08:28:06 +0300
committerStan Hu <stanhu@gmail.com>2019-04-30 08:55:11 +0300
commit3c8df0c944f0b23f9ee8b6b08a0a355b00456dd9 (patch)
treee17c11245edf069af55f97c3b9df1544c33db57a /spec/services/clusters/applications
parent938e90f47288901790a96c50a8c0dfa2b7eab137 (diff)
Destroy app on successful uninstallation
Rescue and put into :uninstall_errored if something goes wrong while destroying, which can happen. I think it is safe to expose the full error message from the destroy error. Remove the :uninstalled state as no longer used.
Diffstat (limited to 'spec/services/clusters/applications')
-rw-r--r--spec/services/clusters/applications/check_uninstall_progress_service_spec.rb23
1 files changed, 20 insertions, 3 deletions
diff --git a/spec/services/clusters/applications/check_uninstall_progress_service_spec.rb b/spec/services/clusters/applications/check_uninstall_progress_service_spec.rb
index ccae7fd133f..084f29d9d2d 100644
--- a/spec/services/clusters/applications/check_uninstall_progress_service_spec.rb
+++ b/spec/services/clusters/applications/check_uninstall_progress_service_spec.rb
@@ -56,13 +56,30 @@ describe Clusters::Applications::CheckUninstallProgressService do
service.execute
end
- it 'make the application installed' do
+ it 'destroys the application' do
expect(worker_class).not_to receive(:perform_in)
service.execute
+ expect(application).to be_destroyed
+ end
+
+ context 'an error occurs while destroying' do
+ before do
+ expect(application).to receive(:destroy!).once.and_raise("destroy failed")
+ end
+
+ it 'still removes the installation POD' do
+ expect(service).to receive(:remove_installation_pod).once
- expect(application).to be_uninstalled
- expect(application.status_reason).to be_nil
+ service.execute
+ end
+
+ it 'makes the application uninstall_errored' do
+ service.execute
+
+ expect(application).to be_uninstall_errored
+ expect(application.status_reason).to eq('Application uninstalled but failed to destroy: destroy failed')
+ end
end
end