summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2016-07-19 19:24:59 +0200
committerKamil Trzcinski <ayufan@ayufan.eu>2016-07-19 19:38:18 +0200
commit719b0f11aaca424d4a5e4614008108af530ec1da (patch)
treeade566943826f44a90bb39f30de353f9dcb639e2
parentdc6afd575fdcceb51e44565e68f4db9bf3e19124 (diff)
downloadgitlab-ce-artifacts-from-ref-and-build-name-api-kamil.tar.gz
Make minimal changes to specsartifacts-from-ref-and-build-name-api-kamil
-rw-r--r--spec/requests/api/builds_spec.rb73
1 files changed, 17 insertions, 56 deletions
diff --git a/spec/requests/api/builds_spec.rb b/spec/requests/api/builds_spec.rb
index 2782d7e0490..669fb1663e5 100644
--- a/spec/requests/api/builds_spec.rb
+++ b/spec/requests/api/builds_spec.rb
@@ -6,21 +6,16 @@ describe API::API, api: true do
let(:user) { create(:user) }
let(:api_user) { user }
let(:user2) { create(:user) }
- let(:project) { create(:project, creator_id: user.id) }
- let(:developer) { create(:project_member, :developer, user: user, project: project) }
- let(:reporter) { create(:project_member, :reporter, user: user2, project: project) }
- let(:pipeline) { create(:ci_pipeline, project: project, sha: project.commit.id) }
- let(:build) { create(:ci_build, pipeline: pipeline) }
+ let!(:project) { create(:project, creator_id: user.id) }
+ let!(:developer) { create(:project_member, :developer, user: user, project: project) }
+ let!(:reporter) { create(:project_member, :reporter, user: user2, project: project) }
+ let!(:pipeline) { create(:ci_pipeline, project: project, sha: project.commit.id, ref: project.default_branch) }
+ let!(:build) { create(:ci_build, pipeline: pipeline) }
describe 'GET /projects/:id/builds ' do
let(:query) { '' }
- before do
- developer
- build
-
- get api("/projects/#{project.id}/builds?#{query}", api_user)
- end
+ before { get api("/projects/#{project.id}/builds?#{query}", api_user) }
context 'authorized user' do
it 'should return project builds' do
@@ -82,9 +77,9 @@ describe API::API, api: true do
context 'when user is authorized' do
context 'when pipeline has builds' do
before do
- developer
- build
+ create(:ci_pipeline, project: project, sha: project.commit.id)
create(:ci_build, pipeline: pipeline)
+ create(:ci_build)
get api("/projects/#{project.id}/repository/commits/#{project.commit.id}/builds", api_user)
end
@@ -98,8 +93,6 @@ describe API::API, api: true do
context 'when pipeline has no builds' do
before do
- developer
-
branch_head = project.commit('feature').id
get api("/projects/#{project.id}/repository/commits/#{branch_head}/builds", api_user)
end
@@ -114,7 +107,8 @@ describe API::API, api: true do
context 'when user is not authorized' do
before do
- build
+ create(:ci_pipeline, project: project, sha: project.commit.id)
+ create(:ci_build, pipeline: pipeline)
get api("/projects/#{project.id}/repository/commits/#{project.commit.id}/builds", nil)
end
@@ -128,11 +122,7 @@ describe API::API, api: true do
end
describe 'GET /projects/:id/builds/:build_id' do
- before do
- developer
-
- get api("/projects/#{project.id}/builds/#{build.id}", api_user)
- end
+ before { get api("/projects/#{project.id}/builds/#{build.id}", api_user) }
context 'authorized user' do
it 'should return specific build data' do
@@ -151,11 +141,7 @@ describe API::API, api: true do
end
describe 'GET /projects/:id/builds/:build_id/artifacts' do
- before do
- developer
-
- get api("/projects/#{project.id}/builds/#{build.id}/artifacts", api_user)
- end
+ before { get api("/projects/#{project.id}/builds/#{build.id}/artifacts", api_user) }
context 'build with artifacts' do
let(:build) { create(:ci_build, :artifacts, pipeline: pipeline) }
@@ -187,26 +173,15 @@ describe API::API, api: true do
end
describe 'GET /projects/:id/artifacts/:ref_name/download?job=name' do
- let(:user) { create(:user) }
- let(:project) { create(:project) }
- let(:pipeline) do
- create(:ci_pipeline,
- project: project,
- sha: project.commit.sha,
- ref: project.default_branch)
- end
+ let(:api_user) { user2 } # is a reporter of the project
let(:build) { create(:ci_build, :success, :artifacts, pipeline: pipeline) }
- before do
- project.team << [user, :developer]
- end
-
def path_for_ref(ref = pipeline.ref, job = build.name)
- api("/projects/#{project.id}/builds/artifacts/#{ref}/download?job=#{job}", user)
+ api("/projects/#{project.id}/builds/artifacts/#{ref}/download?job=#{job}", api_user)
end
context 'when unauthorized' do
- let(:user) { nil }
+ let(:api_user) { nil }
before do
get path_for_ref
@@ -334,12 +309,7 @@ describe API::API, api: true do
end
describe 'POST /projects/:id/builds/:build_id/cancel' do
- before do
- developer
- reporter
-
- post api("/projects/#{project.id}/builds/#{build.id}/cancel", api_user)
- end
+ before { post api("/projects/#{project.id}/builds/#{build.id}/cancel", api_user) }
context 'authorized user' do
context 'user with :update_build persmission' do
@@ -370,12 +340,7 @@ describe API::API, api: true do
describe 'POST /projects/:id/builds/:build_id/retry' do
let(:build) { create(:ci_build, :canceled, pipeline: pipeline) }
- before do
- developer
- reporter
-
- post api("/projects/#{project.id}/builds/#{build.id}/retry", api_user)
- end
+ before { post api("/projects/#{project.id}/builds/#{build.id}/retry", api_user) }
context 'authorized user' do
context 'user with :update_build permission' do
@@ -406,8 +371,6 @@ describe API::API, api: true do
describe 'POST /projects/:id/builds/:build_id/erase' do
before do
- developer
-
post api("/projects/#{project.id}/builds/#{build.id}/erase", user)
end
@@ -438,8 +401,6 @@ describe API::API, api: true do
describe 'POST /projects/:id/builds/:build_id/artifacts/keep' do
before do
- developer
-
post api("/projects/#{project.id}/builds/#{build.id}/artifacts/keep", user)
end