diff options
author | Jan Provaznik <jprovaznik@gitlab.com> | 2018-05-15 08:18:22 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2018-05-15 08:18:22 +0000 |
commit | 21588f180c394cf189b19693413dce932ff67141 (patch) | |
tree | 2328f3fbd6aaa92ec80eb3a778409d282cf72274 /spec/serializers | |
parent | e8442595746fe529305c70a07c1066bec52ccd31 (diff) | |
download | gitlab-ce-21588f180c394cf189b19693413dce932ff67141.tar.gz |
Enable update_(build|pipeline) for maintainers
Diffstat (limited to 'spec/serializers')
-rw-r--r-- | spec/serializers/pipeline_serializer_spec.rb | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/spec/serializers/pipeline_serializer_spec.rb b/spec/serializers/pipeline_serializer_spec.rb index e88e86c2998..b741308e2c5 100644 --- a/spec/serializers/pipeline_serializer_spec.rb +++ b/spec/serializers/pipeline_serializer_spec.rb @@ -114,7 +114,9 @@ describe PipelineSerializer do Gitlab::GitalyClient.reset_counts end - shared_examples 'no N+1 queries' do + context 'with the same ref' do + let(:ref) { 'feature' } + it 'verifies number of queries', :request_store do recorded = ActiveRecord::QueryRecorder.new { subject } @@ -123,12 +125,6 @@ describe PipelineSerializer do end end - context 'with the same ref' do - let(:ref) { 'feature' } - - it_behaves_like 'no N+1 queries' - end - context 'with different refs' do def ref @sequence ||= 0 @@ -136,7 +132,16 @@ describe PipelineSerializer do "feature-#{@sequence}" end - it_behaves_like 'no N+1 queries' + it 'verifies number of queries', :request_store do + recorded = ActiveRecord::QueryRecorder.new { subject } + + # For each ref there is a permission check if maintainer can update + # pipeline. With the same ref this check is cached but if refs are + # different then there is an extra query per ref + # https://gitlab.com/gitlab-org/gitlab-ce/issues/46368 + expect(recorded.count).to be_within(1).of(51) + expect(recorded.cached_count).to eq(0) + end end def create_pipeline(status) |