6b9157d5dc
We are deprecating this service in favor of instance wide clusters. Therefore we removed some code that is not anymore needed for a readonly cluster and also we added some flags to allow for this deprecation. These flags are to be removed in the next release when we finally completelly remove KubernetesService.
63 lines
1.5 KiB
Ruby
63 lines
1.5 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe EnvironmentEntity do
|
|
let(:request) { double('request') }
|
|
let(:entity) do
|
|
described_class.new(environment, request: spy('request'))
|
|
end
|
|
|
|
let(:environment) { create(:environment) }
|
|
subject { entity.as_json }
|
|
|
|
it 'exposes latest deployment' do
|
|
expect(subject).to include(:last_deployment)
|
|
end
|
|
|
|
it 'exposes core elements of environment' do
|
|
expect(subject).to include(:id, :name, :state, :environment_path)
|
|
end
|
|
|
|
it 'exposes folder path' do
|
|
expect(subject).to include(:folder_path)
|
|
end
|
|
|
|
context 'metrics disabled' do
|
|
before do
|
|
allow(environment).to receive(:has_metrics?).and_return(false)
|
|
end
|
|
|
|
it "doesn't expose metrics path" do
|
|
expect(subject).not_to include(:metrics_path)
|
|
end
|
|
end
|
|
|
|
context 'metrics enabled' do
|
|
before do
|
|
allow(environment).to receive(:has_metrics?).and_return(true)
|
|
end
|
|
|
|
it 'exposes metrics path' do
|
|
expect(subject).to include(:metrics_path)
|
|
end
|
|
end
|
|
|
|
context 'with deployment platform' do
|
|
let(:project) { create(:project, :repository) }
|
|
let(:environment) { create(:environment, project: project) }
|
|
|
|
context 'when deployment platform is a cluster' do
|
|
before do
|
|
create(:cluster,
|
|
:provided_by_gcp,
|
|
:project,
|
|
environment_scope: '*',
|
|
projects: [project])
|
|
end
|
|
|
|
it 'includes cluster_type' do
|
|
expect(subject).to include(:cluster_type)
|
|
expect(subject[:cluster_type]).to eq('project_type')
|
|
end
|
|
end
|
|
end
|
|
end
|