Commit b1b354b0f86daae9a2cf19869dd3e6cb2d9ffd5e
1 parent
67ccc8b5
Exists in
master
and in
4 other branches
remove trailing spaces
Showing
11 changed files
with
173 additions
and
173 deletions
Show diff stats
app/contexts/issues_bulk_update_context.rb
@@ -7,7 +7,7 @@ class IssuesBulkUpdateContext < BaseContext | @@ -7,7 +7,7 @@ class IssuesBulkUpdateContext < BaseContext | ||
7 | assignee_id = update_data[:assignee_id] | 7 | assignee_id = update_data[:assignee_id] |
8 | status = update_data[:status] | 8 | status = update_data[:status] |
9 | 9 | ||
10 | - opts = {} | 10 | + opts = {} |
11 | opts[:milestone_id] = milestone_id if milestone_id.present? | 11 | opts[:milestone_id] = milestone_id if milestone_id.present? |
12 | opts[:assignee_id] = assignee_id if assignee_id.present? | 12 | opts[:assignee_id] = assignee_id if assignee_id.present? |
13 | opts[:closed] = (status == "closed") if status.present? | 13 | opts[:closed] = (status == "closed") if status.present? |
@@ -15,7 +15,7 @@ class IssuesBulkUpdateContext < BaseContext | @@ -15,7 +15,7 @@ class IssuesBulkUpdateContext < BaseContext | ||
15 | issues = Issue.where(id: issues_ids).all | 15 | issues = Issue.where(id: issues_ids).all |
16 | issues = issues.select { |issue| can?(current_user, :modify_issue, issue) } | 16 | issues = issues.select { |issue| can?(current_user, :modify_issue, issue) } |
17 | issues.each { |issue| issue.update_attributes(opts) } | 17 | issues.each { |issue| issue.update_attributes(opts) } |
18 | - { | 18 | + { |
19 | count: issues.count, | 19 | count: issues.count, |
20 | success: !issues.count.zero? | 20 | success: !issues.count.zero? |
21 | } | 21 | } |
app/models/milestone.rb
@@ -72,9 +72,9 @@ class Milestone < ActiveRecord::Base | @@ -72,9 +72,9 @@ class Milestone < ActiveRecord::Base | ||
72 | if due_date.past? | 72 | if due_date.past? |
73 | "expired at #{due_date.stamp("Aug 21, 2011")}" | 73 | "expired at #{due_date.stamp("Aug 21, 2011")}" |
74 | else | 74 | else |
75 | - "expires at #{due_date.stamp("Aug 21, 2011")}" | 75 | + "expires at #{due_date.stamp("Aug 21, 2011")}" |
76 | end | 76 | end |
77 | - end | 77 | + end |
78 | end | 78 | end |
79 | 79 | ||
80 | def can_be_closed? | 80 | def can_be_closed? |
lib/api.rb
@@ -17,13 +17,13 @@ module Gitlab | @@ -17,13 +17,13 @@ module Gitlab | ||
17 | message << exception.annoted_source_code.to_s if exception.respond_to?(:annoted_source_code) | 17 | message << exception.annoted_source_code.to_s if exception.respond_to?(:annoted_source_code) |
18 | message << " " << trace.join("\n ") | 18 | message << " " << trace.join("\n ") |
19 | 19 | ||
20 | - API.logger.add Logger::FATAL, message | 20 | + API.logger.add Logger::FATAL, message |
21 | rack_response({'message' => '500 Internal Server Error'}, 500) | 21 | rack_response({'message' => '500 Internal Server Error'}, 500) |
22 | end | 22 | end |
23 | 23 | ||
24 | format :json | 24 | format :json |
25 | helpers APIHelpers | 25 | helpers APIHelpers |
26 | - | 26 | + |
27 | mount Groups | 27 | mount Groups |
28 | mount Users | 28 | mount Users |
29 | mount Projects | 29 | mount Projects |
lib/api/groups.rb
lib/api/system_hooks.rb
1 | -module Gitlab | ||
2 | - # Hooks API | ||
3 | - class SystemHooks < Grape::API | ||
4 | - before { | ||
5 | - authenticate! | ||
6 | - authenticated_as_admin! | ||
7 | - } | ||
8 | - | ||
9 | - resource :hooks do | ||
10 | - # Get the list of system hooks | ||
11 | - # | ||
12 | - # Example Request: | ||
13 | - # GET /hooks | ||
14 | - get do | ||
15 | - @hooks = SystemHook.all | ||
16 | - present @hooks, with: Entities::Hook | ||
17 | - end | ||
18 | - | ||
19 | - # Create new system hook | ||
20 | - # | ||
21 | - # Parameters: | ||
22 | - # url (required) - url for system hook | ||
23 | - # Example Request | ||
24 | - # POST /hooks | ||
25 | - post do | ||
26 | - attrs = attributes_for_keys [:url] | ||
27 | - required_attributes! [:url] | ||
28 | - @hook = SystemHook.new attrs | ||
29 | - if @hook.save | ||
30 | - present @hook, with: Entities::Hook | ||
31 | - else | ||
32 | - not_found! | ||
33 | - end | ||
34 | - end | ||
35 | - | ||
36 | - # Test a hook | ||
37 | - # | ||
38 | - # Example Request | ||
39 | - # GET /hooks/:id | ||
40 | - get ":id" do | ||
41 | - @hook = SystemHook.find(params[:id]) | ||
42 | - data = { | ||
43 | - event_name: "project_create", | ||
44 | - name: "Ruby", | ||
45 | - path: "ruby", | ||
46 | - project_id: 1, | ||
47 | - owner_name: "Someone", | ||
48 | - owner_email: "example@gitlabhq.com" | ||
49 | - } | ||
50 | - @hook.execute(data) | ||
51 | - data | ||
52 | - end | ||
53 | - | ||
54 | - # Delete a hook. This is an idempotent function. | ||
55 | - # | ||
56 | - # Parameters: | ||
57 | - # id (required) - ID of the hook | ||
58 | - # Example Request: | ||
59 | - # DELETE /hooks/:id | ||
60 | - delete ":id" do | ||
61 | - begin | ||
62 | - @hook = SystemHook.find(params[:id]) | ||
63 | - @hook.destroy | ||
64 | - rescue | ||
65 | - # SystemHook raises an Error if no hook with id found | ||
66 | - end | ||
67 | - end | ||
68 | - end | ||
69 | - end | ||
70 | -end | ||
71 | \ No newline at end of file | 1 | \ No newline at end of file |
2 | +module Gitlab | ||
3 | + # Hooks API | ||
4 | + class SystemHooks < Grape::API | ||
5 | + before { | ||
6 | + authenticate! | ||
7 | + authenticated_as_admin! | ||
8 | + } | ||
9 | + | ||
10 | + resource :hooks do | ||
11 | + # Get the list of system hooks | ||
12 | + # | ||
13 | + # Example Request: | ||
14 | + # GET /hooks | ||
15 | + get do | ||
16 | + @hooks = SystemHook.all | ||
17 | + present @hooks, with: Entities::Hook | ||
18 | + end | ||
19 | + | ||
20 | + # Create new system hook | ||
21 | + # | ||
22 | + # Parameters: | ||
23 | + # url (required) - url for system hook | ||
24 | + # Example Request | ||
25 | + # POST /hooks | ||
26 | + post do | ||
27 | + attrs = attributes_for_keys [:url] | ||
28 | + required_attributes! [:url] | ||
29 | + @hook = SystemHook.new attrs | ||
30 | + if @hook.save | ||
31 | + present @hook, with: Entities::Hook | ||
32 | + else | ||
33 | + not_found! | ||
34 | + end | ||
35 | + end | ||
36 | + | ||
37 | + # Test a hook | ||
38 | + # | ||
39 | + # Example Request | ||
40 | + # GET /hooks/:id | ||
41 | + get ":id" do | ||
42 | + @hook = SystemHook.find(params[:id]) | ||
43 | + data = { | ||
44 | + event_name: "project_create", | ||
45 | + name: "Ruby", | ||
46 | + path: "ruby", | ||
47 | + project_id: 1, | ||
48 | + owner_name: "Someone", | ||
49 | + owner_email: "example@gitlabhq.com" | ||
50 | + } | ||
51 | + @hook.execute(data) | ||
52 | + data | ||
53 | + end | ||
54 | + | ||
55 | + # Delete a hook. This is an idempotent function. | ||
56 | + # | ||
57 | + # Parameters: | ||
58 | + # id (required) - ID of the hook | ||
59 | + # Example Request: | ||
60 | + # DELETE /hooks/:id | ||
61 | + delete ":id" do | ||
62 | + begin | ||
63 | + @hook = SystemHook.find(params[:id]) | ||
64 | + @hook.destroy | ||
65 | + rescue | ||
66 | + # SystemHook raises an Error if no hook with id found | ||
67 | + end | ||
68 | + end | ||
69 | + end | ||
70 | + end | ||
71 | +end |
lib/gitlab/inline_diff.rb
@@ -4,7 +4,7 @@ module Gitlab | @@ -4,7 +4,7 @@ module Gitlab | ||
4 | 4 | ||
5 | START = "" | 5 | START = "" |
6 | FINISH = "" | 6 | FINISH = "" |
7 | - | 7 | + |
8 | def processing diff_arr | 8 | def processing diff_arr |
9 | indexes = _indexes_of_changed_lines diff_arr | 9 | indexes = _indexes_of_changed_lines diff_arr |
10 | 10 | ||
@@ -60,7 +60,7 @@ module Gitlab | @@ -60,7 +60,7 @@ module Gitlab | ||
60 | line.gsub!(FINISH, "</span>") | 60 | line.gsub!(FINISH, "</span>") |
61 | line | 61 | line |
62 | end | 62 | end |
63 | - | 63 | + |
64 | end | 64 | end |
65 | 65 | ||
66 | end | 66 | end |
lib/tasks/gitlab/bulk_add_permission.rake
@@ -21,4 +21,4 @@ namespace :gitlab do | @@ -21,4 +21,4 @@ namespace :gitlab do | ||
21 | UsersProject.add_users_into_projects(project_ids, Array.wrap(user.id), UsersProject::DEVELOPER) | 21 | UsersProject.add_users_into_projects(project_ids, Array.wrap(user.id), UsersProject::DEVELOPER) |
22 | end | 22 | end |
23 | end | 23 | end |
24 | -end | ||
25 | \ No newline at end of file | 24 | \ No newline at end of file |
25 | +end |
spec/models/merge_request_spec.rb
@@ -36,7 +36,7 @@ describe MergeRequest do | @@ -36,7 +36,7 @@ describe MergeRequest do | ||
36 | it { should respond_to(:can_be_merged?) } | 36 | it { should respond_to(:can_be_merged?) } |
37 | it { should respond_to(:cannot_be_merged?) } | 37 | it { should respond_to(:cannot_be_merged?) } |
38 | end | 38 | end |
39 | - | 39 | + |
40 | describe 'modules' do | 40 | describe 'modules' do |
41 | it { should include_module(Issuable) } | 41 | it { should include_module(Issuable) } |
42 | end | 42 | end |
spec/models/milestone_spec.rb
@@ -134,7 +134,7 @@ describe Milestone do | @@ -134,7 +134,7 @@ describe Milestone do | ||
134 | 134 | ||
135 | it 'should be false if milestone active and not all nestied issues closed' do | 135 | it 'should be false if milestone active and not all nestied issues closed' do |
136 | issue.milestone = milestone | 136 | issue.milestone = milestone |
137 | - issue.save | 137 | + issue.save |
138 | 138 | ||
139 | milestone.can_be_closed?.should be_false | 139 | milestone.can_be_closed?.should be_false |
140 | end | 140 | end |
spec/requests/api/groups_spec.rb
@@ -26,7 +26,7 @@ describe Gitlab::API do | @@ -26,7 +26,7 @@ describe Gitlab::API do | ||
26 | json_response.first['name'].should == group1.name | 26 | json_response.first['name'].should == group1.name |
27 | end | 27 | end |
28 | end | 28 | end |
29 | - | 29 | + |
30 | context "when authenticated as admin" do | 30 | context "when authenticated as admin" do |
31 | it "admin: should return an array of all groups" do | 31 | it "admin: should return an array of all groups" do |
32 | get api("/groups", admin) | 32 | get api("/groups", admin) |
@@ -36,7 +36,7 @@ describe Gitlab::API do | @@ -36,7 +36,7 @@ describe Gitlab::API do | ||
36 | end | 36 | end |
37 | end | 37 | end |
38 | end | 38 | end |
39 | - | 39 | + |
40 | describe "GET /groups/:id" do | 40 | describe "GET /groups/:id" do |
41 | context "when authenticated as user" do | 41 | context "when authenticated as user" do |
42 | it "should return one of user1's groups" do | 42 | it "should return one of user1's groups" do |
@@ -44,32 +44,32 @@ describe Gitlab::API do | @@ -44,32 +44,32 @@ describe Gitlab::API do | ||
44 | response.status.should == 200 | 44 | response.status.should == 200 |
45 | json_response['name'] == group1.name | 45 | json_response['name'] == group1.name |
46 | end | 46 | end |
47 | - | 47 | + |
48 | it "should not return a non existing group" do | 48 | it "should not return a non existing group" do |
49 | get api("/groups/1328", user1) | 49 | get api("/groups/1328", user1) |
50 | response.status.should == 404 | 50 | response.status.should == 404 |
51 | end | 51 | end |
52 | - | 52 | + |
53 | it "should not return a group not attached to user1" do | 53 | it "should not return a group not attached to user1" do |
54 | get api("/groups/#{group2.id}", user1) | 54 | get api("/groups/#{group2.id}", user1) |
55 | response.status.should == 404 | 55 | response.status.should == 404 |
56 | end | 56 | end |
57 | end | 57 | end |
58 | - | 58 | + |
59 | context "when authenticated as admin" do | 59 | context "when authenticated as admin" do |
60 | it "should return any existing group" do | 60 | it "should return any existing group" do |
61 | get api("/groups/#{group2.id}", admin) | 61 | get api("/groups/#{group2.id}", admin) |
62 | response.status.should == 200 | 62 | response.status.should == 200 |
63 | json_response['name'] == group2.name | 63 | json_response['name'] == group2.name |
64 | end | 64 | end |
65 | - | 65 | + |
66 | it "should not return a non existing group" do | 66 | it "should not return a non existing group" do |
67 | get api("/groups/1328", admin) | 67 | get api("/groups/1328", admin) |
68 | response.status.should == 404 | 68 | response.status.should == 404 |
69 | end | 69 | end |
70 | end | 70 | end |
71 | end | 71 | end |
72 | - | 72 | + |
73 | describe "POST /groups" do | 73 | describe "POST /groups" do |
74 | context "when authenticated as user" do | 74 | context "when authenticated as user" do |
75 | it "should not create group" do | 75 | it "should not create group" do |
@@ -77,7 +77,7 @@ describe Gitlab::API do | @@ -77,7 +77,7 @@ describe Gitlab::API do | ||
77 | response.status.should == 403 | 77 | response.status.should == 403 |
78 | end | 78 | end |
79 | end | 79 | end |
80 | - | 80 | + |
81 | context "when authenticated as admin" do | 81 | context "when authenticated as admin" do |
82 | it "should create group" do | 82 | it "should create group" do |
83 | post api("/groups", admin), attributes_for(:group) | 83 | post api("/groups", admin), attributes_for(:group) |
@@ -104,8 +104,8 @@ describe Gitlab::API do | @@ -104,8 +104,8 @@ describe Gitlab::API do | ||
104 | describe "POST /groups/:id/projects/:project_id" do | 104 | describe "POST /groups/:id/projects/:project_id" do |
105 | let(:project) { create(:project) } | 105 | let(:project) { create(:project) } |
106 | before(:each) do | 106 | before(:each) do |
107 | - project.stub!(:transfer).and_return(true) | ||
108 | - Project.stub(:find).and_return(project) | 107 | + project.stub!(:transfer).and_return(true) |
108 | + Project.stub(:find).and_return(project) | ||
109 | end | 109 | end |
110 | 110 | ||
111 | 111 |
spec/requests/api/system_hooks_spec.rb
1 | -require 'spec_helper' | ||
2 | - | ||
3 | -describe Gitlab::API do | ||
4 | - include ApiHelpers | ||
5 | - | ||
6 | - let(:user) { create(:user) } | ||
7 | - let(:admin) { create(:admin) } | ||
8 | - let!(:hook) { create(:system_hook, url: "http://example.com") } | ||
9 | - | ||
10 | - before { stub_request(:post, hook.url) } | ||
11 | - | ||
12 | - describe "GET /hooks" do | ||
13 | - context "when no user" do | ||
14 | - it "should return authentication error" do | ||
15 | - get api("/hooks") | ||
16 | - response.status.should == 401 | ||
17 | - end | ||
18 | - end | ||
19 | - | ||
20 | - context "when not an admin" do | ||
21 | - it "should return forbidden error" do | ||
22 | - get api("/hooks", user) | ||
23 | - response.status.should == 403 | ||
24 | - end | ||
25 | - end | ||
26 | - | ||
27 | - context "when authenticated as admin" do | ||
28 | - it "should return an array of hooks" do | ||
29 | - get api("/hooks", admin) | ||
30 | - response.status.should == 200 | ||
31 | - json_response.should be_an Array | ||
32 | - json_response.first['url'].should == hook.url | ||
33 | - end | ||
34 | - end | ||
35 | - end | ||
36 | - | ||
37 | - describe "POST /hooks" do | ||
38 | - it "should create new hook" do | ||
39 | - expect { | ||
40 | - post api("/hooks", admin), url: 'http://example.com' | ||
41 | - }.to change { SystemHook.count }.by(1) | ||
42 | - end | ||
43 | - | ||
44 | - it "should respond with 400 if url not given" do | ||
45 | - post api("/hooks", admin) | ||
46 | - response.status.should == 400 | ||
47 | - end | ||
48 | - | ||
49 | - it "should not create new hook without url" do | ||
50 | - expect { | ||
51 | - post api("/hooks", admin) | ||
52 | - }.to_not change { SystemHook.count } | ||
53 | - end | ||
54 | - end | ||
55 | - | ||
56 | - describe "GET /hooks/:id" do | ||
57 | - it "should return hook by id" do | ||
58 | - get api("/hooks/#{hook.id}", admin) | ||
59 | - response.status.should == 200 | ||
60 | - json_response['event_name'].should == 'project_create' | ||
61 | - end | ||
62 | - | ||
63 | - it "should return 404 on failure" do | ||
64 | - get api("/hooks/404", admin) | ||
65 | - response.status.should == 404 | ||
66 | - end | ||
67 | - end | ||
68 | - | ||
69 | - describe "DELETE /hooks/:id" do | ||
70 | - it "should delete a hook" do | ||
71 | - expect { | ||
72 | - delete api("/hooks/#{hook.id}", admin) | ||
73 | - }.to change { SystemHook.count }.by(-1) | ||
74 | - end | ||
75 | - | ||
76 | - it "should return success if hook id not found" do | ||
77 | - delete api("/hooks/12345", admin) | ||
78 | - response.status.should == 200 | ||
79 | - end | ||
80 | - end | ||
81 | -end | ||
82 | \ No newline at end of file | 1 | \ No newline at end of file |
2 | +require 'spec_helper' | ||
3 | + | ||
4 | +describe Gitlab::API do | ||
5 | + include ApiHelpers | ||
6 | + | ||
7 | + let(:user) { create(:user) } | ||
8 | + let(:admin) { create(:admin) } | ||
9 | + let!(:hook) { create(:system_hook, url: "http://example.com") } | ||
10 | + | ||
11 | + before { stub_request(:post, hook.url) } | ||
12 | + | ||
13 | + describe "GET /hooks" do | ||
14 | + context "when no user" do | ||
15 | + it "should return authentication error" do | ||
16 | + get api("/hooks") | ||
17 | + response.status.should == 401 | ||
18 | + end | ||
19 | + end | ||
20 | + | ||
21 | + context "when not an admin" do | ||
22 | + it "should return forbidden error" do | ||
23 | + get api("/hooks", user) | ||
24 | + response.status.should == 403 | ||
25 | + end | ||
26 | + end | ||
27 | + | ||
28 | + context "when authenticated as admin" do | ||
29 | + it "should return an array of hooks" do | ||
30 | + get api("/hooks", admin) | ||
31 | + response.status.should == 200 | ||
32 | + json_response.should be_an Array | ||
33 | + json_response.first['url'].should == hook.url | ||
34 | + end | ||
35 | + end | ||
36 | + end | ||
37 | + | ||
38 | + describe "POST /hooks" do | ||
39 | + it "should create new hook" do | ||
40 | + expect { | ||
41 | + post api("/hooks", admin), url: 'http://example.com' | ||
42 | + }.to change { SystemHook.count }.by(1) | ||
43 | + end | ||
44 | + | ||
45 | + it "should respond with 400 if url not given" do | ||
46 | + post api("/hooks", admin) | ||
47 | + response.status.should == 400 | ||
48 | + end | ||
49 | + | ||
50 | + it "should not create new hook without url" do | ||
51 | + expect { | ||
52 | + post api("/hooks", admin) | ||
53 | + }.to_not change { SystemHook.count } | ||
54 | + end | ||
55 | + end | ||
56 | + | ||
57 | + describe "GET /hooks/:id" do | ||
58 | + it "should return hook by id" do | ||
59 | + get api("/hooks/#{hook.id}", admin) | ||
60 | + response.status.should == 200 | ||
61 | + json_response['event_name'].should == 'project_create' | ||
62 | + end | ||
63 | + | ||
64 | + it "should return 404 on failure" do | ||
65 | + get api("/hooks/404", admin) | ||
66 | + response.status.should == 404 | ||
67 | + end | ||
68 | + end | ||
69 | + | ||
70 | + describe "DELETE /hooks/:id" do | ||
71 | + it "should delete a hook" do | ||
72 | + expect { | ||
73 | + delete api("/hooks/#{hook.id}", admin) | ||
74 | + }.to change { SystemHook.count }.by(-1) | ||
75 | + end | ||
76 | + | ||
77 | + it "should return success if hook id not found" do | ||
78 | + delete api("/hooks/12345", admin) | ||
79 | + response.status.should == 200 | ||
80 | + end | ||
81 | + end | ||
82 | +end |