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

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

Issue 1494153002: This CL replaces e-mail with AccountId in easy signin code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update after review. Created 5 years 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/easy_unlock_screenlock_state_handler.h" 5 #include "chrome/browser/signin/easy_unlock_screenlock_state_handler.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/strings/string16.h" 10 #include "base/strings/string16.h"
(...skipping 28 matching lines...) Expand all
39 subst.push_back(base::string16()); 39 subst.push_back(base::string16());
40 40
41 base::string16 replaced = 41 base::string16 replaced =
42 base::ReplaceStringPlaceholders(input, subst, &offsets); 42 base::ReplaceStringPlaceholders(input, subst, &offsets);
43 return !offsets.empty(); 43 return !offsets.empty();
44 } 44 }
45 45
46 // Fake lock handler to be used in these tests. 46 // Fake lock handler to be used in these tests.
47 class TestLockHandler : public proximity_auth::ScreenlockBridge::LockHandler { 47 class TestLockHandler : public proximity_auth::ScreenlockBridge::LockHandler {
48 public: 48 public:
49 explicit TestLockHandler(const std::string& user_email) 49 explicit TestLockHandler(const AccountId& account_id)
50 : user_email_(user_email), 50 : account_id_(account_id),
51 show_icon_count_(0u), 51 show_icon_count_(0u),
52 auth_type_(OFFLINE_PASSWORD) { 52 auth_type_(OFFLINE_PASSWORD) {}
53 }
54 ~TestLockHandler() override {} 53 ~TestLockHandler() override {}
55 54
56 // proximity_auth::ScreenlockBridge::LockHandler implementation: 55 // proximity_auth::ScreenlockBridge::LockHandler implementation:
57 void ShowBannerMessage(const base::string16& message) override { 56 void ShowBannerMessage(const base::string16& message) override {
58 ASSERT_FALSE(true) << "Should not be reached."; 57 ASSERT_FALSE(true) << "Should not be reached.";
59 } 58 }
60 59
61 void ShowUserPodCustomIcon( 60 void ShowUserPodCustomIcon(
62 const std::string& user_email, 61 const AccountId& account_id,
63 const proximity_auth::ScreenlockBridge::UserPodCustomIconOptions& icon) 62 const proximity_auth::ScreenlockBridge::UserPodCustomIconOptions& icon)
64 override { 63 override {
65 ASSERT_EQ(user_email_, user_email); 64 ASSERT_TRUE(account_id_ == account_id)
65 << "account_id_=" << account_id_.Serialize()
66 << " != account_id=" << account_id.Serialize();
66 ++show_icon_count_; 67 ++show_icon_count_;
67 last_custom_icon_ = icon.ToDictionaryValue().Pass(); 68 last_custom_icon_ = icon.ToDictionaryValue().Pass();
68 ValidateCustomIcon(); 69 ValidateCustomIcon();
69 } 70 }
70 71
71 void HideUserPodCustomIcon(const std::string& user_email) override { 72 void HideUserPodCustomIcon(const AccountId& account_id) override {
72 ASSERT_EQ(user_email_, user_email); 73 ASSERT_TRUE(account_id_ == account_id)
74 << "account_id_=" << account_id_.Serialize()
75 << " != account_id=" << account_id.Serialize();
73 last_custom_icon_.reset(); 76 last_custom_icon_.reset();
74 } 77 }
75 78
76 void EnableInput() override { 79 void EnableInput() override {
77 ASSERT_FALSE(true) << "Should not be reached."; 80 ASSERT_FALSE(true) << "Should not be reached.";
78 } 81 }
79 82
80 void SetAuthType(const std::string& user_email, 83 void SetAuthType(const AccountId& account_id,
81 AuthType auth_type, 84 AuthType auth_type,
82 const base::string16& auth_value) override { 85 const base::string16& auth_value) override {
83 ASSERT_EQ(user_email_, user_email); 86 ASSERT_TRUE(account_id_ == account_id)
87 << "account_id_=" << account_id_.Serialize()
88 << " != account_id=" << account_id.Serialize();
84 // Generally, this is allowed, but EasyUnlockScreenlockStateHandler should 89 // Generally, this is allowed, but EasyUnlockScreenlockStateHandler should
85 // avoid resetting the same auth type. 90 // avoid resetting the same auth type.
86 EXPECT_NE(auth_type_, auth_type); 91 EXPECT_NE(auth_type_, auth_type);
87 92
88 auth_type_ = auth_type; 93 auth_type_ = auth_type;
89 auth_value_ = auth_value; 94 auth_value_ = auth_value;
90 } 95 }
91 96
92 AuthType GetAuthType(const std::string& user_email) const override { 97 AuthType GetAuthType(const AccountId& account_id) const override {
93 EXPECT_EQ(user_email_, user_email); 98 EXPECT_TRUE(account_id_ == account_id)
99 << "account_id_=" << account_id_.Serialize()
100 << " != account_id=" << account_id.Serialize();
94 return auth_type_; 101 return auth_type_;
95 } 102 }
96 103
97 ScreenType GetScreenType() const override { 104 ScreenType GetScreenType() const override {
98 return LOCK_SCREEN; 105 return LOCK_SCREEN;
99 } 106 }
100 107
101 void Unlock(const std::string& user_email) override { 108 void Unlock(const AccountId& account_id) override {
102 ASSERT_FALSE(true) << "Should not be reached."; 109 ASSERT_FALSE(true) << "Should not be reached.";
103 } 110 }
104 111
105 void AttemptEasySignin(const std::string& user_email, 112 void AttemptEasySignin(const AccountId& account_id,
106 const std::string& secret, 113 const std::string& secret,
107 const std::string& key_label) override { 114 const std::string& key_label) override {
108 ASSERT_FALSE(true) << "Should not be reached."; 115 ASSERT_FALSE(true) << "Should not be reached.";
109 } 116 }
110 117
111 // Utility methods used by tests: 118 // Utility methods used by tests:
112 119
113 // Gets last set auth value. 120 // Gets last set auth value.
114 base::string16 GetAuthValue() const { 121 base::string16 GetAuthValue() const {
115 return auth_value_; 122 return auth_value_;
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 EXPECT_TRUE(last_custom_icon_->HasKey("id")); 189 EXPECT_TRUE(last_custom_icon_->HasKey("id"));
183 190
184 if (last_custom_icon_->HasKey("tooltip")) { 191 if (last_custom_icon_->HasKey("tooltip")) {
185 base::string16 tooltip; 192 base::string16 tooltip;
186 EXPECT_TRUE(last_custom_icon_->GetString("tooltip.text", &tooltip)); 193 EXPECT_TRUE(last_custom_icon_->GetString("tooltip.text", &tooltip));
187 EXPECT_FALSE(tooltip.empty()); 194 EXPECT_FALSE(tooltip.empty());
188 EXPECT_FALSE(StringHasPlaceholders(tooltip)); 195 EXPECT_FALSE(StringHasPlaceholders(tooltip));
189 } 196 }
190 } 197 }
191 198
192 // The fake user email used in test. All methods called on |this| should be 199 // The fake account id used in test. All methods called on |this| should be
193 // associated with this user. 200 // associated with this user.
194 const std::string user_email_; 201 const AccountId account_id_;
195 202
196 // The last icon set using |SetUserPodCustomIcon|. Call to 203 // The last icon set using |SetUserPodCustomIcon|. Call to
197 // |HideUserPodcustomIcon| resets it. 204 // |HideUserPodcustomIcon| resets it.
198 scoped_ptr<base::DictionaryValue> last_custom_icon_; 205 scoped_ptr<base::DictionaryValue> last_custom_icon_;
199 size_t show_icon_count_; 206 size_t show_icon_count_;
200 207
201 // Auth type and value set using |SetAuthType|. 208 // Auth type and value set using |SetAuthType|.
202 AuthType auth_type_; 209 AuthType auth_type_;
203 base::string16 auth_value_; 210 base::string16 auth_value_;
204 211
205 DISALLOW_COPY_AND_ASSIGN(TestLockHandler); 212 DISALLOW_COPY_AND_ASSIGN(TestLockHandler);
206 }; 213 };
207 214
208 class EasyUnlockScreenlockStateHandlerTest : public testing::Test { 215 class EasyUnlockScreenlockStateHandlerTest : public testing::Test {
209 public: 216 public:
210 EasyUnlockScreenlockStateHandlerTest() : user_email_("test_user@gmail.com") {} 217 EasyUnlockScreenlockStateHandlerTest() {}
211 ~EasyUnlockScreenlockStateHandlerTest() override {} 218 ~EasyUnlockScreenlockStateHandlerTest() override {}
212 219
213 void SetUp() override { 220 void SetUp() override {
214 // Create and inject fake lock handler to the screenlock bridge. 221 // Create and inject fake lock handler to the screenlock bridge.
215 lock_handler_.reset(new TestLockHandler(user_email_)); 222 lock_handler_.reset(new TestLockHandler(account_id_));
216 proximity_auth::ScreenlockBridge* screenlock_bridge = 223 proximity_auth::ScreenlockBridge* screenlock_bridge =
217 proximity_auth::ScreenlockBridge::Get(); 224 proximity_auth::ScreenlockBridge::Get();
218 screenlock_bridge->SetLockHandler(lock_handler_.get()); 225 screenlock_bridge->SetLockHandler(lock_handler_.get());
219 226
220 // Create the screenlock state handler object that will be tested. 227 // Create the screenlock state handler object that will be tested.
221 state_handler_.reset(new EasyUnlockScreenlockStateHandler( 228 state_handler_.reset(new EasyUnlockScreenlockStateHandler(
222 user_email_, 229 account_id_, EasyUnlockScreenlockStateHandler::NO_HARDLOCK,
223 EasyUnlockScreenlockStateHandler::NO_HARDLOCK,
224 screenlock_bridge)); 230 screenlock_bridge));
225 } 231 }
226 232
227 void TearDown() override { 233 void TearDown() override {
228 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL); 234 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL);
229 lock_handler_.reset(); 235 lock_handler_.reset();
230 state_handler_.reset(); 236 state_handler_.reset();
231 } 237 }
232 238
233 protected: 239 protected:
234 // The state handler that is being tested. 240 // The state handler that is being tested.
235 scoped_ptr<EasyUnlockScreenlockStateHandler> state_handler_; 241 scoped_ptr<EasyUnlockScreenlockStateHandler> state_handler_;
236 242
237 // The user associated with |state_handler_|. 243 // The user associated with |state_handler_|.
238 const std::string user_email_; 244 const AccountId account_id_ = AccountId::FromUserEmail("test_user@gmail.com");
239 245
240 // Faked lock handler given to proximity_auth::ScreenlockBridge during the 246 // Faked lock handler given to proximity_auth::ScreenlockBridge during the
241 // test. Abstracts the screen lock UI. 247 // test. Abstracts the screen lock UI.
242 scoped_ptr<TestLockHandler> lock_handler_; 248 scoped_ptr<TestLockHandler> lock_handler_;
243 }; 249 };
244 250
245 TEST_F(EasyUnlockScreenlockStateHandlerTest, AuthenticatedTrialRun) { 251 TEST_F(EasyUnlockScreenlockStateHandlerTest, AuthenticatedTrialRun) {
246 state_handler_->SetTrialRun(); 252 state_handler_->SetTrialRun();
247 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); 253 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED);
248 254
249 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); 255 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount());
250 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, 256 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK,
251 lock_handler_->GetAuthType(user_email_)); 257 lock_handler_->GetAuthType(account_id_));
252 258
253 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 259 ASSERT_TRUE(lock_handler_->HasCustomIcon());
254 EXPECT_EQ(kUnlockedIconId, lock_handler_->GetCustomIconId()); 260 EXPECT_EQ(kUnlockedIconId, lock_handler_->GetCustomIconId());
255 EXPECT_TRUE(lock_handler_->CustomIconHasTooltip()); 261 EXPECT_TRUE(lock_handler_->CustomIconHasTooltip());
256 EXPECT_TRUE(lock_handler_->IsCustomIconTooltipAutoshown()); 262 EXPECT_TRUE(lock_handler_->IsCustomIconTooltipAutoshown());
257 EXPECT_FALSE(lock_handler_->CustomIconHardlocksOnClick()); 263 EXPECT_FALSE(lock_handler_->CustomIconHardlocksOnClick());
258 264
259 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); 265 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED);
260 // Duplicated state change should be ignored. 266 // Duplicated state change should be ignored.
261 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); 267 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount());
262 } 268 }
263 269
264 TEST_F(EasyUnlockScreenlockStateHandlerTest, AuthenticatedNotInitialRun) { 270 TEST_F(EasyUnlockScreenlockStateHandlerTest, AuthenticatedNotInitialRun) {
265 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); 271 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED);
266 272
267 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); 273 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount());
268 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, 274 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK,
269 lock_handler_->GetAuthType(user_email_)); 275 lock_handler_->GetAuthType(account_id_));
270 276
271 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 277 ASSERT_TRUE(lock_handler_->HasCustomIcon());
272 EXPECT_EQ(kUnlockedIconId, lock_handler_->GetCustomIconId()); 278 EXPECT_EQ(kUnlockedIconId, lock_handler_->GetCustomIconId());
273 EXPECT_TRUE(lock_handler_->CustomIconHasTooltip()); 279 EXPECT_TRUE(lock_handler_->CustomIconHasTooltip());
274 EXPECT_FALSE(lock_handler_->IsCustomIconTooltipAutoshown()); 280 EXPECT_FALSE(lock_handler_->IsCustomIconTooltipAutoshown());
275 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick()); 281 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick());
276 } 282 }
277 283
278 TEST_F(EasyUnlockScreenlockStateHandlerTest, IsActive) { 284 TEST_F(EasyUnlockScreenlockStateHandlerTest, IsActive) {
279 EXPECT_FALSE(state_handler_->IsActive()); 285 EXPECT_FALSE(state_handler_->IsActive());
280 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); 286 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED);
281 EXPECT_TRUE(state_handler_->IsActive()); 287 EXPECT_TRUE(state_handler_->IsActive());
282 state_handler_->ChangeState(ScreenlockState::INACTIVE); 288 state_handler_->ChangeState(ScreenlockState::INACTIVE);
283 EXPECT_FALSE(state_handler_->IsActive()); 289 EXPECT_FALSE(state_handler_->IsActive());
284 } 290 }
285 291
286 TEST_F(EasyUnlockScreenlockStateHandlerTest, BluetoothConnecting) { 292 TEST_F(EasyUnlockScreenlockStateHandlerTest, BluetoothConnecting) {
287 state_handler_->ChangeState(ScreenlockState::BLUETOOTH_CONNECTING); 293 state_handler_->ChangeState(ScreenlockState::BLUETOOTH_CONNECTING);
288 EXPECT_TRUE(state_handler_->IsActive()); 294 EXPECT_TRUE(state_handler_->IsActive());
289 295
290 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); 296 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount());
291 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, 297 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD,
292 lock_handler_->GetAuthType(user_email_)); 298 lock_handler_->GetAuthType(account_id_));
293 299
294 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 300 ASSERT_TRUE(lock_handler_->HasCustomIcon());
295 EXPECT_EQ(kSpinnerIconId, lock_handler_->GetCustomIconId()); 301 EXPECT_EQ(kSpinnerIconId, lock_handler_->GetCustomIconId());
296 EXPECT_FALSE(lock_handler_->CustomIconHasTooltip()); 302 EXPECT_FALSE(lock_handler_->CustomIconHasTooltip());
297 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick()); 303 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick());
298 304
299 state_handler_->ChangeState(ScreenlockState::BLUETOOTH_CONNECTING); 305 state_handler_->ChangeState(ScreenlockState::BLUETOOTH_CONNECTING);
300 // Duplicated state change should be ignored. 306 // Duplicated state change should be ignored.
301 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); 307 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount());
302 } 308 }
303 309
304 TEST_F(EasyUnlockScreenlockStateHandlerTest, HardlockedState) { 310 TEST_F(EasyUnlockScreenlockStateHandlerTest, HardlockedState) {
305 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); 311 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED);
306 312
307 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); 313 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount());
308 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, 314 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK,
309 lock_handler_->GetAuthType(user_email_)); 315 lock_handler_->GetAuthType(account_id_));
310 316
311 state_handler_->SetHardlockState( 317 state_handler_->SetHardlockState(
312 EasyUnlockScreenlockStateHandler::USER_HARDLOCK); 318 EasyUnlockScreenlockStateHandler::USER_HARDLOCK);
313 319
314 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); 320 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount());
315 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, 321 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD,
316 lock_handler_->GetAuthType(user_email_)); 322 lock_handler_->GetAuthType(account_id_));
317 323
318 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 324 ASSERT_TRUE(lock_handler_->HasCustomIcon());
319 EXPECT_EQ(kHardlockedIconId, lock_handler_->GetCustomIconId()); 325 EXPECT_EQ(kHardlockedIconId, lock_handler_->GetCustomIconId());
320 EXPECT_TRUE(lock_handler_->CustomIconHasTooltip()); 326 EXPECT_TRUE(lock_handler_->CustomIconHasTooltip());
321 EXPECT_TRUE(lock_handler_->IsCustomIconTooltipAutoshown()); 327 EXPECT_TRUE(lock_handler_->IsCustomIconTooltipAutoshown());
322 EXPECT_FALSE(lock_handler_->CustomIconHardlocksOnClick()); 328 EXPECT_FALSE(lock_handler_->CustomIconHardlocksOnClick());
323 329
324 state_handler_->SetHardlockState( 330 state_handler_->SetHardlockState(
325 EasyUnlockScreenlockStateHandler::USER_HARDLOCK); 331 EasyUnlockScreenlockStateHandler::USER_HARDLOCK);
326 332
327 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); 333 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount());
328 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 334 ASSERT_TRUE(lock_handler_->HasCustomIcon());
329 } 335 }
330 336
331 TEST_F(EasyUnlockScreenlockStateHandlerTest, HardlockedStateNoPairing) { 337 TEST_F(EasyUnlockScreenlockStateHandlerTest, HardlockedStateNoPairing) {
332 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); 338 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED);
333 339
334 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); 340 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount());
335 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, 341 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK,
336 lock_handler_->GetAuthType(user_email_)); 342 lock_handler_->GetAuthType(account_id_));
337 343
338 state_handler_->SetHardlockState( 344 state_handler_->SetHardlockState(
339 EasyUnlockScreenlockStateHandler::NO_PAIRING); 345 EasyUnlockScreenlockStateHandler::NO_PAIRING);
340 346
341 EXPECT_FALSE(lock_handler_->HasCustomIcon()); 347 EXPECT_FALSE(lock_handler_->HasCustomIcon());
342 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, 348 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD,
343 lock_handler_->GetAuthType(user_email_)); 349 lock_handler_->GetAuthType(account_id_));
344 } 350 }
345 351
346 TEST_F(EasyUnlockScreenlockStateHandlerTest, StatesWithLockedIcon) { 352 TEST_F(EasyUnlockScreenlockStateHandlerTest, StatesWithLockedIcon) {
347 std::vector<ScreenlockState> states; 353 std::vector<ScreenlockState> states;
348 states.push_back(ScreenlockState::NO_BLUETOOTH); 354 states.push_back(ScreenlockState::NO_BLUETOOTH);
349 states.push_back(ScreenlockState::NO_PHONE); 355 states.push_back(ScreenlockState::NO_PHONE);
350 states.push_back(ScreenlockState::PHONE_UNSUPPORTED); 356 states.push_back(ScreenlockState::PHONE_UNSUPPORTED);
351 states.push_back(ScreenlockState::PHONE_NOT_LOCKABLE); 357 states.push_back(ScreenlockState::PHONE_NOT_LOCKABLE);
352 states.push_back(ScreenlockState::PHONE_NOT_AUTHENTICATED); 358 states.push_back(ScreenlockState::PHONE_NOT_AUTHENTICATED);
353 states.push_back(ScreenlockState::PHONE_LOCKED); 359 states.push_back(ScreenlockState::PHONE_LOCKED);
354 360
355 for (size_t i = 0; i < states.size(); ++i) { 361 for (size_t i = 0; i < states.size(); ++i) {
356 SCOPED_TRACE(base::SizeTToString(i)); 362 SCOPED_TRACE(base::SizeTToString(i));
357 state_handler_->ChangeState(states[i]); 363 state_handler_->ChangeState(states[i]);
358 EXPECT_TRUE(state_handler_->IsActive()); 364 EXPECT_TRUE(state_handler_->IsActive());
359 365
360 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); 366 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount());
361 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, 367 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD,
362 lock_handler_->GetAuthType(user_email_)); 368 lock_handler_->GetAuthType(account_id_));
363 369
364 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 370 ASSERT_TRUE(lock_handler_->HasCustomIcon());
365 EXPECT_EQ(kLockedIconId, lock_handler_->GetCustomIconId()); 371 EXPECT_EQ(kLockedIconId, lock_handler_->GetCustomIconId());
366 EXPECT_TRUE(lock_handler_->CustomIconHasTooltip()); 372 EXPECT_TRUE(lock_handler_->CustomIconHasTooltip());
367 EXPECT_TRUE(lock_handler_->IsCustomIconTooltipAutoshown()); 373 EXPECT_TRUE(lock_handler_->IsCustomIconTooltipAutoshown());
368 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick()); 374 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick());
369 375
370 state_handler_->ChangeState(states[i]); 376 state_handler_->ChangeState(states[i]);
371 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); 377 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount());
372 } 378 }
373 } 379 }
374 380
375 TEST_F(EasyUnlockScreenlockStateHandlerTest, SettingTrialRunUpdatesUI) { 381 TEST_F(EasyUnlockScreenlockStateHandlerTest, SettingTrialRunUpdatesUI) {
376 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); 382 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED);
377 383
378 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); 384 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount());
379 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, 385 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK,
380 lock_handler_->GetAuthType(user_email_)); 386 lock_handler_->GetAuthType(account_id_));
381 387
382 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 388 ASSERT_TRUE(lock_handler_->HasCustomIcon());
383 ASSERT_FALSE(lock_handler_->IsCustomIconTooltipAutoshown()); 389 ASSERT_FALSE(lock_handler_->IsCustomIconTooltipAutoshown());
384 390
385 state_handler_->SetTrialRun(); 391 state_handler_->SetTrialRun();
386 392
387 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); 393 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount());
388 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, 394 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK,
389 lock_handler_->GetAuthType(user_email_)); 395 lock_handler_->GetAuthType(account_id_));
390 396
391 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 397 ASSERT_TRUE(lock_handler_->HasCustomIcon());
392 ASSERT_TRUE(lock_handler_->IsCustomIconTooltipAutoshown()); 398 ASSERT_TRUE(lock_handler_->IsCustomIconTooltipAutoshown());
393 } 399 }
394 400
395 TEST_F(EasyUnlockScreenlockStateHandlerTest, 401 TEST_F(EasyUnlockScreenlockStateHandlerTest,
396 LockScreenClearedOnStateHandlerDestruction) { 402 LockScreenClearedOnStateHandlerDestruction) {
397 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); 403 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED);
398 404
399 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); 405 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount());
400 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, 406 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK,
401 lock_handler_->GetAuthType(user_email_)); 407 lock_handler_->GetAuthType(account_id_));
402 408
403 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 409 ASSERT_TRUE(lock_handler_->HasCustomIcon());
404 410
405 state_handler_.reset(); 411 state_handler_.reset();
406 412
407 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); 413 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount());
408 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, 414 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD,
409 lock_handler_->GetAuthType(user_email_)); 415 lock_handler_->GetAuthType(account_id_));
410 416
411 ASSERT_FALSE(lock_handler_->HasCustomIcon()); 417 ASSERT_FALSE(lock_handler_->HasCustomIcon());
412 } 418 }
413 419
414 TEST_F(EasyUnlockScreenlockStateHandlerTest, StatePreservedWhenScreenUnlocks) { 420 TEST_F(EasyUnlockScreenlockStateHandlerTest, StatePreservedWhenScreenUnlocks) {
415 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); 421 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED);
416 422
417 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); 423 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount());
418 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, 424 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK,
419 lock_handler_->GetAuthType(user_email_)); 425 lock_handler_->GetAuthType(account_id_));
420 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 426 ASSERT_TRUE(lock_handler_->HasCustomIcon());
421 427
422 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL); 428 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL);
423 lock_handler_.reset(new TestLockHandler(user_email_)); 429 lock_handler_.reset(new TestLockHandler(account_id_));
424 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); 430 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount());
425 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(lock_handler_.get()); 431 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(lock_handler_.get());
426 432
427 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); 433 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount());
428 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, 434 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK,
429 lock_handler_->GetAuthType(user_email_)); 435 lock_handler_->GetAuthType(account_id_));
430 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 436 ASSERT_TRUE(lock_handler_->HasCustomIcon());
431 } 437 }
432 438
433 TEST_F(EasyUnlockScreenlockStateHandlerTest, StateChangeWhileScreenUnlocked) { 439 TEST_F(EasyUnlockScreenlockStateHandlerTest, StateChangeWhileScreenUnlocked) {
434 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); 440 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED);
435 441
436 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); 442 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount());
437 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, 443 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK,
438 lock_handler_->GetAuthType(user_email_)); 444 lock_handler_->GetAuthType(account_id_));
439 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 445 ASSERT_TRUE(lock_handler_->HasCustomIcon());
440 446
441 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL); 447 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL);
442 lock_handler_.reset(new TestLockHandler(user_email_)); 448 lock_handler_.reset(new TestLockHandler(account_id_));
443 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); 449 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount());
444 450
445 state_handler_->ChangeState(ScreenlockState::BLUETOOTH_CONNECTING); 451 state_handler_->ChangeState(ScreenlockState::BLUETOOTH_CONNECTING);
446 452
447 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(lock_handler_.get()); 453 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(lock_handler_.get());
448 454
449 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); 455 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount());
450 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, 456 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD,
451 lock_handler_->GetAuthType(user_email_)); 457 lock_handler_->GetAuthType(account_id_));
452 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 458 ASSERT_TRUE(lock_handler_->HasCustomIcon());
453 EXPECT_EQ(kSpinnerIconId, lock_handler_->GetCustomIconId()); 459 EXPECT_EQ(kSpinnerIconId, lock_handler_->GetCustomIconId());
454 } 460 }
455 461
456 TEST_F(EasyUnlockScreenlockStateHandlerTest, 462 TEST_F(EasyUnlockScreenlockStateHandlerTest,
457 HardlockEnabledAfterInitialUnlock) { 463 HardlockEnabledAfterInitialUnlock) {
458 state_handler_->SetTrialRun(); 464 state_handler_->SetTrialRun();
459 465
460 std::vector<ScreenlockState> states; 466 std::vector<ScreenlockState> states;
461 states.push_back(ScreenlockState::BLUETOOTH_CONNECTING); 467 states.push_back(ScreenlockState::BLUETOOTH_CONNECTING);
462 states.push_back(ScreenlockState::PHONE_NOT_AUTHENTICATED); 468 states.push_back(ScreenlockState::PHONE_NOT_AUTHENTICATED);
463 states.push_back(ScreenlockState::NO_BLUETOOTH); 469 states.push_back(ScreenlockState::NO_BLUETOOTH);
464 states.push_back(ScreenlockState::NO_PHONE); 470 states.push_back(ScreenlockState::NO_PHONE);
465 states.push_back(ScreenlockState::PHONE_UNSUPPORTED); 471 states.push_back(ScreenlockState::PHONE_UNSUPPORTED);
466 states.push_back(ScreenlockState::PHONE_NOT_LOCKABLE); 472 states.push_back(ScreenlockState::PHONE_NOT_LOCKABLE);
467 // This one should go last as changing state to AUTHENTICATED enables hard 473 // This one should go last as changing state to AUTHENTICATED enables hard
468 // locking. 474 // locking.
469 states.push_back(ScreenlockState::AUTHENTICATED); 475 states.push_back(ScreenlockState::AUTHENTICATED);
470 476
471 for (size_t i = 0; i < states.size(); ++i) { 477 for (size_t i = 0; i < states.size(); ++i) {
472 SCOPED_TRACE(base::SizeTToString(i)); 478 SCOPED_TRACE(base::SizeTToString(i));
473 state_handler_->ChangeState(states[i]); 479 state_handler_->ChangeState(states[i]);
474 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 480 ASSERT_TRUE(lock_handler_->HasCustomIcon());
475 EXPECT_FALSE(lock_handler_->CustomIconHardlocksOnClick()); 481 EXPECT_FALSE(lock_handler_->CustomIconHardlocksOnClick());
476 } 482 }
477 483
478 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL); 484 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL);
479 lock_handler_.reset(new TestLockHandler(user_email_)); 485 lock_handler_.reset(new TestLockHandler(account_id_));
480 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(lock_handler_.get()); 486 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(lock_handler_.get());
481 487
482 for (size_t i = 0; i < states.size(); ++i) { 488 for (size_t i = 0; i < states.size(); ++i) {
483 SCOPED_TRACE(base::SizeTToString(i)); 489 SCOPED_TRACE(base::SizeTToString(i));
484 state_handler_->ChangeState(states[i]); 490 state_handler_->ChangeState(states[i]);
485 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 491 ASSERT_TRUE(lock_handler_->HasCustomIcon());
486 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick()); 492 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick());
487 } 493 }
488 } 494 }
489 495
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
582 EXPECT_EQ(base::ASCIIToUTF16("xxx"), lock_handler_->GetAuthValue()); 588 EXPECT_EQ(base::ASCIIToUTF16("xxx"), lock_handler_->GetAuthValue());
583 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 589 ASSERT_TRUE(lock_handler_->HasCustomIcon());
584 EXPECT_EQ(kSpinnerIconId, lock_handler_->GetCustomIconId()); 590 EXPECT_EQ(kSpinnerIconId, lock_handler_->GetCustomIconId());
585 } 591 }
586 592
587 TEST_F(EasyUnlockScreenlockStateHandlerTest, StateChangesIgnoredIfHardlocked) { 593 TEST_F(EasyUnlockScreenlockStateHandlerTest, StateChangesIgnoredIfHardlocked) {
588 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); 594 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED);
589 595
590 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); 596 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount());
591 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, 597 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK,
592 lock_handler_->GetAuthType(user_email_)); 598 lock_handler_->GetAuthType(account_id_));
593 599
594 state_handler_->SetHardlockState( 600 state_handler_->SetHardlockState(
595 EasyUnlockScreenlockStateHandler::USER_HARDLOCK); 601 EasyUnlockScreenlockStateHandler::USER_HARDLOCK);
596 602
597 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); 603 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount());
598 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, 604 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD,
599 lock_handler_->GetAuthType(user_email_)); 605 lock_handler_->GetAuthType(account_id_));
600 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 606 ASSERT_TRUE(lock_handler_->HasCustomIcon());
601 EXPECT_EQ(kHardlockedIconId, lock_handler_->GetCustomIconId()); 607 EXPECT_EQ(kHardlockedIconId, lock_handler_->GetCustomIconId());
602 608
603 state_handler_->ChangeState(ScreenlockState::NO_PHONE); 609 state_handler_->ChangeState(ScreenlockState::NO_PHONE);
604 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 610 ASSERT_TRUE(lock_handler_->HasCustomIcon());
605 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); 611 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount());
606 612
607 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); 613 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED);
608 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 614 ASSERT_TRUE(lock_handler_->HasCustomIcon());
609 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); 615 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount());
610 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, 616 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD,
611 lock_handler_->GetAuthType(user_email_)); 617 lock_handler_->GetAuthType(account_id_));
612 } 618 }
613 619
614 TEST_F(EasyUnlockScreenlockStateHandlerTest, 620 TEST_F(EasyUnlockScreenlockStateHandlerTest,
615 LockScreenChangeableOnLockAfterHardlockReset) { 621 LockScreenChangeableOnLockAfterHardlockReset) {
616 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); 622 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED);
617 623
618 state_handler_->SetHardlockState( 624 state_handler_->SetHardlockState(
619 EasyUnlockScreenlockStateHandler::USER_HARDLOCK); 625 EasyUnlockScreenlockStateHandler::USER_HARDLOCK);
620 EXPECT_EQ(2u, lock_handler_->GetAndResetShowIconCount()); 626 EXPECT_EQ(2u, lock_handler_->GetAndResetShowIconCount());
621 627
622 state_handler_->SetHardlockState( 628 state_handler_->SetHardlockState(
623 EasyUnlockScreenlockStateHandler::NO_HARDLOCK); 629 EasyUnlockScreenlockStateHandler::NO_HARDLOCK);
624 630
625 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL); 631 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL);
626 lock_handler_.reset(new TestLockHandler(user_email_)); 632 lock_handler_.reset(new TestLockHandler(account_id_));
627 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); 633 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount());
628 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(lock_handler_.get()); 634 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(lock_handler_.get());
629 635
630 state_handler_->ChangeState(ScreenlockState::NO_PHONE); 636 state_handler_->ChangeState(ScreenlockState::NO_PHONE);
631 637
632 EXPECT_EQ(2u, lock_handler_->GetAndResetShowIconCount()); 638 EXPECT_EQ(2u, lock_handler_->GetAndResetShowIconCount());
633 EXPECT_TRUE(lock_handler_->HasCustomIcon()); 639 EXPECT_TRUE(lock_handler_->HasCustomIcon());
634 640
635 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL); 641 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL);
636 lock_handler_.reset(new TestLockHandler(user_email_)); 642 lock_handler_.reset(new TestLockHandler(account_id_));
637 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); 643 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount());
638 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(lock_handler_.get()); 644 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(lock_handler_.get());
639 645
640 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); 646 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount());
641 EXPECT_TRUE(lock_handler_->HasCustomIcon()); 647 EXPECT_TRUE(lock_handler_->HasCustomIcon());
642 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, 648 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD,
643 lock_handler_->GetAuthType(user_email_)); 649 lock_handler_->GetAuthType(account_id_));
644 EXPECT_EQ(kLockedIconId, lock_handler_->GetCustomIconId()); 650 EXPECT_EQ(kLockedIconId, lock_handler_->GetCustomIconId());
645 651
646 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); 652 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED);
647 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); 653 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount());
648 EXPECT_TRUE(lock_handler_->HasCustomIcon()); 654 EXPECT_TRUE(lock_handler_->HasCustomIcon());
649 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, 655 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK,
650 lock_handler_->GetAuthType(user_email_)); 656 lock_handler_->GetAuthType(account_id_));
651 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick()); 657 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick());
652 } 658 }
653 659
654 TEST_F(EasyUnlockScreenlockStateHandlerTest, HardlockStatePersistsOverUnlocks) { 660 TEST_F(EasyUnlockScreenlockStateHandlerTest, HardlockStatePersistsOverUnlocks) {
655 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); 661 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED);
656 state_handler_->SetHardlockState( 662 state_handler_->SetHardlockState(
657 EasyUnlockScreenlockStateHandler::USER_HARDLOCK); 663 EasyUnlockScreenlockStateHandler::USER_HARDLOCK);
658 EXPECT_EQ(2u, lock_handler_->GetAndResetShowIconCount()); 664 EXPECT_EQ(2u, lock_handler_->GetAndResetShowIconCount());
659 665
660 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL); 666 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL);
661 lock_handler_.reset(new TestLockHandler(user_email_)); 667 lock_handler_.reset(new TestLockHandler(account_id_));
662 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); 668 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount());
663 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(lock_handler_.get()); 669 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(lock_handler_.get());
664 670
665 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); 671 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount());
666 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, 672 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD,
667 lock_handler_->GetAuthType(user_email_)); 673 lock_handler_->GetAuthType(account_id_));
668 ASSERT_TRUE(lock_handler_->HasCustomIcon()); 674 ASSERT_TRUE(lock_handler_->HasCustomIcon());
669 EXPECT_EQ(kHardlockedIconId, lock_handler_->GetCustomIconId()); 675 EXPECT_EQ(kHardlockedIconId, lock_handler_->GetCustomIconId());
670 676
671 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); 677 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED);
672 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); 678 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount());
673 EXPECT_TRUE(lock_handler_->HasCustomIcon()); 679 EXPECT_TRUE(lock_handler_->HasCustomIcon());
674 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, 680 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD,
675 lock_handler_->GetAuthType(user_email_)); 681 lock_handler_->GetAuthType(account_id_));
676 } 682 }
677 683
678 TEST_F(EasyUnlockScreenlockStateHandlerTest, NoOverrideOnlineSignin) { 684 TEST_F(EasyUnlockScreenlockStateHandlerTest, NoOverrideOnlineSignin) {
679 lock_handler_->SetAuthType( 685 lock_handler_->SetAuthType(
680 user_email_, 686 account_id_,
681 proximity_auth::ScreenlockBridge::LockHandler::ONLINE_SIGN_IN, 687 proximity_auth::ScreenlockBridge::LockHandler::ONLINE_SIGN_IN,
682 base::string16()); 688 base::string16());
683 689
684 std::vector<ScreenlockState> states; 690 std::vector<ScreenlockState> states;
685 states.push_back(ScreenlockState::NO_BLUETOOTH); 691 states.push_back(ScreenlockState::NO_BLUETOOTH);
686 states.push_back(ScreenlockState::NO_PHONE); 692 states.push_back(ScreenlockState::NO_PHONE);
687 states.push_back(ScreenlockState::PHONE_UNSUPPORTED); 693 states.push_back(ScreenlockState::PHONE_UNSUPPORTED);
688 states.push_back(ScreenlockState::PHONE_NOT_LOCKABLE); 694 states.push_back(ScreenlockState::PHONE_NOT_LOCKABLE);
689 states.push_back(ScreenlockState::PHONE_NOT_AUTHENTICATED); 695 states.push_back(ScreenlockState::PHONE_NOT_AUTHENTICATED);
690 states.push_back(ScreenlockState::PHONE_LOCKED); 696 states.push_back(ScreenlockState::PHONE_LOCKED);
691 states.push_back(ScreenlockState::PHONE_NOT_LOCKABLE); 697 states.push_back(ScreenlockState::PHONE_NOT_LOCKABLE);
692 states.push_back(ScreenlockState::PHONE_UNSUPPORTED); 698 states.push_back(ScreenlockState::PHONE_UNSUPPORTED);
693 states.push_back(ScreenlockState::RSSI_TOO_LOW); 699 states.push_back(ScreenlockState::RSSI_TOO_LOW);
694 states.push_back(ScreenlockState::TX_POWER_TOO_HIGH); 700 states.push_back(ScreenlockState::TX_POWER_TOO_HIGH);
695 states.push_back(ScreenlockState::AUTHENTICATED); 701 states.push_back(ScreenlockState::AUTHENTICATED);
696 702
697 for (size_t i = 0; i < states.size(); ++i) { 703 for (size_t i = 0; i < states.size(); ++i) {
698 state_handler_->ChangeState(states[i]); 704 state_handler_->ChangeState(states[i]);
699 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::ONLINE_SIGN_IN, 705 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::ONLINE_SIGN_IN,
700 lock_handler_->GetAuthType(user_email_)); 706 lock_handler_->GetAuthType(account_id_));
701 EXPECT_FALSE(lock_handler_->HasCustomIcon()); 707 EXPECT_FALSE(lock_handler_->HasCustomIcon());
702 } 708 }
703 709
704 std::vector<EasyUnlockScreenlockStateHandler::HardlockState> hardlock_states; 710 std::vector<EasyUnlockScreenlockStateHandler::HardlockState> hardlock_states;
705 hardlock_states.push_back(EasyUnlockScreenlockStateHandler::NO_HARDLOCK); 711 hardlock_states.push_back(EasyUnlockScreenlockStateHandler::NO_HARDLOCK);
706 hardlock_states.push_back(EasyUnlockScreenlockStateHandler::USER_HARDLOCK); 712 hardlock_states.push_back(EasyUnlockScreenlockStateHandler::USER_HARDLOCK);
707 hardlock_states.push_back(EasyUnlockScreenlockStateHandler::PAIRING_CHANGED); 713 hardlock_states.push_back(EasyUnlockScreenlockStateHandler::PAIRING_CHANGED);
708 hardlock_states.push_back(EasyUnlockScreenlockStateHandler::PAIRING_ADDED); 714 hardlock_states.push_back(EasyUnlockScreenlockStateHandler::PAIRING_ADDED);
709 hardlock_states.push_back(EasyUnlockScreenlockStateHandler::NO_PAIRING); 715 hardlock_states.push_back(EasyUnlockScreenlockStateHandler::NO_PAIRING);
710 hardlock_states.push_back(EasyUnlockScreenlockStateHandler::LOGIN_FAILED); 716 hardlock_states.push_back(EasyUnlockScreenlockStateHandler::LOGIN_FAILED);
711 717
712 for (size_t i = 0; i < hardlock_states.size(); ++i) { 718 for (size_t i = 0; i < hardlock_states.size(); ++i) {
713 state_handler_->SetHardlockState(hardlock_states[i]); 719 state_handler_->SetHardlockState(hardlock_states[i]);
714 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::ONLINE_SIGN_IN, 720 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::ONLINE_SIGN_IN,
715 lock_handler_->GetAuthType(user_email_)); 721 lock_handler_->GetAuthType(account_id_));
716 EXPECT_FALSE(lock_handler_->HasCustomIcon()); 722 EXPECT_FALSE(lock_handler_->HasCustomIcon());
717 } 723 }
718 } 724 }
719 725
720 TEST_F(EasyUnlockScreenlockStateHandlerTest, TrialRunMetrics) { 726 TEST_F(EasyUnlockScreenlockStateHandlerTest, TrialRunMetrics) {
721 base::HistogramTester histogram_tester; 727 base::HistogramTester histogram_tester;
722 728
723 // Simulate the user clicking on the lock icon twice outside of a trial run. 729 // Simulate the user clicking on the lock icon twice outside of a trial run.
724 // No trial run metrics should be recorded. 730 // No trial run metrics should be recorded.
725 state_handler_->RecordClickOnLockIcon(); 731 state_handler_->RecordClickOnLockIcon();
726 state_handler_->RecordClickOnLockIcon(); 732 state_handler_->RecordClickOnLockIcon();
727 histogram_tester.ExpectTotalCount("EasyUnlock.TrialRun.Events", 0); 733 histogram_tester.ExpectTotalCount("EasyUnlock.TrialRun.Events", 0);
728 734
729 // Simulate the user clicking on the lock icon three times during a trial run. 735 // Simulate the user clicking on the lock icon three times during a trial run.
730 state_handler_->SetTrialRun(); 736 state_handler_->SetTrialRun();
731 state_handler_->RecordClickOnLockIcon(); 737 state_handler_->RecordClickOnLockIcon();
732 state_handler_->RecordClickOnLockIcon(); 738 state_handler_->RecordClickOnLockIcon();
733 state_handler_->RecordClickOnLockIcon(); 739 state_handler_->RecordClickOnLockIcon();
734 histogram_tester.ExpectTotalCount("EasyUnlock.TrialRun.Events", 4); 740 histogram_tester.ExpectTotalCount("EasyUnlock.TrialRun.Events", 4);
735 histogram_tester.ExpectBucketCount("EasyUnlock.TrialRun.Events", 741 histogram_tester.ExpectBucketCount("EasyUnlock.TrialRun.Events",
736 EASY_UNLOCK_TRIAL_RUN_EVENT_LAUNCHED, 1); 742 EASY_UNLOCK_TRIAL_RUN_EVENT_LAUNCHED, 1);
737 histogram_tester.ExpectBucketCount( 743 histogram_tester.ExpectBucketCount(
738 "EasyUnlock.TrialRun.Events", 744 "EasyUnlock.TrialRun.Events",
739 EASY_UNLOCK_TRIAL_RUN_EVENT_CLICKED_LOCK_ICON, 3); 745 EASY_UNLOCK_TRIAL_RUN_EVENT_CLICKED_LOCK_ICON, 3);
740 } 746 }
741 747
742 } // namespace 748 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698