| 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::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::STATE_SESSION, |
| 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::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::STATE_SESSION, |
| 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::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::STATE_SESSION, |
| 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::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::STATE_SESSION, |
| 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::STATE_SESSION, |
| 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 |