summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorTomasz Maczukin <tomasz@maczukin.pl>2018-02-21 04:03:12 +0100
committerTomasz Maczukin <tomasz@maczukin.pl>2018-03-28 13:56:55 +0200
commit78a4189ece4f8d125eefbfdf6619d3452820bb8e (patch)
tree45f950c72b9a9c452610bbcd75d2d8d23f67898f /spec
parentd633bc8134fe472137fb668c1eb78de45dc9bb57 (diff)
downloadgitlab-ce-78a4189ece4f8d125eefbfdf6619d3452820bb8e.tar.gz
Show timeout information on job's page
Diffstat (limited to 'spec')
-rw-r--r--spec/lib/gitlab/import_export/safe_model_attributes.yml2
-rw-r--r--spec/models/concerns/chronic_duration_attribute_spec.rb50
-rw-r--r--spec/services/ci/retry_build_service_spec.rb3
3 files changed, 38 insertions, 17 deletions
diff --git a/spec/lib/gitlab/import_export/safe_model_attributes.yml b/spec/lib/gitlab/import_export/safe_model_attributes.yml
index 0716852f57f..bd7e60a5d9e 100644
--- a/spec/lib/gitlab/import_export/safe_model_attributes.yml
+++ b/spec/lib/gitlab/import_export/safe_model_attributes.yml
@@ -283,6 +283,8 @@ CommitStatus:
- retried
- protected
- failure_reason
+- used_timeout
+- timeout_source
Ci::Variable:
- id
- project_id
diff --git a/spec/models/concerns/chronic_duration_attribute_spec.rb b/spec/models/concerns/chronic_duration_attribute_spec.rb
index 1a352537aaf..85adfaf4487 100644
--- a/spec/models/concerns/chronic_duration_attribute_spec.rb
+++ b/spec/models/concerns/chronic_duration_attribute_spec.rb
@@ -1,28 +1,46 @@
require 'spec_helper'
-shared_examples 'ChronicDurationAttribute' do
- describe 'dynamically defined methods' do
- it { expect(subject.class).to be_public_method_defined(virtual_field) }
- it { expect(subject.class).to be_public_method_defined("#{virtual_field}=") }
+shared_examples 'ChronicDurationAttribute reader' do
+ it 'contains dynamically created reader method' do
+ expect(subject.class).to be_public_method_defined(virtual_field)
+ end
- it 'parses chronic duration input' do
- subject.send("#{virtual_field}=", "10m")
+ it 'outputs chronic duration formated value' do
+ subject.send("#{source_field}=", 120)
- expect(subject.send(source_field)).to eq(600)
- end
+ expect(subject.send(virtual_field)).to eq('2m')
+ end
+end
+
+shared_examples 'ChronicDurationAttribute writer' do
+ it 'contains dynamically created writer method' do
+ expect(subject.class).to be_public_method_defined("#{virtual_field}=")
+ end
- it 'outputs chronic duration formated value' do
- subject.send("#{source_field}=", 120)
+ it 'parses chronic duration input' do
+ subject.send("#{virtual_field}=", "10m")
- expect(subject.send(virtual_field)).to eq('2m')
- end
+ expect(subject.send(source_field)).to eq(600)
end
end
describe 'ChronicDurationAttribute' do
- let(:source_field) { :maximum_job_timeout }
- let(:virtual_field) { :maximum_job_timeout_user_readable }
- subject { Ci::Runner.new }
+ let(:source_field) {:maximum_job_timeout}
+ let(:virtual_field) {:maximum_job_timeout_user_readable}
+ subject {Ci::Runner.new}
+
+ it_behaves_like 'ChronicDurationAttribute reader'
+ it_behaves_like 'ChronicDurationAttribute writer'
+end
+
+describe 'ChronicDurationAttribute - reader' do
+ let(:source_field) {:used_timeout}
+ let(:virtual_field) {:used_timeout_user_readable}
+ subject {Ci::Build.new}
+
+ it "doesn't contain dynamically created writer method" do
+ expect(subject.class).not_to be_public_method_defined("#{virtual_field}=")
+ end
- it_behaves_like 'ChronicDurationAttribute'
+ it_behaves_like 'ChronicDurationAttribute reader'
end
diff --git a/spec/services/ci/retry_build_service_spec.rb b/spec/services/ci/retry_build_service_spec.rb
index b86a3d72bb4..e425e80e51e 100644
--- a/spec/services/ci/retry_build_service_spec.rb
+++ b/spec/services/ci/retry_build_service_spec.rb
@@ -29,7 +29,8 @@ describe Ci::RetryBuildService do
commit_id deployments erased_by_id last_deployment project_id
runner_id tag_taggings taggings tags trigger_request_id
user_id auto_canceled_by_id retried failure_reason
- artifacts_file_store artifacts_metadata_store].freeze
+ artifacts_file_store artifacts_metadata_store
+ used_timeout timeout_source].freeze
shared_examples 'build duplication' do
let(:another_pipeline) { create(:ci_empty_pipeline, project: project) }