Commit b982a44a authored by Shinya Maeda's avatar Shinya Maeda

Merge branch '38464-k8s-apps' of https://gitlab.com/gitlab-org/gitlab-ce into 38464-k8s-apps

parents bbdb0cf0 68a92295
......@@ -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',
......
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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment