summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzegorz@gitlab.com>2016-11-29 17:46:30 +0000
committerGrzegorz Bizon <grzegorz@gitlab.com>2016-11-29 17:46:30 +0000
commit04229eceea2eccf47c5aabc69f52ad9efd16da6f (patch)
tree42463a23e82754cce547ad15f228d72ea2222440
parent25e6e2fc73c476bdef8465975165894ac01da991 (diff)
parent651eccda62218532b24ff75384c943256bf70224 (diff)
downloadgitlab-ce-04229eceea2eccf47c5aabc69f52ad9efd16da6f.tar.gz
Merge branch 'feature/expose-timestimes-in-build-entity' into 'master'
Expose timestamps in build entity ## What does this MR do? This MR exposes timestamps for build entity that is being used by serializers in `app/serializers`. ## Does this MR meet the acceptance criteria? - Tests - [x] Added for this feature/bug - [ ] All builds are passing ## What are the relevant issue numbers? See https://gitlab.com/gitlab-org/gitlab-ce/issues/24844#note_19145053 See merge request !7818
-rw-r--r--app/serializers/build_entity.rb3
-rw-r--r--spec/serializers/build_entity_spec.rb25
2 files changed, 19 insertions, 9 deletions
diff --git a/app/serializers/build_entity.rb b/app/serializers/build_entity.rb
index cf1c418a88e..b5384e6462b 100644
--- a/app/serializers/build_entity.rb
+++ b/app/serializers/build_entity.rb
@@ -16,6 +16,9 @@ class BuildEntity < Grape::Entity
path_to(:play_namespace_project_build, build)
end
+ expose :created_at
+ expose :updated_at
+
private
def path_to(route, build)
diff --git a/spec/serializers/build_entity_spec.rb b/spec/serializers/build_entity_spec.rb
index 6dcfaec259e..60c9642ee2c 100644
--- a/spec/serializers/build_entity_spec.rb
+++ b/spec/serializers/build_entity_spec.rb
@@ -1,23 +1,30 @@
require 'spec_helper'
describe BuildEntity do
+ let(:build) { create(:ci_build) }
+
let(:entity) do
described_class.new(build, request: double)
end
subject { entity.as_json }
- context 'when build is a regular job' do
- let(:build) { create(:ci_build) }
+ it 'contains paths to build page and retry action' do
+ expect(subject).to include(:build_path, :retry_path)
+ end
- it 'contains paths to build page and retry action' do
- expect(subject).to include(:build_path, :retry_path)
- expect(subject).not_to include(:play_path)
- end
+ it 'does not contain sensitive information' do
+ expect(subject).not_to include(/token/)
+ expect(subject).not_to include(/variables/)
+ end
+
+ it 'contains timestamps' do
+ expect(subject).to include(:created_at, :updated_at)
+ end
- it 'does not contain sensitive information' do
- expect(subject).not_to include(/token/)
- expect(subject).not_to include(/variables/)
+ context 'when build is a regular job' do
+ it 'does not contain path to play action' do
+ expect(subject).not_to include(:play_path)
end
end