Commit d6a5e3dad7a8d5aa1eb2220c2c60f068455dbaed
Exists in
master
and in
4 other branches
Merge pull request #1735 from NARKOZ/api
API fixes
Showing
5 changed files
with
17 additions
and
20 deletions
Show diff stats
CHANGELOG
... | ... | @@ -28,7 +28,7 @@ v 3.0.0 |
28 | 28 | - Reject ssh keys that break gitolite |
29 | 29 | - [API] list one project hook |
30 | 30 | - [API] edit project hook |
31 | - - [API] add project snippets list | |
31 | + - [API] list project snippets | |
32 | 32 | - [API] allow to authorize using private token in HTTP header |
33 | 33 | - [API] add user creation |
34 | 34 | ... | ... |
doc/api/users.md
... | ... | @@ -74,14 +74,12 @@ POST /users |
74 | 74 | |
75 | 75 | Parameters: |
76 | 76 | + `email` (required) - Email |
77 | -+ `name` (required) - Name | |
78 | 77 | + `password` (required) - Password |
79 | -+ `password_confirmation` (required) - Password confirmation | |
78 | ++ `name` - Name | |
80 | 79 | + `skype` - Skype ID |
81 | 80 | + `linkedin` - Linkedin |
82 | 81 | + `twitter` - Twitter account |
83 | -+ `projects_limit` - Limit projects wich user can create | |
84 | - | |
82 | ++ `projects_limit` - Number of projects user can create | |
85 | 83 | |
86 | 84 | Will return created user with status `201 Created` on success, or `404 Not |
87 | 85 | found` on fail. | ... | ... |
lib/api/users.rb
... | ... | @@ -23,24 +23,23 @@ module Gitlab |
23 | 23 | @user = User.find(params[:id]) |
24 | 24 | present @user, with: Entities::User |
25 | 25 | end |
26 | - | |
26 | + | |
27 | 27 | # Create user. Available only for admin |
28 | 28 | # |
29 | 29 | # Parameters: |
30 | 30 | # email (required) - Email |
31 | - # name (required) - Name | |
32 | 31 | # password (required) - Password |
33 | - # password_confirmation (required) - Password confirmation | |
32 | + # name - Name | |
34 | 33 | # skype - Skype ID |
35 | 34 | # linkedin - Linkedin |
36 | 35 | # twitter - Twitter account |
37 | - # projects_limit - Limit projects wich user can create | |
36 | + # projects_limit - Number of projects user can create | |
38 | 37 | # Example Request: |
39 | 38 | # POST /users |
40 | 39 | post do |
41 | 40 | authenticated_as_admin! |
42 | - attrs = attributes_for_keys [:email, :name, :password, :password_confirmation, :skype, :linkedin, :twitter, :projects_limit] | |
43 | - user = User.new attrs | |
41 | + attrs = attributes_for_keys [:email, :name, :password, :skype, :linkedin, :twitter, :projects_limit] | |
42 | + user = User.new attrs, as: :admin | |
44 | 43 | if user.save |
45 | 44 | present user, with: Entities::User |
46 | 45 | else | ... | ... |
spec/requests/api/projects_spec.rb
... | ... | @@ -46,7 +46,7 @@ describe Gitlab::API do |
46 | 46 | response.status.should == 201 |
47 | 47 | end |
48 | 48 | |
49 | - it "should repsond with 404 on failure" do | |
49 | + it "should respond with 404 on failure" do | |
50 | 50 | post api("/projects", user) |
51 | 51 | response.status.should == 404 |
52 | 52 | end |
... | ... | @@ -188,16 +188,16 @@ describe Gitlab::API do |
188 | 188 | }.to change {project.hooks.count}.by(1) |
189 | 189 | end |
190 | 190 | end |
191 | - | |
191 | + | |
192 | 192 | describe "PUT /projects/:id/hooks/:hook_id" do |
193 | 193 | it "should update an existing project hook" do |
194 | 194 | put api("/projects/#{project.code}/hooks/#{hook.id}", user), |
195 | - url: 'http://example.com' | |
195 | + url: 'http://example.org' | |
196 | 196 | response.status.should == 200 |
197 | - json_response['url'].should == 'http://example.com' | |
197 | + json_response['url'].should == 'http://example.org' | |
198 | 198 | end |
199 | 199 | end |
200 | - | |
200 | + | |
201 | 201 | |
202 | 202 | describe "DELETE /projects/:id/hooks" do |
203 | 203 | it "should delete hook from project" do | ... | ... |
spec/requests/api/users_spec.rb
... | ... | @@ -4,7 +4,7 @@ describe Gitlab::API do |
4 | 4 | include ApiHelpers |
5 | 5 | |
6 | 6 | let(:user) { Factory :user } |
7 | - let(:admin) {Factory :admin} | |
7 | + let(:admin) { Factory :admin } | |
8 | 8 | let(:key) { Factory :key, user: user } |
9 | 9 | |
10 | 10 | describe "GET /users" do |
... | ... | @@ -42,9 +42,9 @@ describe Gitlab::API do |
42 | 42 | end |
43 | 43 | |
44 | 44 | it "should create user" do |
45 | - expect{ | |
46 | - post api("/users", admin), Factory.attributes(:user) | |
47 | - }.to change{User.count}.by(1) | |
45 | + expect { | |
46 | + post api("/users", admin), Factory.attributes(:user, projects_limit: 3) | |
47 | + }.to change { User.count }.by(1) | |
48 | 48 | end |
49 | 49 | |
50 | 50 | it "shouldn't available for non admin users" do | ... | ... |