Commit 2287ee28008c80ce506efa865d196156d222b4c2

Authored by Victor Costa
1 parent 7fe25f4d

Do not return private token when user is inactive

lib/noosfero/api/entities.rb
@@ -156,7 +156,7 @@ module Noosfero @@ -156,7 +156,7 @@ module Noosfero
156 end 156 end
157 157
158 class UserLogin < User 158 class UserLogin < User
159 - expose :private_token, documentation: {type: 'String', desc: 'A valid authentication code for post/delete api actions'} 159 + expose :private_token, documentation: {type: 'String', desc: 'A valid authentication code for post/delete api actions'}, if: lambda {|object, options| object.activated? }
160 end 160 end
161 161
162 class Task < Entity 162 class Task < Entity
test/unit/api/session_test.rb
@@ -200,4 +200,14 @@ class SessionTest &lt; ActiveSupport::TestCase @@ -200,4 +200,14 @@ class SessionTest &lt; ActiveSupport::TestCase
200 assert_equal 404, last_response.status 200 assert_equal 404, last_response.status
201 end 201 end
202 202
  203 + should 'not return private token when the registered user is inactive' do
  204 + params = {:login => "newuserapi", :password => "newuserapi", :password_confirmation => "newuserapi", :email => "newuserapi@email.com" }
  205 + post "/api/v1/register?#{params.to_query}"
  206 + assert_equal 201, last_response.status
  207 + json = JSON.parse(last_response.body)
  208 + assert !User['newuserapi'].activated?
  209 + assert !json['user']['activated']
  210 + assert !json['user']['private_token'].present?
  211 + end
  212 +
203 end 213 end