Commit d89d514e 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 6228b65f 3bf2abaa
...@@ -12,20 +12,20 @@ module Clusters ...@@ -12,20 +12,20 @@ module Clusters
state :installing, value: 2 state :installing, value: 2
state :installed, value: 3 state :installed, value: 3
event :make_scheduled do
transition %i(installable errored) => :scheduled
end
event :make_installing do event :make_installing do
transition any - [:installing] => :installing transition %i(scheduled) => :installing
end end
event :make_installed do event :make_installed do
transition any - [:installed] => :installed transition %i(installing) => :installed
end end
event :make_errored do event :make_errored do
transition any - [:errored] => :errored transition any => :errored
end
event :make_scheduled do
transition %i(installable errored) => :scheduled
end end
before_transition any => [:scheduled] do |app_status, _| before_transition any => [:scheduled] do |app_status, _|
......
FactoryGirl.define do FactoryGirl.define do
factory :applications_helm, class: Clusters::Applications::Helm do factory :cluster_applications_helm, class: Clusters::Applications::Helm do
trait :cluster do cluster factory: :cluster
before(:create) do |app, _|
app.cluster = create(:cluster)
end
end
trait :installable do trait :installable do
cluster cluster
......
...@@ -28,7 +28,7 @@ RSpec.describe Clusters::Applications::Helm, type: :model do ...@@ -28,7 +28,7 @@ RSpec.describe Clusters::Applications::Helm, type: :model do
describe 'status state machine' do describe 'status state machine' do
describe '#make_installing' do describe '#make_installing' do
subject { create(:applications_helm, :scheduled) } subject { create(:cluster_applications_helm, :scheduled) }
it 'is installing' do it 'is installing' do
subject.make_installing! subject.make_installing!
...@@ -38,7 +38,7 @@ RSpec.describe Clusters::Applications::Helm, type: :model do ...@@ -38,7 +38,7 @@ RSpec.describe Clusters::Applications::Helm, type: :model do
end end
describe '#make_installed' do describe '#make_installed' do
subject { create(:applications_helm, :installing) } subject { create(:cluster_applications_helm, :installing) }
it 'is installed' do it 'is installed' do
subject.make_installed subject.make_installed
...@@ -48,7 +48,7 @@ RSpec.describe Clusters::Applications::Helm, type: :model do ...@@ -48,7 +48,7 @@ RSpec.describe Clusters::Applications::Helm, type: :model do
end end
describe '#make_errored' do describe '#make_errored' do
subject { create(:applications_helm, :installing) } subject { create(:cluster_applications_helm, :installing) }
let(:reason) { 'some errors' } let(:reason) { 'some errors' }
it 'is errored' do it 'is errored' do
...@@ -60,7 +60,7 @@ RSpec.describe Clusters::Applications::Helm, type: :model do ...@@ -60,7 +60,7 @@ RSpec.describe Clusters::Applications::Helm, type: :model do
end end
describe '#make_scheduled' do describe '#make_scheduled' do
subject { create(:applications_helm, :installable) } subject { create(:cluster_applications_helm, :installable) }
it 'is scheduled' do it 'is scheduled' do
subject.make_scheduled subject.make_scheduled
...@@ -69,7 +69,7 @@ RSpec.describe Clusters::Applications::Helm, type: :model do ...@@ -69,7 +69,7 @@ RSpec.describe Clusters::Applications::Helm, type: :model do
end end
describe 'when was errored' do describe 'when was errored' do
subject { create(:applications_helm, :errored) } subject { create(:cluster_applications_helm, :errored) }
it 'clears #status_reason' do it 'clears #status_reason' do
expect(subject.status_reason).not_to be_nil expect(subject.status_reason).not_to be_nil
......
...@@ -2,7 +2,7 @@ require 'spec_helper' ...@@ -2,7 +2,7 @@ require 'spec_helper'
describe ClusterApplicationEntity do describe ClusterApplicationEntity do
describe '#as_json' do describe '#as_json' do
let(:application) { build(:applications_helm) } let(:application) { build(:cluster_applications_helm) }
subject { described_class.new(application).as_json } subject { described_class.new(application).as_json }
it 'has name' do it 'has name' do
...@@ -18,7 +18,7 @@ describe ClusterApplicationEntity do ...@@ -18,7 +18,7 @@ describe ClusterApplicationEntity do
end end
context 'when application is errored' do context 'when application is errored' do
let(:application) { build(:applications_helm, :errored) } let(:application) { build(:cluster_applications_helm, :errored) }
it 'has corresponded data' do it 'has corresponded data' do
expect(subject[:status]).to eq(:errored) expect(subject[:status]).to eq(:errored)
......
...@@ -3,7 +3,7 @@ require 'spec_helper' ...@@ -3,7 +3,7 @@ require 'spec_helper'
describe Clusters::Applications::CheckInstallationProgressService do describe Clusters::Applications::CheckInstallationProgressService do
RESCHEDULE_PHASES = Gitlab::Kubernetes::Pod::PHASES - [Gitlab::Kubernetes::Pod::SUCCEEDED, Gitlab::Kubernetes::Pod::FAILED].freeze RESCHEDULE_PHASES = Gitlab::Kubernetes::Pod::PHASES - [Gitlab::Kubernetes::Pod::SUCCEEDED, Gitlab::Kubernetes::Pod::FAILED].freeze
let(:application) { create(:applications_helm, :installing) } let(:application) { create(:cluster_applications_helm, :installing) }
let(:service) { described_class.new(application) } let(:service) { described_class.new(application) }
let(:phase) { Gitlab::Kubernetes::Pod::UNKNOWN } let(:phase) { Gitlab::Kubernetes::Pod::UNKNOWN }
let(:errors) { nil } let(:errors) { nil }
...@@ -33,7 +33,7 @@ describe Clusters::Applications::CheckInstallationProgressService do ...@@ -33,7 +33,7 @@ describe Clusters::Applications::CheckInstallationProgressService do
end end
context 'when timeouted' do context 'when timeouted' do
let(:application) { create(:applications_helm, :timeouted) } let(:application) { create(:cluster_applications_helm, :timeouted) }
it_behaves_like 'a terminated installation' it_behaves_like 'a terminated installation'
......
...@@ -2,7 +2,7 @@ require 'spec_helper' ...@@ -2,7 +2,7 @@ require 'spec_helper'
describe Clusters::Applications::InstallService do describe Clusters::Applications::InstallService do
describe '#execute' do describe '#execute' do
let(:application) { create(:applications_helm, :scheduled) } let(:application) { create(:cluster_applications_helm, :scheduled) }
let(:service) { described_class.new(application) } let(:service) { described_class.new(application) }
context 'when there are no errors' do context 'when there are no errors' do
...@@ -39,7 +39,7 @@ describe Clusters::Applications::InstallService do ...@@ -39,7 +39,7 @@ describe Clusters::Applications::InstallService do
end end
context 'when application cannot be persisted' do context 'when application cannot be persisted' do
let(:application) { build(:applications_helm, :scheduled) } let(:application) { build(:cluster_applications_helm, :scheduled) }
it 'make the application errored' do it 'make the application errored' do
expect(application).to receive(:make_installing!).once.and_raise(ActiveRecord::RecordInvalid) expect(application).to receive(:make_installing!).once.and_raise(ActiveRecord::RecordInvalid)
......
...@@ -32,7 +32,7 @@ describe Clusters::Applications::ScheduleInstallationService do ...@@ -32,7 +32,7 @@ describe Clusters::Applications::ScheduleInstallationService do
end end
context 'when installation is already in progress' do context 'when installation is already in progress' do
let(:application) { create(:applications_helm, :installing) } let(:application) { create(:cluster_applications_helm, :installing) }
let(:cluster) { application.cluster } let(:cluster) { application.cluster }
it_behaves_like 'a failing service' it_behaves_like 'a failing service'
......
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