mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-11 21:56:19 +10:00
Add specs for build details/traces features in builds API
This commit is contained in:
@@ -30,6 +30,7 @@ FactoryGirl.define do
|
||||
name 'test'
|
||||
ref 'master'
|
||||
tag false
|
||||
created_at 'Di 29. Okt 09:50:00 CET 2013'
|
||||
started_at 'Di 29. Okt 09:51:28 CET 2013'
|
||||
finished_at 'Di 29. Okt 09:53:28 CET 2013'
|
||||
commands 'ls -a'
|
||||
@@ -54,5 +55,10 @@ FactoryGirl.define do
|
||||
factory :ci_build_tag do
|
||||
tag true
|
||||
end
|
||||
|
||||
factory :ci_build_with_trace do
|
||||
id 999
|
||||
trace 'BUILD TRACE'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -8,6 +8,9 @@ describe API::API, api: true do
|
||||
let!(:project) { create(:project, creator_id: user.id) }
|
||||
let!(:master) { create(:project_member, user: user, project: project, access_level: ProjectMember::MASTER) }
|
||||
let!(:guest) { create(:project_member, user: user2, project: project, access_level: ProjectMember::GUEST) }
|
||||
let(:commit) { create(:ci_commit, project: project)}
|
||||
let(:build) { create(:ci_build, commit: commit) }
|
||||
let(:build_with_trace) { create(:ci_build_with_trace, commit: commit) }
|
||||
|
||||
describe 'GET /projects/:id/builds ' do
|
||||
context 'authorized user' do
|
||||
@@ -32,7 +35,7 @@ describe API::API, api: true do
|
||||
describe 'GET /projects/:id/builds/commit/:sha' do
|
||||
context 'authorized user' do
|
||||
it 'should return project builds for specific commit' do
|
||||
project.ensure_ci_commit(project.repository.commit.sha)
|
||||
project.ensure_ci_commit(commit.sha)
|
||||
get api("/projects/#{project.id}/builds/commit/#{project.ci_commits.first.sha}", user)
|
||||
|
||||
expect(response.status).to eq(200)
|
||||
@@ -42,11 +45,44 @@ describe API::API, api: true do
|
||||
|
||||
context 'unauthorized user' do
|
||||
it 'should not return project builds' do
|
||||
project.ensure_ci_commit(project.repository.commit.sha)
|
||||
project.ensure_ci_commit(commit.sha)
|
||||
get api("/projects/#{project.id}/builds/commit/#{project.ci_commits.first.sha}")
|
||||
|
||||
expect(response.status).to eq(401)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'GET /projects/:id/builds/:build_id(/trace)?' do
|
||||
context 'authorized user' do
|
||||
it 'should return specific build data' do
|
||||
get api("/projects/#{project.id}/builds/#{build.id}", user)
|
||||
|
||||
expect(response.status).to eq(200)
|
||||
expect(json_response['name']).to eq('test')
|
||||
expect(json_response['commit']['sha']).to eq(commit.sha)
|
||||
end
|
||||
|
||||
it 'should return specific build trace' do
|
||||
get api("/projects/#{project.id}/builds/#{build_with_trace.id}/trace", user)
|
||||
|
||||
expect(response.status).to eq(200)
|
||||
expect(response.body).to eq(build_with_trace.trace)
|
||||
end
|
||||
end
|
||||
|
||||
context 'unauthorized user' do
|
||||
it 'should not return specific build data' do
|
||||
get api("/projects/#{project.id}/builds/#{build.id}")
|
||||
|
||||
expect(response.status).to eq(401)
|
||||
end
|
||||
|
||||
it 'should not return specific build trace' do
|
||||
get api("/projects/#{project.id}/builds/#{build_with_trace.id}/trace")
|
||||
|
||||
expect(response.status).to eq(401)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user