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

Side by Side Diff: chrome/browser/signin/chrome_signin_client_unittest.cc

Issue 2802373002: Add ForceSigninVerifier. (Closed)
Patch Set: rogers' comments Created 3 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "chrome/browser/signin/chrome_signin_client.h" 5 #include "chrome/browser/signin/chrome_signin_client.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
11 #include "base/run_loop.h" 11 #include "base/run_loop.h"
12 #include "build/build_config.h" 12 #include "build/build_config.h"
13 #include "chrome/browser/prefs/browser_prefs.h"
14 #include "chrome/browser/profiles/profile.h" 13 #include "chrome/browser/profiles/profile.h"
15 #include "chrome/browser/signin/chrome_signin_client_factory.h" 14 #include "chrome/browser/signin/chrome_signin_client_factory.h"
16 #include "chrome/browser/signin/signin_error_controller_factory.h" 15 #include "chrome/browser/signin/signin_error_controller_factory.h"
16 #include "chrome/browser/signin/signin_util.h"
17 #include "chrome/common/pref_names.h" 17 #include "chrome/common/pref_names.h"
18 #include "chrome/test/base/browser_with_test_window_test.h" 18 #include "chrome/test/base/browser_with_test_window_test.h"
19 #include "chrome/test/base/testing_browser_process.h" 19 #include "chrome/test/base/testing_browser_process.h"
20 #include "chrome/test/base/testing_profile.h" 20 #include "chrome/test/base/testing_profile.h"
21 #include "components/prefs/testing_pref_service.h"
22 #include "content/public/test/test_browser_thread_bundle.h" 21 #include "content/public/test/test_browser_thread_bundle.h"
23 #include "net/base/network_change_notifier.h" 22 #include "net/base/network_change_notifier.h"
24 #include "testing/gmock/include/gmock/gmock.h" 23 #include "testing/gmock/include/gmock/gmock.h"
25 #include "testing/gtest/include/gtest/gtest.h" 24 #include "testing/gtest/include/gtest/gtest.h"
26 25
27 // ChromeOS has its own network delay logic. 26 // ChromeOS has its own network delay logic.
28 #if !defined(OS_CHROMEOS) 27 #if !defined(OS_CHROMEOS)
29 28
30 namespace { 29 namespace {
31 30
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 signin_metrics::SignoutDelete)); 145 signin_metrics::SignoutDelete));
147 146
148 AccountTrackerService fake_service_; 147 AccountTrackerService fake_service_;
149 }; 148 };
150 149
151 class ChromeSigninClientSignoutTest : public BrowserWithTestWindowTest { 150 class ChromeSigninClientSignoutTest : public BrowserWithTestWindowTest {
152 public: 151 public:
153 void SetUp() override { 152 void SetUp() override {
154 BrowserWithTestWindowTest::SetUp(); 153 BrowserWithTestWindowTest::SetUp();
155 154
156 prefs_.reset(new TestingPrefServiceSimple()); 155 signin_util::SetForceSigninForTesting(true);
157 chrome::RegisterLocalState(prefs_->registry());
158 TestingBrowserProcess::GetGlobal()->SetLocalState(prefs_.get());
159 prefs_->SetBoolean(prefs::kForceBrowserSignin, true);
160
161 CreateClient(browser()->profile()); 156 CreateClient(browser()->profile());
162 manager_.reset(new MockSigninManager(client_.get())); 157 manager_.reset(new MockSigninManager(client_.get()));
163 } 158 }
164 159
165 void TearDown() override { 160 void TearDown() override {
166 BrowserWithTestWindowTest::TearDown(); 161 BrowserWithTestWindowTest::TearDown();
167 TestingBrowserProcess::GetGlobal()->SetLocalState(nullptr); 162 TestingBrowserProcess::GetGlobal()->SetLocalState(nullptr);
168 } 163 }
169 164
170 void CreateClient(Profile* profile) { 165 void CreateClient(Profile* profile) {
171 SigninErrorController* controller = new SigninErrorController(); 166 SigninErrorController* controller = new SigninErrorController();
172 client_.reset(new MockChromeSigninClient(profile, controller)); 167 client_.reset(new MockChromeSigninClient(profile, controller));
173 fake_controller_.reset(controller); 168 fake_controller_.reset(controller);
174 } 169 }
175 170
176 std::unique_ptr<SigninErrorController> fake_controller_; 171 std::unique_ptr<SigninErrorController> fake_controller_;
177 std::unique_ptr<MockChromeSigninClient> client_; 172 std::unique_ptr<MockChromeSigninClient> client_;
178 std::unique_ptr<MockSigninManager> manager_; 173 std::unique_ptr<MockSigninManager> manager_;
179 std::unique_ptr<TestingPrefServiceSimple> prefs_;
180 }; 174 };
181 175
182 TEST_F(ChromeSigninClientSignoutTest, SignOut) { 176 TEST_F(ChromeSigninClientSignoutTest, SignOut) {
183 signin_metrics::ProfileSignout source_metric = 177 signin_metrics::ProfileSignout source_metric =
184 signin_metrics::ProfileSignout::SIGNOUT_TEST; 178 signin_metrics::ProfileSignout::SIGNOUT_TEST;
185 signin_metrics::SignoutDelete delete_metric = 179 signin_metrics::SignoutDelete delete_metric =
186 signin_metrics::SignoutDelete::IGNORE_METRIC; 180 signin_metrics::SignoutDelete::IGNORE_METRIC;
187 181
188 EXPECT_CALL(*client_, ShowUserManager(browser()->profile()->GetPath())) 182 EXPECT_CALL(*client_, ShowUserManager(browser()->profile()->GetPath()))
189 .Times(1); 183 .Times(1);
(...skipping 24 matching lines...) Expand all
214 208
215 EXPECT_CALL(*client_, ShowUserManager(browser()->profile()->GetPath())) 209 EXPECT_CALL(*client_, ShowUserManager(browser()->profile()->GetPath()))
216 .Times(1); 210 .Times(1);
217 EXPECT_CALL(*client_, LockForceSigninProfile(browser()->profile()->GetPath())) 211 EXPECT_CALL(*client_, LockForceSigninProfile(browser()->profile()->GetPath()))
218 .Times(1); 212 .Times(1);
219 EXPECT_CALL(*manager_, DoSignOut(source_metric, delete_metric)).Times(1); 213 EXPECT_CALL(*manager_, DoSignOut(source_metric, delete_metric)).Times(1);
220 manager_->SignOut(source_metric, delete_metric); 214 manager_->SignOut(source_metric, delete_metric);
221 } 215 }
222 216
223 TEST_F(ChromeSigninClientSignoutTest, SignOutWithoutForceSignin) { 217 TEST_F(ChromeSigninClientSignoutTest, SignOutWithoutForceSignin) {
224 prefs_->SetBoolean(prefs::kForceBrowserSignin, false); 218 signin_util::SetForceSigninForTesting(false);
225 CreateClient(browser()->profile()); 219 CreateClient(browser()->profile());
226 manager_.reset(new MockSigninManager(client_.get())); 220 manager_.reset(new MockSigninManager(client_.get()));
227 221
228 signin_metrics::ProfileSignout source_metric = 222 signin_metrics::ProfileSignout source_metric =
229 signin_metrics::ProfileSignout::SIGNOUT_TEST; 223 signin_metrics::ProfileSignout::SIGNOUT_TEST;
230 signin_metrics::SignoutDelete delete_metric = 224 signin_metrics::SignoutDelete delete_metric =
231 signin_metrics::SignoutDelete::IGNORE_METRIC; 225 signin_metrics::SignoutDelete::IGNORE_METRIC;
232 226
233 EXPECT_CALL(*client_, ShowUserManager(browser()->profile()->GetPath())) 227 EXPECT_CALL(*client_, ShowUserManager(browser()->profile()->GetPath()))
234 .Times(0); 228 .Times(0);
(...skipping 19 matching lines...) Expand all
254 EXPECT_CALL(*client_, ShowUserManager(browser()->profile()->GetPath())) 248 EXPECT_CALL(*client_, ShowUserManager(browser()->profile()->GetPath()))
255 .Times(0); 249 .Times(0);
256 EXPECT_CALL(*client_, LockForceSigninProfile(browser()->profile()->GetPath())) 250 EXPECT_CALL(*client_, LockForceSigninProfile(browser()->profile()->GetPath()))
257 .Times(0); 251 .Times(0);
258 EXPECT_CALL(*manager_, DoSignOut(source_metric, delete_metric)).Times(1); 252 EXPECT_CALL(*manager_, DoSignOut(source_metric, delete_metric)).Times(1);
259 manager_->SignOut(source_metric, delete_metric); 253 manager_->SignOut(source_metric, delete_metric);
260 } 254 }
261 255
262 #endif // !defined(OS_ANDROID) 256 #endif // !defined(OS_ANDROID)
263 #endif // !defined(OS_CHROMEOS) 257 #endif // !defined(OS_CHROMEOS)
OLDNEW
« no previous file with comments | « chrome/browser/signin/chrome_signin_client.cc ('k') | chrome/browser/signin/force_signin_verifier.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698