Commit 14f2a5e86d828daf6b25fe8b7fc68e125848c0e4

Authored by Victor Costa
1 parent 8a6d7d69

Fix merge with api

Gemfile
... ... @@ -13,7 +13,6 @@ gem 'daemons', '~> 1.1.5'
13 13 gem 'thin', '~> 1.3.1'
14 14 gem 'nokogiri', '~> 1.5.5'
15 15 gem 'rake', :require => false
16   -gem 'grape', '~> 0.2.1'
17 16 gem 'rest-client', '~> 1.6.7'
18 17 gem 'exception_notification', '~> 4.0.1'
19 18 gem 'gettext', '~> 2.2.1', :require => false
... ...
db/migrate/20140407013817_add_private_token_info_to_users.rb
... ... @@ -1,11 +0,0 @@
1   -class AddPrivateTokenInfoToUsers < ActiveRecord::Migration
2   - def self.up
3   - add_column :users, :private_token, :string
4   - add_column :users, :private_token_generated_at, :datetime
5   - end
6   -
7   - def self.down
8   - remove_column :users, :private_token
9   - remove_column :users, :private_token_generated_at
10   - end
11   -end
test/unit/api_test.rb
... ... @@ -1,107 +0,0 @@
1   -require File.dirname(__FILE__) + '/../test_helper'
2   -
3   -class APITest < ActiveSupport::TestCase
4   -
5   - include Rack::Test::Methods
6   -
7   - def app
8   - API::API
9   - end
10   -
11   - def setup
12   - @user = User.create!(:login => 'testapi', :password => 'testapi', :password_confirmation => 'testapi', :email => 'test@test.org', :environment => Environment.default)
13   - @user.activate
14   -
15   - post "/api/v1/login?login=testapi&password=testapi"
16   - json = JSON.parse(last_response.body)
17   - @private_token = json["private_token"]
18   - @params = {:private_token => @private_token}
19   - end
20   - attr_accessor :private_token, :user, :params
21   -
22   - should 'generate private token when login' do
23   - params = {:login => "testapi", :password => "testapi"}
24   - post "/api/v1/login?#{params.to_query}"
25   - json = JSON.parse(last_response.body)
26   - assert !json["private_token"].blank?
27   - end
28   -
29   - should 'return 401 when login fails' do
30   - user.destroy
31   - params = {:login => "testapi", :password => "testapi"}
32   - post "/api/v1/login?#{params.to_query}"
33   - assert_equal 401, last_response.status
34   - end
35   -
36   - should 'register a user' do
37   - params = {:login => "newuserapi", :password => "newuserapi", :email => "newuserapi@email.com" }
38   - post "/api/v1/register?#{params.to_query}"
39   - assert_equal 201, last_response.status
40   - end
41   -
42   - should 'do not register a user without email' do
43   - params = {:login => "newuserapi", :password => "newuserapi", :email => nil }
44   - post "/api/v1/register?#{params.to_query}"
45   - assert_equal 400, last_response.status
46   - end
47   -
48   - should 'do not register a duplicated user' do
49   - params = {:login => "newuserapi", :password => "newuserapi", :email => "newuserapi@email.com" }
50   - post "/api/v1/register?#{params.to_query}"
51   - post "/api/v1/register?#{params.to_query}"
52   - assert_equal 400, last_response.status
53   - end
54   -
55   - should 'list articles' do
56   - article = fast_create(Article, :profile_id => user.person.id, :name => "Some thing")
57   - get "/api/v1/articles/?#{params.to_query}"
58   - json = JSON.parse(last_response.body)
59   - assert_includes json["articles"].map { |a| a["id"] }, article.id
60   - end
61   -
62   - should 'return article by id' do
63   - article = fast_create(Article, :profile_id => user.person.id, :name => "Some thing")
64   - get "/api/v1/articles/#{article.id}?#{params.to_query}"
65   - json = JSON.parse(last_response.body)
66   - assert_equal article.id, json["article"]["id"]
67   - end
68   -
69   - should 'return comments of an article' do
70   - article = fast_create(Article, :profile_id => user.person.id, :name => "Some thing")
71   - article.comments.create!(:body => "some comment", :author => user.person)
72   - article.comments.create!(:body => "another comment", :author => user.person)
73   -
74   - get "/api/v1/articles/#{article.id}/comments?#{params.to_query}"
75   - json = JSON.parse(last_response.body)
76   - assert_equal 2, json["comments"].length
77   - end
78   -
79   - should 'list users' do
80   - get "/api/v1/users/?#{params.to_query}"
81   - json = JSON.parse(last_response.body)
82   - assert_includes json["users"].map { |a| a["login"] }, user.login
83   - end
84   -
85   - should 'list user permissions' do
86   - community = fast_create(Community)
87   - community.add_admin(user.person)
88   - get "/api/v1/users/#{user.id}/?#{params.to_query}"
89   - json = JSON.parse(last_response.body)
90   - assert_includes json["user"]["permissions"], community.identifier
91   - end
92   -
93   - should 'list categories' do
94   - category = fast_create(Category)
95   - get "/api/v1/categories/?#{params.to_query}"
96   - json = JSON.parse(last_response.body)
97   - assert_includes json["categories"].map { |c| c["name"] }, category.name
98   - end
99   -
100   - should 'get category by id' do
101   - category = fast_create(Category)
102   - get "/api/v1/categories/#{category.id}/?#{params.to_query}"
103   - json = JSON.parse(last_response.body)
104   - assert_equal category.name, json["category"]["name"]
105   - end
106   -
107   -end