Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Side by Side Diff: chrome/browser/chromeos/login/user_adding_screen_browsertest.cc

Issue 231123002: Notify about major session changes events. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix unit_tests Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/session_login_browsertest.cc ('k') | chrome/browser/ui/ash/session_state_delegate_chromeos.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698