Merge branch '38464-k8s-apps' of https://gitlab.com/gitlab-org/gitlab-ce into 38464-k8s-apps
This commit is contained in:
commit
b982a44abb
|
|
@ -54,8 +54,6 @@ project_tree:
|
|||
- :auto_devops
|
||||
- :triggers
|
||||
- :pipeline_schedules
|
||||
- clusters:
|
||||
- :application_helm
|
||||
- :services
|
||||
- :hooks
|
||||
- protected_branches:
|
||||
|
|
|
|||
|
|
@ -8,8 +8,6 @@ module Gitlab
|
|||
triggers: 'Ci::Trigger',
|
||||
pipeline_schedules: 'Ci::PipelineSchedule',
|
||||
builds: 'Ci::Build',
|
||||
clusters: 'Clusters::Cluster',
|
||||
application_helm: 'Clusters::Applications::Helm',
|
||||
hooks: 'ProjectHook',
|
||||
merge_access_levels: 'ProtectedBranch::MergeAccessLevel',
|
||||
push_access_levels: 'ProtectedBranch::PushAccessLevel',
|
||||
|
|
|
|||
|
|
@ -1,29 +1,24 @@
|
|||
FactoryGirl.define do
|
||||
factory :cluster_applications_helm, class: Clusters::Applications::Helm do
|
||||
cluster factory: :cluster
|
||||
cluster factory: %i(cluster provided_by_gcp)
|
||||
|
||||
trait :installable do
|
||||
cluster
|
||||
status 0
|
||||
end
|
||||
|
||||
trait :scheduled do
|
||||
cluster
|
||||
status 1
|
||||
end
|
||||
|
||||
trait :installing do
|
||||
cluster
|
||||
status 2
|
||||
end
|
||||
|
||||
trait :installed do
|
||||
cluster
|
||||
status 3
|
||||
end
|
||||
|
||||
trait :errored do
|
||||
cluster
|
||||
status(-1)
|
||||
status_reason 'something went wrong'
|
||||
end
|
||||
|
|
|
|||
|
|
@ -147,22 +147,6 @@ deploy_keys:
|
|||
- user
|
||||
- deploy_keys_projects
|
||||
- projects
|
||||
clusters:
|
||||
- application_helm
|
||||
- cluster_projects
|
||||
- projects
|
||||
- user
|
||||
- provider_gcp
|
||||
- platform_kubernetes
|
||||
cluster_projects:
|
||||
- projects
|
||||
- clusters
|
||||
provider_gcp:
|
||||
- cluster
|
||||
platform_kubernetes:
|
||||
- cluster
|
||||
application_helm:
|
||||
- cluster
|
||||
services:
|
||||
- project
|
||||
- service_hook
|
||||
|
|
|
|||
|
|
@ -4,14 +4,20 @@ describe Clusters::Applications::InstallService do
|
|||
describe '#execute' do
|
||||
let(:application) { create(:cluster_applications_helm, :scheduled) }
|
||||
let(:service) { described_class.new(application) }
|
||||
let(:helm_client) { instance_double(Gitlab::Kubernetes::Helm) }
|
||||
|
||||
before do
|
||||
allow(service).to receive(:helm_api).and_return(helm_client)
|
||||
end
|
||||
|
||||
context 'when there are no errors' do
|
||||
before do
|
||||
expect_any_instance_of(Gitlab::Kubernetes::Helm).to receive(:install).with(application)
|
||||
expect(helm_client).to receive(:install).with(application)
|
||||
allow(ClusterWaitForAppInstallationWorker).to receive(:perform_in).and_return(nil)
|
||||
end
|
||||
|
||||
it 'make the application installing' do
|
||||
expect(application.cluster).not_to be_nil
|
||||
service.execute
|
||||
|
||||
expect(application).to be_installing
|
||||
|
|
@ -27,7 +33,7 @@ describe Clusters::Applications::InstallService do
|
|||
context 'when k8s cluster communication fails' do
|
||||
before do
|
||||
error = KubeException.new(500, 'system failure', nil)
|
||||
expect_any_instance_of(Gitlab::Kubernetes::Helm).to receive(:install).with(application).and_raise(error)
|
||||
expect(helm_client).to receive(:install).with(application).and_raise(error)
|
||||
end
|
||||
|
||||
it 'make the application errored' do
|
||||
|
|
@ -43,7 +49,7 @@ describe Clusters::Applications::InstallService do
|
|||
|
||||
it 'make the application errored' do
|
||||
expect(application).to receive(:make_installing!).once.and_raise(ActiveRecord::RecordInvalid)
|
||||
expect_any_instance_of(Gitlab::Kubernetes::Helm).not_to receive(:install)
|
||||
expect(helm_client).not_to receive(:install)
|
||||
|
||||
service.execute
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue