OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
| 5 #include "ash/session_state_delegate.h" |
| 6 #include "ash/shell.h" |
5 #include "base/prefs/pref_service.h" | 7 #include "base/prefs/pref_service.h" |
6 #include "chrome/browser/chromeos/login/login_display_host_impl.h" | 8 #include "chrome/browser/chromeos/login/login_display_host_impl.h" |
7 #include "chrome/browser/chromeos/login/login_manager_test.h" | 9 #include "chrome/browser/chromeos/login/login_manager_test.h" |
8 #include "chrome/browser/chromeos/login/multi_profile_user_controller.h" | 10 #include "chrome/browser/chromeos/login/multi_profile_user_controller.h" |
9 #include "chrome/browser/chromeos/login/startup_utils.h" | 11 #include "chrome/browser/chromeos/login/startup_utils.h" |
10 #include "chrome/browser/chromeos/login/user_adding_screen.h" | 12 #include "chrome/browser/chromeos/login/user_adding_screen.h" |
11 #include "chrome/browser/chromeos/login/user_manager.h" | 13 #include "chrome/browser/chromeos/login/user_manager.h" |
12 #include "chrome/common/chrome_switches.h" | 14 #include "chrome/common/chrome_switches.h" |
13 #include "chrome/common/pref_names.h" | 15 #include "chrome/common/pref_names.h" |
14 #include "chrome/test/base/in_process_browser_test.h" | 16 #include "chrome/test/base/in_process_browser_test.h" |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 RegisterUser(kTestUsers[1]); | 71 RegisterUser(kTestUsers[1]); |
70 RegisterUser(kTestUsers[2]); | 72 RegisterUser(kTestUsers[2]); |
71 StartupUtils::MarkOobeCompleted(); | 73 StartupUtils::MarkOobeCompleted(); |
72 } | 74 } |
73 | 75 |
74 IN_PROC_BROWSER_TEST_F(UserAddingScreenTest, CancelAdding) { | 76 IN_PROC_BROWSER_TEST_F(UserAddingScreenTest, CancelAdding) { |
75 EXPECT_CALL(login_utils(), DoBrowserLaunch(_, _)).Times(1); | 77 EXPECT_CALL(login_utils(), DoBrowserLaunch(_, _)).Times(1); |
76 EXPECT_EQ(3u, UserManager::Get()->GetUsers().size()); | 78 EXPECT_EQ(3u, UserManager::Get()->GetUsers().size()); |
77 EXPECT_EQ(0u, UserManager::Get()->GetLoggedInUsers().size()); | 79 EXPECT_EQ(0u, UserManager::Get()->GetLoggedInUsers().size()); |
78 | 80 |
| 81 EXPECT_EQ(ash::SessionStateDelegate::SESSION_STATE_LOGIN_PRIMARY, |
| 82 ash::Shell::GetInstance()->session_state_delegate()-> |
| 83 GetSessionState()); |
| 84 |
79 LoginUser(kTestUsers[0]); | 85 LoginUser(kTestUsers[0]); |
80 EXPECT_EQ(1u, UserManager::Get()->GetLoggedInUsers().size()); | 86 EXPECT_EQ(1u, UserManager::Get()->GetLoggedInUsers().size()); |
| 87 EXPECT_EQ(ash::SessionStateDelegate::SESSION_STATE_ACTIVE, |
| 88 ash::Shell::GetInstance()->session_state_delegate()-> |
| 89 GetSessionState()); |
81 | 90 |
82 UserAddingScreen::Get()->Start(); | 91 UserAddingScreen::Get()->Start(); |
83 content::RunAllPendingInMessageLoop(); | 92 content::RunAllPendingInMessageLoop(); |
84 EXPECT_EQ(1, user_adding_started()); | 93 EXPECT_EQ(1, user_adding_started()); |
| 94 EXPECT_EQ(ash::SessionStateDelegate::SESSION_STATE_LOGIN_SECONDARY, |
| 95 ash::Shell::GetInstance()->session_state_delegate()-> |
| 96 GetSessionState()); |
85 | 97 |
86 UserAddingScreen::Get()->Cancel(); | 98 UserAddingScreen::Get()->Cancel(); |
87 content::RunAllPendingInMessageLoop(); | 99 content::RunAllPendingInMessageLoop(); |
88 EXPECT_EQ(1, user_adding_finished()); | 100 EXPECT_EQ(1, user_adding_finished()); |
| 101 EXPECT_EQ(ash::SessionStateDelegate::SESSION_STATE_ACTIVE, |
| 102 ash::Shell::GetInstance()->session_state_delegate()-> |
| 103 GetSessionState()); |
89 | 104 |
90 EXPECT_TRUE(LoginDisplayHostImpl::default_host() == NULL); | 105 EXPECT_TRUE(LoginDisplayHostImpl::default_host() == NULL); |
91 EXPECT_EQ(1u, UserManager::Get()->GetLoggedInUsers().size()); | 106 EXPECT_EQ(1u, UserManager::Get()->GetLoggedInUsers().size()); |
92 EXPECT_EQ(kTestUsers[0], UserManager::Get()->GetActiveUser()->email()); | 107 EXPECT_EQ(kTestUsers[0], UserManager::Get()->GetActiveUser()->email()); |
93 } | 108 } |
94 | 109 |
95 IN_PROC_BROWSER_TEST_F(UserAddingScreenTest, PRE_AddingSeveralUsers) { | 110 IN_PROC_BROWSER_TEST_F(UserAddingScreenTest, PRE_AddingSeveralUsers) { |
96 RegisterUser(kTestUsers[0]); | 111 RegisterUser(kTestUsers[0]); |
97 RegisterUser(kTestUsers[1]); | 112 RegisterUser(kTestUsers[1]); |
98 RegisterUser(kTestUsers[2]); | 113 RegisterUser(kTestUsers[2]); |
99 StartupUtils::MarkOobeCompleted(); | 114 StartupUtils::MarkOobeCompleted(); |
100 } | 115 } |
101 | 116 |
102 IN_PROC_BROWSER_TEST_F(UserAddingScreenTest, AddingSeveralUsers) { | 117 IN_PROC_BROWSER_TEST_F(UserAddingScreenTest, AddingSeveralUsers) { |
| 118 EXPECT_EQ(ash::SessionStateDelegate::SESSION_STATE_LOGIN_PRIMARY, |
| 119 ash::Shell::GetInstance()->session_state_delegate()-> |
| 120 GetSessionState()); |
103 EXPECT_CALL(login_utils(), DoBrowserLaunch(_, _)).Times(3); | 121 EXPECT_CALL(login_utils(), DoBrowserLaunch(_, _)).Times(3); |
104 LoginUser(kTestUsers[0]); | 122 LoginUser(kTestUsers[0]); |
| 123 EXPECT_EQ(ash::SessionStateDelegate::SESSION_STATE_ACTIVE, |
| 124 ash::Shell::GetInstance()->session_state_delegate()-> |
| 125 GetSessionState()); |
| 126 |
105 UserManager* user_manager = UserManager::Get(); | 127 UserManager* user_manager = UserManager::Get(); |
| 128 |
106 for (int i = 1; i < 3; ++i) { | 129 for (int i = 1; i < 3; ++i) { |
107 UserAddingScreen::Get()->Start(); | 130 UserAddingScreen::Get()->Start(); |
108 content::RunAllPendingInMessageLoop(); | 131 content::RunAllPendingInMessageLoop(); |
109 EXPECT_EQ(i, user_adding_started()); | 132 EXPECT_EQ(i, user_adding_started()); |
| 133 EXPECT_EQ(ash::SessionStateDelegate::SESSION_STATE_LOGIN_SECONDARY, |
| 134 ash::Shell::GetInstance()->session_state_delegate()-> |
| 135 GetSessionState()); |
110 AddUser(kTestUsers[i]); | 136 AddUser(kTestUsers[i]); |
111 EXPECT_EQ(i, user_adding_finished()); | 137 EXPECT_EQ(i, user_adding_finished()); |
| 138 EXPECT_EQ(ash::SessionStateDelegate::SESSION_STATE_ACTIVE, |
| 139 ash::Shell::GetInstance()->session_state_delegate()-> |
| 140 GetSessionState()); |
112 EXPECT_TRUE(LoginDisplayHostImpl::default_host() == NULL); | 141 EXPECT_TRUE(LoginDisplayHostImpl::default_host() == NULL); |
113 ASSERT_EQ(unsigned(i + 1), user_manager->GetLoggedInUsers().size()); | 142 ASSERT_EQ(unsigned(i + 1), user_manager->GetLoggedInUsers().size()); |
114 } | 143 } |
115 | 144 |
| 145 EXPECT_EQ(ash::SessionStateDelegate::SESSION_STATE_ACTIVE, |
| 146 ash::Shell::GetInstance()->session_state_delegate()-> |
| 147 GetSessionState()); |
| 148 |
116 // Now check how unlock policy works for these users. | 149 // Now check how unlock policy works for these users. |
117 PrefService* prefs1 = user_manager-> | 150 PrefService* prefs1 = user_manager-> |
118 GetProfileByUser(user_manager->GetLoggedInUsers()[0])->GetPrefs(); | 151 GetProfileByUser(user_manager->GetLoggedInUsers()[0])->GetPrefs(); |
119 PrefService* prefs2 = user_manager-> | 152 PrefService* prefs2 = user_manager-> |
120 GetProfileByUser(user_manager->GetLoggedInUsers()[1])->GetPrefs(); | 153 GetProfileByUser(user_manager->GetLoggedInUsers()[1])->GetPrefs(); |
121 PrefService* prefs3 = user_manager-> | 154 PrefService* prefs3 = user_manager-> |
122 GetProfileByUser(user_manager->GetLoggedInUsers()[2])->GetPrefs(); | 155 GetProfileByUser(user_manager->GetLoggedInUsers()[2])->GetPrefs(); |
123 ASSERT_TRUE(prefs1 != NULL); | 156 ASSERT_TRUE(prefs1 != NULL); |
124 ASSERT_TRUE(prefs2 != NULL); | 157 ASSERT_TRUE(prefs2 != NULL); |
125 ASSERT_TRUE(prefs3 != NULL); | 158 ASSERT_TRUE(prefs3 != NULL); |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
174 // not be listed on screen lock. | 207 // not be listed on screen lock. |
175 prefs3->SetString(prefs::kMultiProfileUserBehavior, | 208 prefs3->SetString(prefs::kMultiProfileUserBehavior, |
176 MultiProfileUserController::kBehaviorNotAllowed); | 209 MultiProfileUserController::kBehaviorNotAllowed); |
177 unlock_users = user_manager->GetUnlockUsers(); | 210 unlock_users = user_manager->GetUnlockUsers(); |
178 ASSERT_EQ(2UL, unlock_users.size()); | 211 ASSERT_EQ(2UL, unlock_users.size()); |
179 for (int i = 0; i < 2; ++i) | 212 for (int i = 0; i < 2; ++i) |
180 EXPECT_EQ(kTestUsers[i], unlock_users[i]->email()); | 213 EXPECT_EQ(kTestUsers[i], unlock_users[i]->email()); |
181 } | 214 } |
182 | 215 |
183 } // namespace chromeos | 216 } // namespace chromeos |
OLD | NEW |