diff options
author | Grzegorz Bizon <grzegorz@gitlab.com> | 2016-11-29 17:46:30 +0000 |
---|---|---|
committer | Grzegorz Bizon <grzegorz@gitlab.com> | 2016-11-29 17:46:30 +0000 |
commit | 04229eceea2eccf47c5aabc69f52ad9efd16da6f (patch) | |
tree | 42463a23e82754cce547ad15f228d72ea2222440 | |
parent | 25e6e2fc73c476bdef8465975165894ac01da991 (diff) | |
parent | 651eccda62218532b24ff75384c943256bf70224 (diff) | |
download | gitlab-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.rb | 3 | ||||
-rw-r--r-- | spec/serializers/build_entity_spec.rb | 25 |
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 |