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

Side by Side Diff: chrome/browser/sync/sync_global_error_unittest.cc

Issue 11817045: Move auth-error reporting code out of SyncGlobalError and into SigninGlobalError (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Disabled ExtensionActionContextMenuTest.BrowserAction Created 7 years, 11 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
« no previous file with comments | « chrome/browser/sync/sync_global_error.cc ('k') | chrome/browser/sync/sync_ui_util.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/sync/sync_global_error.h" 5 #include "chrome/browser/sync/sync_global_error.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "chrome/app/chrome_command_ids.h" 9 #include "chrome/app/chrome_command_ids.h"
10 #include "chrome/browser/signin/signin_manager.h" 10 #include "chrome/browser/signin/signin_manager.h"
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 .WillRepeatedly(Return(is_signed_in)); 106 .WillRepeatedly(Return(is_signed_in));
107 107
108 GoogleServiceAuthError auth_error(error_state); 108 GoogleServiceAuthError auth_error(error_state);
109 EXPECT_CALL(*service, GetAuthError()).WillRepeatedly(ReturnRef(auth_error)); 109 EXPECT_CALL(*service, GetAuthError()).WillRepeatedly(ReturnRef(auth_error));
110 110
111 error->OnStateChanged(); 111 error->OnStateChanged();
112 112
113 // If there is an error then a wrench button badge, menu item, and bubble view 113 // If there is an error then a wrench button badge, menu item, and bubble view
114 // should be shown. 114 // should be shown.
115 EXPECT_EQ(error->HasBadge(), is_error); 115 EXPECT_EQ(error->HasBadge(), is_error);
116 EXPECT_EQ(error->HasMenuItem() || error->HasCustomizedSyncMenuItem(), 116 EXPECT_EQ(error->HasMenuItem() || error->HasBadge(), is_error);
117 is_error);
118 EXPECT_EQ(error->HasBubbleView(), is_error); 117 EXPECT_EQ(error->HasBubbleView(), is_error);
119 118
120 // If there is an error then labels should not be empty. 119 // If there is an error then labels should not be empty.
121 EXPECT_NE(error->MenuItemCommandID(), 0); 120 EXPECT_NE(error->MenuItemCommandID(), 0);
122 EXPECT_NE(error->MenuItemLabel().empty(), is_error); 121 EXPECT_NE(error->MenuItemLabel().empty(), is_error);
123 EXPECT_NE(error->GetBubbleViewAcceptButtonLabel().empty(), is_error); 122 EXPECT_NE(error->GetBubbleViewAcceptButtonLabel().empty(), is_error);
124 123
125 // We never have a cancel button. 124 // We never have a cancel button.
126 EXPECT_TRUE(error->GetBubbleViewCancelButtonLabel().empty()); 125 EXPECT_TRUE(error->GetBubbleViewCancelButtonLabel().empty());
127 // We always return a hardcoded title. 126 // We always return a hardcoded title.
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 .WillRepeatedly(Return(false)); 174 .WillRepeatedly(Return(false));
176 175
177 EXPECT_CALL(service, IsPassphraseRequired()) 176 EXPECT_CALL(service, IsPassphraseRequired())
178 .WillRepeatedly(Return(true)); 177 .WillRepeatedly(Return(true));
179 EXPECT_CALL(service, IsPassphraseRequiredForDecryption()) 178 EXPECT_CALL(service, IsPassphraseRequiredForDecryption())
180 .WillRepeatedly(Return(true)); 179 .WillRepeatedly(Return(true));
181 VerifySyncGlobalErrorResult( 180 VerifySyncGlobalErrorResult(
182 &service, login_ui_service, browser(), &error, 181 &service, login_ui_service, browser(), &error,
183 GoogleServiceAuthError::NONE, true, true); 182 GoogleServiceAuthError::NONE, true, true);
184 } 183 }
185
186 // Test that SyncGlobalError shows an error for conditions that can be resolved
187 // by the user and suppresses errors for conditions that cannot be resolved by
188 // the user.
189 TEST_F(SyncGlobalErrorTest, AuthStateGlobalError) {
190 scoped_ptr<Profile> profile(
191 ProfileSyncServiceMock::MakeSignedInTestingProfile());
192 NiceMock<ProfileSyncServiceMock> service(profile.get());
193 SigninManager* signin = SigninManagerFactory::GetForProfile(profile.get());
194 FakeLoginUIService* login_ui_service = static_cast<FakeLoginUIService*>(
195 LoginUIServiceFactory::GetInstance()->SetTestingFactoryAndUse(
196 profile.get(), BuildMockLoginUIService));
197 FakeLoginUI login_ui;
198 login_ui_service->SetLoginUI(&login_ui);
199 SyncGlobalError error(&service, signin);
200
201 browser_sync::SyncBackendHost::Status status;
202 EXPECT_CALL(service, QueryDetailedSyncStatus(_))
203 .WillRepeatedly(Return(false));
204
205 struct {
206 GoogleServiceAuthError::State error_state;
207 bool is_error;
208 } table[] = {
209 { GoogleServiceAuthError::NONE, false },
210 { GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS, true },
211 { GoogleServiceAuthError::USER_NOT_SIGNED_UP, true },
212 { GoogleServiceAuthError::CONNECTION_FAILED, false },
213 { GoogleServiceAuthError::CAPTCHA_REQUIRED, true },
214 { GoogleServiceAuthError::ACCOUNT_DELETED, true },
215 { GoogleServiceAuthError::ACCOUNT_DISABLED, true },
216 { GoogleServiceAuthError::SERVICE_UNAVAILABLE, true },
217 { GoogleServiceAuthError::TWO_FACTOR, true },
218 { GoogleServiceAuthError::REQUEST_CANCELED, true },
219 { GoogleServiceAuthError::HOSTED_NOT_ALLOWED, true },
220 };
221
222 for (size_t i = 0; i < sizeof(table)/sizeof(*table); ++i) {
223 VerifySyncGlobalErrorResult(&service, login_ui_service, browser(), &error,
224 table[i].error_state, true, table[i].is_error);
225 VerifySyncGlobalErrorResult(&service, login_ui_service, browser(), &error,
226 table[i].error_state, false, false);
227 }
228 }
OLDNEW
« no previous file with comments | « chrome/browser/sync/sync_global_error.cc ('k') | chrome/browser/sync/sync_ui_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698