Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorMarin Jankovski <marin@gitlab.com>2018-04-10 14:15:10 +0300
committerRobert Speicher <rspeicher@gmail.com>2018-04-11 03:04:45 +0300
commitfd35eb84788e73b3cb71806c5d82e85426a1f1ee (patch)
treef40a7d5c20a500c02794dccec9a638a11519260e /spec
parent842005641cab896af5f14f4ee449f638e50d12ec (diff)
Merge branch 'revert-e9e800f5' into 'master'
Revert "Merge branch 'improve-jobs-queuing-time-metric' into 'master'" See merge request gitlab-org/gitlab-ce!18276
Diffstat (limited to 'spec')
-rw-r--r--spec/factories/ci/builds.rb1
-rw-r--r--spec/services/ci/register_job_service_spec.rb83
2 files changed, 2 insertions, 82 deletions
diff --git a/spec/factories/ci/builds.rb b/spec/factories/ci/builds.rb
index fdacbe6c3f1..bca7e920de4 100644
--- a/spec/factories/ci/builds.rb
+++ b/spec/factories/ci/builds.rb
@@ -62,7 +62,6 @@ FactoryBot.define do
end
trait :pending do
- queued_at 'Di 29. Okt 09:50:59 CET 2013'
status 'pending'
end
diff --git a/spec/services/ci/register_job_service_spec.rb b/spec/services/ci/register_job_service_spec.rb
index aa7cc268dd7..97a563c1ce1 100644
--- a/spec/services/ci/register_job_service_spec.rb
+++ b/spec/services/ci/register_job_service_spec.rb
@@ -370,89 +370,10 @@ module Ci
it_behaves_like 'validation is not active'
end
end
- end
- describe '#register_success' do
- let!(:current_time) { Time.new(2018, 4, 5, 14, 0, 0) }
- let!(:attempt_counter) { double('Gitlab::Metrics::NullMetric') }
- let!(:job_queue_duration_seconds) { double('Gitlab::Metrics::NullMetric') }
-
- before do
- allow(Time).to receive(:now).and_return(current_time)
-
- # Stub defaults for any metrics other than the ones we're testing
- allow(Gitlab::Metrics).to receive(:counter)
- .with(any_args)
- .and_return(Gitlab::Metrics::NullMetric.instance)
- allow(Gitlab::Metrics).to receive(:histogram)
- .with(any_args)
- .and_return(Gitlab::Metrics::NullMetric.instance)
-
- # Stub tested metrics
- allow(Gitlab::Metrics).to receive(:counter)
- .with(:job_register_attempts_total, anything)
- .and_return(attempt_counter)
- allow(Gitlab::Metrics).to receive(:histogram)
- .with(:job_queue_duration_seconds, anything, anything, anything)
- .and_return(job_queue_duration_seconds)
-
- project.update(shared_runners_enabled: true)
- pending_job.update(created_at: current_time - 3600, queued_at: current_time - 1800)
+ def execute(runner)
+ described_class.new(runner).execute.build
end
-
- shared_examples 'metrics collector' do
- it 'increments attempt counter' do
- allow(job_queue_duration_seconds).to receive(:observe)
- expect(attempt_counter).to receive(:increment)
-
- execute(runner)
- end
-
- it 'counts job queuing time histogram with expected labels' do
- allow(attempt_counter).to receive(:increment)
- expect(job_queue_duration_seconds).to receive(:observe)
- .with({ shared_runner: expected_shared_runner,
- jobs_running_for_project: expected_jobs_running_for_project_first_job }, 1800)
-
- execute(runner)
- end
-
- context 'when project already has running jobs' do
- let!(:build2) { create( :ci_build, :running, pipeline: pipeline, runner: shared_runner) }
- let!(:build3) { create( :ci_build, :running, pipeline: pipeline, runner: shared_runner) }
-
- it 'counts job queuing time histogram with expected labels' do
- allow(attempt_counter).to receive(:increment)
- expect(job_queue_duration_seconds).to receive(:observe)
- .with({ shared_runner: expected_shared_runner,
- jobs_running_for_project: expected_jobs_running_for_project_third_job }, 1800)
-
- execute(runner)
- end
- end
- end
-
- context 'when shared runner is used' do
- let(:runner) { shared_runner }
- let(:expected_shared_runner) { true }
- let(:expected_jobs_running_for_project_first_job) { 0 }
- let(:expected_jobs_running_for_project_third_job) { 2 }
-
- it_behaves_like 'metrics collector'
- end
-
- context 'when specific runner is used' do
- let(:runner) { specific_runner }
- let(:expected_shared_runner) { false }
- let(:expected_jobs_running_for_project_first_job) { '+Inf' }
- let(:expected_jobs_running_for_project_third_job) { '+Inf' }
-
- it_behaves_like 'metrics collector'
- end
- end
-
- def execute(runner)
- described_class.new(runner).execute.build
end
end
end