##// END OF EJS Templates
Rails3: replace "all" fixtures at test/integration/api_test/disabled_rest_api_test.rb...
Toshi MARUYAMA -
r7395:fa11b8babe66
parent child
Show More
@@ -1,110 +1,117
1 require File.expand_path('../../../test_helper', __FILE__)
1 require File.expand_path('../../../test_helper', __FILE__)
2
2
3 class ApiTest::DisabledRestApiTest < ActionController::IntegrationTest
3 class ApiTest::DisabledRestApiTest < ActionController::IntegrationTest
4 fixtures :all
4 fixtures :projects, :trackers, :issue_statuses, :issues,
5 :enumerations, :users, :issue_categories,
6 :projects_trackers,
7 :roles,
8 :member_roles,
9 :members,
10 :enabled_modules,
11 :workflows
5
12
6 def setup
13 def setup
7 Setting.rest_api_enabled = '0'
14 Setting.rest_api_enabled = '0'
8 Setting.login_required = '1'
15 Setting.login_required = '1'
9 end
16 end
10
17
11 def teardown
18 def teardown
12 Setting.rest_api_enabled = '1'
19 Setting.rest_api_enabled = '1'
13 Setting.login_required = '0'
20 Setting.login_required = '0'
14 end
21 end
15
22
16 # Using the NewsController because it's a simple API.
23 # Using the NewsController because it's a simple API.
17 context "get /news with the API disabled" do
24 context "get /news with the API disabled" do
18
25
19 context "in :xml format" do
26 context "in :xml format" do
20 context "with a valid api token" do
27 context "with a valid api token" do
21 setup do
28 setup do
22 @user = User.generate_with_protected!
29 @user = User.generate_with_protected!
23 @token = Token.generate!(:user => @user, :action => 'api')
30 @token = Token.generate!(:user => @user, :action => 'api')
24 get "/news.xml?key=#{@token.value}"
31 get "/news.xml?key=#{@token.value}"
25 end
32 end
26
33
27 should_respond_with :unauthorized
34 should_respond_with :unauthorized
28 should_respond_with_content_type :xml
35 should_respond_with_content_type :xml
29 should "not login as the user" do
36 should "not login as the user" do
30 assert_equal User.anonymous, User.current
37 assert_equal User.anonymous, User.current
31 end
38 end
32 end
39 end
33
40
34 context "with a valid HTTP authentication" do
41 context "with a valid HTTP authentication" do
35 setup do
42 setup do
36 @user = User.generate_with_protected!(:password => 'my_password', :password_confirmation => 'my_password')
43 @user = User.generate_with_protected!(:password => 'my_password', :password_confirmation => 'my_password')
37 @authorization = ActionController::HttpAuthentication::Basic.encode_credentials(@user.login, 'my_password')
44 @authorization = ActionController::HttpAuthentication::Basic.encode_credentials(@user.login, 'my_password')
38 get "/news.xml", nil, :authorization => @authorization
45 get "/news.xml", nil, :authorization => @authorization
39 end
46 end
40
47
41 should_respond_with :unauthorized
48 should_respond_with :unauthorized
42 should_respond_with_content_type :xml
49 should_respond_with_content_type :xml
43 should "not login as the user" do
50 should "not login as the user" do
44 assert_equal User.anonymous, User.current
51 assert_equal User.anonymous, User.current
45 end
52 end
46 end
53 end
47
54
48 context "with a valid HTTP authentication using the API token" do
55 context "with a valid HTTP authentication using the API token" do
49 setup do
56 setup do
50 @user = User.generate_with_protected!
57 @user = User.generate_with_protected!
51 @token = Token.generate!(:user => @user, :action => 'api')
58 @token = Token.generate!(:user => @user, :action => 'api')
52 @authorization = ActionController::HttpAuthentication::Basic.encode_credentials(@token.value, 'X')
59 @authorization = ActionController::HttpAuthentication::Basic.encode_credentials(@token.value, 'X')
53 get "/news.xml", nil, :authorization => @authorization
60 get "/news.xml", nil, :authorization => @authorization
54 end
61 end
55
62
56 should_respond_with :unauthorized
63 should_respond_with :unauthorized
57 should_respond_with_content_type :xml
64 should_respond_with_content_type :xml
58 should "not login as the user" do
65 should "not login as the user" do
59 assert_equal User.anonymous, User.current
66 assert_equal User.anonymous, User.current
60 end
67 end
61 end
68 end
62 end
69 end
63
70
64 context "in :json format" do
71 context "in :json format" do
65 context "with a valid api token" do
72 context "with a valid api token" do
66 setup do
73 setup do
67 @user = User.generate_with_protected!
74 @user = User.generate_with_protected!
68 @token = Token.generate!(:user => @user, :action => 'api')
75 @token = Token.generate!(:user => @user, :action => 'api')
69 get "/news.json?key=#{@token.value}"
76 get "/news.json?key=#{@token.value}"
70 end
77 end
71
78
72 should_respond_with :unauthorized
79 should_respond_with :unauthorized
73 should_respond_with_content_type :json
80 should_respond_with_content_type :json
74 should "not login as the user" do
81 should "not login as the user" do
75 assert_equal User.anonymous, User.current
82 assert_equal User.anonymous, User.current
76 end
83 end
77 end
84 end
78
85
79 context "with a valid HTTP authentication" do
86 context "with a valid HTTP authentication" do
80 setup do
87 setup do
81 @user = User.generate_with_protected!(:password => 'my_password', :password_confirmation => 'my_password')
88 @user = User.generate_with_protected!(:password => 'my_password', :password_confirmation => 'my_password')
82 @authorization = ActionController::HttpAuthentication::Basic.encode_credentials(@user.login, 'my_password')
89 @authorization = ActionController::HttpAuthentication::Basic.encode_credentials(@user.login, 'my_password')
83 get "/news.json", nil, :authorization => @authorization
90 get "/news.json", nil, :authorization => @authorization
84 end
91 end
85
92
86 should_respond_with :unauthorized
93 should_respond_with :unauthorized
87 should_respond_with_content_type :json
94 should_respond_with_content_type :json
88 should "not login as the user" do
95 should "not login as the user" do
89 assert_equal User.anonymous, User.current
96 assert_equal User.anonymous, User.current
90 end
97 end
91 end
98 end
92
99
93 context "with a valid HTTP authentication using the API token" do
100 context "with a valid HTTP authentication using the API token" do
94 setup do
101 setup do
95 @user = User.generate_with_protected!
102 @user = User.generate_with_protected!
96 @token = Token.generate!(:user => @user, :action => 'api')
103 @token = Token.generate!(:user => @user, :action => 'api')
97 @authorization = ActionController::HttpAuthentication::Basic.encode_credentials(@token.value, 'DoesNotMatter')
104 @authorization = ActionController::HttpAuthentication::Basic.encode_credentials(@token.value, 'DoesNotMatter')
98 get "/news.json", nil, :authorization => @authorization
105 get "/news.json", nil, :authorization => @authorization
99 end
106 end
100
107
101 should_respond_with :unauthorized
108 should_respond_with :unauthorized
102 should_respond_with_content_type :json
109 should_respond_with_content_type :json
103 should "not login as the user" do
110 should "not login as the user" do
104 assert_equal User.anonymous, User.current
111 assert_equal User.anonymous, User.current
105 end
112 end
106 end
113 end
107
114
108 end
115 end
109 end
116 end
110 end
117 end
General Comments 0
You need to be logged in to leave comments. Login now