Extract EE specific files/lines for CI spec/serializers
We have the following files containing EE specific code. We should move them to ee/
spec/serializers/environment_entity_spec.rb
diff --git a/spec/serializers/environment_entity_spec.rb b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/spec/serializers/environment_entity_spec.rb
index 791b64dc356..fd628e51317 100644
--- a/spec/serializers/environment_entity_spec.rb
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/spec/serializers/environment_entity_spec.rb
@@ -1,14 +1,21 @@
require 'spec_helper'
describe EnvironmentEntity do
- let(:request) { double('request') }
+ include KubernetesHelpers
+
+ let(:user) { create(:user) }
+ let(:environment) { create(:environment) }
+
let(:entity) do
- described_class.new(environment, request: spy('request'))
+ described_class.new(environment, request: double(current_user: user))
end
- let(:environment) { create(:environment) }
subject { entity.as_json }
+ before do
+ environment.project.add_maintainer(user)
+ end
+
it 'exposes latest deployment' do
expect(subject).to include(:last_deployment)
end
@@ -41,6 +48,29 @@ describe EnvironmentEntity do
end
end
+ context 'with deployment service ready' do
+ before do
+ stub_licensed_features(deploy_board: true)
+ allow(environment).to receive(:has_terminals?).and_return(true)
+ allow(environment).to receive(:rollout_status).and_return(kube_deployment_rollout_status)
+ end
+
+ it 'exposes rollout_status' do
+ expect(subject).to include(:rollout_status)
+ end
+ end
+
+ context 'when license does not has the GitLab_DeployBoard add-on' do
+ before do
+ stub_licensed_features(deploy_board: false)
+ allow(environment).to receive(:has_terminals?).and_return(true)
+ end
+
+ it 'does not expose rollout_status' do
+ expect(subject[:rollout_status_path]).to be_blank
+ end
+ end
+
context 'with deployment platform' do
let(:project) { create(:project, :repository) }
let(:environment) { create(:environment, project: project) }
spec/serializers/pipeline_details_entity_spec.rb
diff --git a/spec/serializers/pipeline_details_entity_spec.rb b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/spec/serializers/pipeline_details_entity_spec.rb
index 8e73a3e67c6..ee868c994c7 100644
--- a/spec/serializers/pipeline_details_entity_spec.rb
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/spec/serializers/pipeline_details_entity_spec.rb
@@ -136,5 +136,40 @@ describe PipelineDetailsEntity do
expect(subject[:flags][:yaml_errors]).to be false
end
end
+
+ context 'when pipeline is triggered by other pipeline' do
+ let(:pipeline) { create(:ci_empty_pipeline) }
+
+ before do
+ create(:ci_sources_pipeline, pipeline: pipeline)
+ end
+
+ it 'contains an information about depedent pipeline' do
+ expect(subject[:triggered_by]).to be_a(Hash)
+ expect(subject[:triggered_by][:path]).not_to be_nil
+ expect(subject[:triggered_by][:details]).not_to be_nil
+ expect(subject[:triggered_by][:details][:status]).not_to be_nil
+ expect(subject[:triggered_by][:project]).not_to be_nil
+ end
+ end
+
+ context 'when pipeline triggered other pipeline' do
+ let(:pipeline) { create(:ci_empty_pipeline) }
+ let(:build) { create(:ci_build, pipeline: pipeline) }
+
+ before do
+ create(:ci_sources_pipeline, source_job: build)
+ create(:ci_sources_pipeline, source_job: build)
+ end
+
+ it 'contains an information about depedent pipeline' do
+ expect(subject[:triggered]).to be_a(Array)
+ expect(subject[:triggered].length).to eq(2)
+ expect(subject[:triggered].first[:path]).not_to be_nil
+ expect(subject[:triggered].first[:details]).not_to be_nil
+ expect(subject[:triggered].first[:details][:status]).not_to be_nil
+ expect(subject[:triggered].first[:project]).not_to be_nil
+ end
+ end
end
end
spec/serializers/pipeline_serializer_spec.rb
diff --git a/spec/serializers/pipeline_serializer_spec.rb b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/spec/serializers/pipeline_serializer_spec.rb
index 2bdcb2a45f6..5550b2bbc9e 100644
--- a/spec/serializers/pipeline_serializer_spec.rb
+++ b/home/yorickpeterse/Projects/gitlab/gdk-ee/gitlab/spec/serializers/pipeline_serializer_spec.rb
@@ -119,7 +119,7 @@ describe PipelineSerializer do
it 'verifies number of queries', :request_store do
recorded = ActiveRecord::QueryRecorder.new { subject }
- expect(recorded.count).to be_within(2).of(31)
+ expect(recorded.count).to be_within(2).of(38)
expect(recorded.cached_count).to eq(0)
end
end
@@ -138,7 +138,7 @@ describe PipelineSerializer do
# pipeline. With the same ref this check is cached but if refs are
# different then there is an extra query per ref
# https://gitlab.com/gitlab-org/gitlab-ce/issues/46368
- expect(recorded.count).to be_within(2).of(38)
+ expect(recorded.count).to be_within(2).of(44)
expect(recorded.cached_count).to eq(0)
end
end
Edited by Yorick Peterse