@@ -201,6 +201,7 class AccountController < ApplicationController | |||||
201 | # Valid user |
|
201 | # Valid user | |
202 | if user.active? |
|
202 | if user.active? | |
203 | successful_authentication(user) |
|
203 | successful_authentication(user) | |
|
204 | update_sudo_timestamp! # activate Sudo Mode | |||
204 | else |
|
205 | else | |
205 | handle_inactive_user(user) |
|
206 | handle_inactive_user(user) | |
206 | end |
|
207 | end |
@@ -7,8 +7,24 class SudoModeTest < Redmine::IntegrationTest | |||||
7 | Redmine::SudoMode.stubs(:enabled?).returns(true) |
|
7 | Redmine::SudoMode.stubs(:enabled?).returns(true) | |
8 | end |
|
8 | end | |
9 |
|
9 | |||
|
10 | def test_sudo_mode_should_be_active_after_login | |||
|
11 | log_user("admin", "admin") | |||
|
12 | get "/users/new" | |||
|
13 | assert_response :success | |||
|
14 | post "/users", | |||
|
15 | :user => { :login => "psmith", :firstname => "Paul", | |||
|
16 | :lastname => "Smith", :mail => "psmith@somenet.foo", | |||
|
17 | :language => "en", :password => "psmith09", | |||
|
18 | :password_confirmation => "psmith09" } | |||
|
19 | assert_response 302 | |||
|
20 | ||||
|
21 | user = User.find_by_login("psmith") | |||
|
22 | assert_kind_of User, user | |||
|
23 | end | |||
|
24 | ||||
10 | def test_add_user |
|
25 | def test_add_user | |
11 | log_user("admin", "admin") |
|
26 | log_user("admin", "admin") | |
|
27 | expire_sudo_mode! | |||
12 | get "/users/new" |
|
28 | get "/users/new" | |
13 | assert_response :success |
|
29 | assert_response :success | |
14 | post "/users", |
|
30 | post "/users", | |
@@ -36,6 +52,7 class SudoModeTest < Redmine::IntegrationTest | |||||
36 |
|
52 | |||
37 | def test_create_member_xhr |
|
53 | def test_create_member_xhr | |
38 | log_user 'admin', 'admin' |
|
54 | log_user 'admin', 'admin' | |
|
55 | expire_sudo_mode! | |||
39 | get '/projects/ecookbook/settings/members' |
|
56 | get '/projects/ecookbook/settings/members' | |
40 | assert_response :success |
|
57 | assert_response :success | |
41 |
|
58 | |||
@@ -59,6 +76,7 class SudoModeTest < Redmine::IntegrationTest | |||||
59 |
|
76 | |||
60 | def test_create_member |
|
77 | def test_create_member | |
61 | log_user 'admin', 'admin' |
|
78 | log_user 'admin', 'admin' | |
|
79 | expire_sudo_mode! | |||
62 | get '/projects/ecookbook/settings/members' |
|
80 | get '/projects/ecookbook/settings/members' | |
63 | assert_response :success |
|
81 | assert_response :success | |
64 |
|
82 | |||
@@ -84,6 +102,7 class SudoModeTest < Redmine::IntegrationTest | |||||
84 |
|
102 | |||
85 | def test_create_role |
|
103 | def test_create_role | |
86 | log_user 'admin', 'admin' |
|
104 | log_user 'admin', 'admin' | |
|
105 | expire_sudo_mode! | |||
87 | get '/roles' |
|
106 | get '/roles' | |
88 | assert_response :success |
|
107 | assert_response :success | |
89 |
|
108 | |||
@@ -118,6 +137,7 class SudoModeTest < Redmine::IntegrationTest | |||||
118 |
|
137 | |||
119 | def test_update_email_address |
|
138 | def test_update_email_address | |
120 | log_user 'jsmith', 'jsmith' |
|
139 | log_user 'jsmith', 'jsmith' | |
|
140 | expire_sudo_mode! | |||
121 | get '/my/account' |
|
141 | get '/my/account' | |
122 | assert_response :success |
|
142 | assert_response :success | |
123 | post '/my/account', user: { mail: 'newmail@test.com' } |
|
143 | post '/my/account', user: { mail: 'newmail@test.com' } | |
@@ -161,4 +181,11 class SudoModeTest < Redmine::IntegrationTest | |||||
161 | end |
|
181 | end | |
162 | end |
|
182 | end | |
163 | end |
|
183 | end | |
|
184 | ||||
|
185 | private | |||
|
186 | ||||
|
187 | # sudo mode is active after sign, let it expire by advancing the time | |||
|
188 | def expire_sudo_mode! | |||
|
189 | travel_to 20.minutes.from_now | |||
|
190 | end | |||
164 | end |
|
191 | end |
General Comments 0
You need to be logged in to leave comments.
Login now