Merge branch 'fix/gb/fix-deployment-platform-for-environment' into 'master'

Fix environment deployment platform filter method

See merge request gitlab-org/gitlab-ce!18216
This commit is contained in:
Kamil Trzciński 2018-04-06 13:38:29 +00:00
commit 80e04c3c47
3 changed files with 28 additions and 2 deletions

View file

@ -224,7 +224,7 @@ class Environment < ActiveRecord::Base
end
def deployment_platform
project.deployment_platform(environment: self)
project.deployment_platform(environment: self.name)
end
private

View file

@ -79,7 +79,7 @@ module Gitlab
def common_query_context(environment, timeframe_start:, timeframe_end:)
base_query_context(timeframe_start, timeframe_end).merge({
ci_environment_slug: environment.slug,
kube_namespace: environment.project.deployment_platform&.actual_namespace || '',
kube_namespace: environment.deployment_platform&.actual_namespace || '',
environment_filter: %{container_name!="POD",environment="#{environment.slug}"}
})
end

View file

@ -368,6 +368,32 @@ describe Environment do
end
end
describe '#deployment_platform' do
context 'when there is a deployment platform for environment' do
let!(:cluster) do
create(:cluster, :provided_by_gcp,
environment_scope: '*', projects: [project])
end
it 'finds a deployment platform' do
expect(environment.deployment_platform).to eq cluster.platform
end
end
context 'when there is no deployment platform for environment' do
it 'returns nil' do
expect(environment.deployment_platform).to be_nil
end
end
it 'checks deployment platforms associated with a project' do
expect(project).to receive(:deployment_platform)
.with(environment: environment.name)
environment.deployment_platform
end
end
describe '#terminals' do
subject { environment.terminals }