Commit e3dcd83d authored by Rémy Coutable's avatar Rémy Coutable

Merge branch 'grapify-session-api' into 'master'

Grapify the session API

## What are the relevant issue numbers?

Related to #22928

See merge request !7381
parents a29544f5 603ebe55
module API module API
# Users API
class Session < Grape::API class Session < Grape::API
# Login to get token desc 'Login to get token' do
# success Entities::UserLogin
# Parameters: end
# login (*required) - user login params do
# email (*required) - user email optional :login, type: String, desc: 'The username'
# password (required) - user password optional :email, type: String, desc: 'The email of the user'
# requires :password, type: String, desc: 'The password of the user'
# Example Request: at_least_one_of :login, :email
# POST /session end
post "/session" do post "/session" do
user = Gitlab::Auth.find_with_user_password(params[:email] || params[:login], params[:password]) user = Gitlab::Auth.find_with_user_password(params[:email] || params[:login], params[:password])
......
...@@ -67,22 +67,24 @@ describe API::API, api: true do ...@@ -67,22 +67,24 @@ describe API::API, api: true do
end end
context "when empty password" do context "when empty password" do
it "returns authentication error" do it "returns authentication error with email" do
post api("/session"), email: user.email post api("/session"), email: user.email
expect(response).to have_http_status(401)
expect(json_response['email']).to be_nil expect(response).to have_http_status(400)
expect(json_response['private_token']).to be_nil end
it "returns authentication error with username" do
post api("/session"), email: user.username
expect(response).to have_http_status(400)
end end
end end
context "when empty name" do context "when empty name" do
it "returns authentication error" do it "returns authentication error" do
post api("/session"), password: user.password post api("/session"), password: user.password
expect(response).to have_http_status(401)
expect(json_response['email']).to be_nil expect(response).to have_http_status(400)
expect(json_response['private_token']).to be_nil
end end
end end
end end
......
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