diff options
author | Kamil TrzciĆski <ayufan@ayufan.eu> | 2017-03-24 12:07:02 +0300 |
---|---|---|
committer | Lin Jen-Shin <godfat@godfat.org> | 2017-03-24 18:10:02 +0300 |
commit | 8ba5a367f233bee72f09325cf0857ffbbfcd9e1a (patch) | |
tree | 6e91f2fa32f420f4548243182d6b5e629c58071b /spec | |
parent | 746fb6a517822ed352373efd2a77852e0f9c5f4b (diff) |
Merge branch '22850-404-when-requesting-build-trace' into 'master'
Resolve "404 when requesting build trace"
Closes #22850
See merge request !9759
Diffstat (limited to 'spec')
-rw-r--r-- | spec/controllers/projects/builds_controller_specs.rb | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/spec/controllers/projects/builds_controller_specs.rb b/spec/controllers/projects/builds_controller_specs.rb new file mode 100644 index 00000000000..d501f7b3155 --- /dev/null +++ b/spec/controllers/projects/builds_controller_specs.rb @@ -0,0 +1,47 @@ +require 'spec_helper' + +describe Projects::BuildsController do + include ApiHelpers + + let(:project) { create(:empty_project, :public) } + + describe 'GET trace.json' do + let(:pipeline) { create(:ci_pipeline, project: project) } + let(:build) { create(:ci_build, pipeline: pipeline) } + let(:user) { create(:user) } + + context 'when user is logged in as developer' do + before do + project.add_developer(user) + sign_in(user) + get_trace + end + + it 'traces build log' do + expect(response).to have_http_status(:ok) + expect(json_response['id']).to eq build.id + expect(json_response['status']).to eq build.status + end + end + + context 'when user is logged in as non member' do + before do + sign_in(user) + get_trace + end + + it 'traces build log' do + expect(response).to have_http_status(:ok) + expect(json_response['id']).to eq build.id + expect(json_response['status']).to eq build.status + end + end + + def get_trace + get :trace, namespace_id: project.namespace, + project_id: project, + id: build.id, + format: :json + end + end +end |