Commit d6a5e3da authored by Valeriy Sizov's avatar Valeriy Sizov

Merge pull request #1735 from NARKOZ/api

API fixes
parents 10d881c9 cf70439e
......@@ -28,7 +28,7 @@ v 3.0.0
- Reject ssh keys that break gitolite
- [API] list one project hook
- [API] edit project hook
- [API] add project snippets list
- [API] list project snippets
- [API] allow to authorize using private token in HTTP header
- [API] add user creation
......
......@@ -74,14 +74,12 @@ POST /users
Parameters:
+ `email` (required) - Email
+ `name` (required) - Name
+ `password` (required) - Password
+ `password_confirmation` (required) - Password confirmation
+ `name` - Name
+ `skype` - Skype ID
+ `linkedin` - Linkedin
+ `twitter` - Twitter account
+ `projects_limit` - Limit projects wich user can create
+ `projects_limit` - Number of projects user can create
Will return created user with status `201 Created` on success, or `404 Not
found` on fail.
......
......@@ -28,19 +28,18 @@ module Gitlab
#
# Parameters:
# email (required) - Email
# name (required) - Name
# password (required) - Password
# password_confirmation (required) - Password confirmation
# name - Name
# skype - Skype ID
# linkedin - Linkedin
# twitter - Twitter account
# projects_limit - Limit projects wich user can create
# projects_limit - Number of projects user can create
# Example Request:
# POST /users
post do
authenticated_as_admin!
attrs = attributes_for_keys [:email, :name, :password, :password_confirmation, :skype, :linkedin, :twitter, :projects_limit]
user = User.new attrs
attrs = attributes_for_keys [:email, :name, :password, :skype, :linkedin, :twitter, :projects_limit]
user = User.new attrs, as: :admin
if user.save
present user, with: Entities::User
else
......
......@@ -46,7 +46,7 @@ describe Gitlab::API do
response.status.should == 201
end
it "should repsond with 404 on failure" do
it "should respond with 404 on failure" do
post api("/projects", user)
response.status.should == 404
end
......@@ -192,9 +192,9 @@ describe Gitlab::API do
describe "PUT /projects/:id/hooks/:hook_id" do
it "should update an existing project hook" do
put api("/projects/#{project.code}/hooks/#{hook.id}", user),
url: 'http://example.com'
url: 'http://example.org'
response.status.should == 200
json_response['url'].should == 'http://example.com'
json_response['url'].should == 'http://example.org'
end
end
......
......@@ -4,7 +4,7 @@ describe Gitlab::API do
include ApiHelpers
let(:user) { Factory :user }
let(:admin) {Factory :admin}
let(:admin) { Factory :admin }
let(:key) { Factory :key, user: user }
describe "GET /users" do
......@@ -42,9 +42,9 @@ describe Gitlab::API do
end
it "should create user" do
expect{
post api("/users", admin), Factory.attributes(:user)
}.to change{User.count}.by(1)
expect {
post api("/users", admin), Factory.attributes(:user, projects_limit: 3)
}.to change { User.count }.by(1)
end
it "shouldn't available for non admin users" do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment