diff options
author | Matija Čupić <matteeyah@gmail.com> | 2018-01-15 17:58:56 +0100 |
---|---|---|
committer | Matija Čupić <matteeyah@gmail.com> | 2018-01-15 17:58:56 +0100 |
commit | a4d7f155bf2adeb6e9b1850905d414ddb48c9276 (patch) | |
tree | fceb02555a95a3d8da47f9e5f423b290528a76ba /spec/requests | |
parent | 87cc03736ccaa91db51e171883ef2e2a05a74360 (diff) | |
download | gitlab-ce-a4d7f155bf2adeb6e9b1850905d414ddb48c9276.tar.gz |
Extend N+1 Builds and Jobs API specs
Diffstat (limited to 'spec/requests')
-rw-r--r-- | spec/requests/api/jobs_spec.rb | 13 | ||||
-rw-r--r-- | spec/requests/api/v3/builds_spec.rb | 13 |
2 files changed, 24 insertions, 2 deletions
diff --git a/spec/requests/api/jobs_spec.rb b/spec/requests/api/jobs_spec.rb index 5def049a669..5c955b8b856 100644 --- a/spec/requests/api/jobs_spec.rb +++ b/spec/requests/api/jobs_spec.rb @@ -54,8 +54,19 @@ describe API::Jobs do end it 'avoids N+1 queries', skip_before_request: true do + first_build = create(:ci_build, :artifacts, pipeline: pipeline) + first_build.runner = create(:ci_runner) + first_build.user = create(:user) + first_build.save + control_count = ActiveRecord::QueryRecorder.new { go }.count - create_list(:ci_build, 5, pipeline: pipeline) + + second_pipeline = create(:ci_empty_pipeline, project: project, sha: project.commit.id, ref: project.default_branch) + second_build = create(:ci_build, :artifacts, pipeline: second_pipeline) + second_build.runner = create(:ci_runner) + second_build.user = create(:user) + second_build.save + expect { go }.not_to exceed_query_limit(control_count) end diff --git a/spec/requests/api/v3/builds_spec.rb b/spec/requests/api/v3/builds_spec.rb index 304d5c3a42f..cdbc5692e19 100644 --- a/spec/requests/api/v3/builds_spec.rb +++ b/spec/requests/api/v3/builds_spec.rb @@ -43,8 +43,19 @@ describe API::V3::Builds do end it 'avoids N+1 queries', skip_before_request: true do + first_build = create(:ci_build, :artifacts, pipeline: pipeline) + first_build.runner = create(:ci_runner) + first_build.user = create(:user) + first_build.save + control_count = ActiveRecord::QueryRecorder.new { go }.count - create_list(:ci_build, 5, pipeline: pipeline) + + second_pipeline = create(:ci_empty_pipeline, project: project, sha: project.commit.id, ref: project.default_branch) + second_build = create(:ci_build, :artifacts, pipeline: second_pipeline) + second_build.runner = create(:ci_runner) + second_build.user = create(:user) + second_build.save + expect { go }.not_to exceed_query_limit(control_count) end |