summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomasz Maczukin <tomasz@maczukin.pl>2018-03-20 23:21:17 +0100
committerTomasz Maczukin <tomasz@maczukin.pl>2018-03-28 13:58:34 +0200
commitafcc57abfdcb11001803655f938187cbdc96b67c (patch)
treeeccf64ae3636c0e7c2d7ea292e97ee51943d5adf
parent4c3482345a3bcc9ac5d29f5dbc55c966ca5a0c72 (diff)
downloadgitlab-ce-afcc57abfdcb11001803655f938187cbdc96b67c.tar.gz
Rename metadata relation and methods
-rw-r--r--app/models/ci/build.rb10
-rw-r--r--app/serializers/build_details_entity.rb4
-rw-r--r--spec/models/ci/build_spec.rb4
-rw-r--r--spec/services/ci/retry_build_service_spec.rb2
4 files changed, 11 insertions, 9 deletions
diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb
index 405c89d0103..0b3c6ac4fee 100644
--- a/app/models/ci/build.rb
+++ b/app/models/ci/build.rb
@@ -24,7 +24,7 @@ module Ci
has_one :job_artifacts_metadata, -> { where(file_type: Ci::JobArtifact.file_types[:metadata]) }, class_name: 'Ci::JobArtifact', inverse_of: :job, foreign_key: :job_id
has_one :job_artifacts_trace, -> { where(file_type: Ci::JobArtifact.file_types[:trace]) }, class_name: 'Ci::JobArtifact', inverse_of: :job, foreign_key: :job_id
- has_one :build_metadata, class_name: 'Ci::BuildMetadata'
+ has_one :metadata, class_name: 'Ci::BuildMetadata'
# The "environment" field for builds is a String, and is the unexpanded name
def persisted_environment
@@ -157,12 +157,12 @@ module Ci
end
before_transition pending: :running do |build|
- build.metadata.save_timeout_state!
+ build.ensure_metadata.save_timeout_state!
end
end
- def metadata
- self.build_metadata ||= Ci::BuildMetadata.new
+ def ensure_metadata
+ metadata || build_metadata
end
def detailed_status(current_user)
@@ -242,7 +242,7 @@ module Ci
end
def timeout
- metadata.timeout
+ ensure_metadata.timeout
end
def triggered_by?(current_user)
diff --git a/app/serializers/build_details_entity.rb b/app/serializers/build_details_entity.rb
index ca4480fe2b1..99ca0bd158b 100644
--- a/app/serializers/build_details_entity.rb
+++ b/app/serializers/build_details_entity.rb
@@ -5,7 +5,9 @@ class BuildDetailsEntity < JobEntity
expose :runner, using: RunnerEntity
expose :pipeline, using: PipelineEntity
- expose :metadata, using: BuildMetadataEntity
+ expose :metadata, using: BuildMetadataEntity do |build|
+ build.ensure_metadata
+ end
expose :erased_by, if: -> (*) { build.erased? }, using: UserEntity
expose :erase_path, if: -> (*) { build.erasable? && can?(current_user, :erase_build, build) } do |build|
diff --git a/spec/models/ci/build_spec.rb b/spec/models/ci/build_spec.rb
index 6affd05d8aa..b209d53ae08 100644
--- a/spec/models/ci/build_spec.rb
+++ b/spec/models/ci/build_spec.rb
@@ -2052,11 +2052,11 @@ describe Ci::Build do
shared_examples 'saves data on transition' do
it 'saves timeout' do
- expect { job.run! }.to change { job.reload.metadata.timeout }.from(nil).to(expected_timeout)
+ expect { job.run! }.to change { job.reload.ensure_metadata.timeout }.from(nil).to(expected_timeout)
end
it 'saves timeout_source' do
- expect { job.run! }.to change { job.reload.metadata.timeout_source }.from('unknown_timeout_source').to(expected_timeout_source)
+ expect { job.run! }.to change { job.reload.ensure_metadata.timeout_source }.from('unknown_timeout_source').to(expected_timeout_source)
end
end
diff --git a/spec/services/ci/retry_build_service_spec.rb b/spec/services/ci/retry_build_service_spec.rb
index 415302e84f2..8de0bdf92e2 100644
--- a/spec/services/ci/retry_build_service_spec.rb
+++ b/spec/services/ci/retry_build_service_spec.rb
@@ -30,7 +30,7 @@ describe Ci::RetryBuildService do
runner_id tag_taggings taggings tags trigger_request_id
user_id auto_canceled_by_id retried failure_reason
artifacts_file_store artifacts_metadata_store
- build_metadata].freeze
+ metadata].freeze
shared_examples 'build duplication' do
let(:another_pipeline) { create(:ci_empty_pipeline, project: project) }