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

Side by Side Diff: components/cryptauth/cryptauth_enrollment_manager_unittest.cc

Issue 2502343003: Moved //components/proximity_auth/cryptauth to //components/cryptauth. (Closed)
Patch Set: Fixed proto #includes. Created 4 years, 1 month 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 "components/proximity_auth/cryptauth/cryptauth_enrollment_manager.h" 5 #include "components/cryptauth/cryptauth_enrollment_manager.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/base64url.h" 9 #include "base/base64url.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "base/memory/ptr_util.h" 11 #include "base/memory/ptr_util.h"
12 #include "base/memory/weak_ptr.h" 12 #include "base/memory/weak_ptr.h"
13 #include "base/test/simple_test_clock.h" 13 #include "base/test/simple_test_clock.h"
14 #include "base/time/clock.h" 14 #include "base/time/clock.h"
15 #include "base/time/time.h" 15 #include "base/time/time.h"
16 #include "components/cryptauth/cryptauth_enroller.h"
17 #include "components/cryptauth/fake_cryptauth_gcm_manager.h"
18 #include "components/cryptauth/fake_secure_message_delegate.h"
19 #include "components/cryptauth/mock_sync_scheduler.h"
20 #include "components/cryptauth/pref_names.h"
16 #include "components/prefs/testing_pref_service.h" 21 #include "components/prefs/testing_pref_service.h"
17 #include "components/proximity_auth/cryptauth/cryptauth_enroller.h"
18 #include "components/proximity_auth/cryptauth/fake_cryptauth_gcm_manager.h"
19 #include "components/proximity_auth/cryptauth/fake_secure_message_delegate.h"
20 #include "components/proximity_auth/cryptauth/mock_sync_scheduler.h"
21 #include "components/proximity_auth/cryptauth/pref_names.h"
22 #include "testing/gmock/include/gmock/gmock.h" 22 #include "testing/gmock/include/gmock/gmock.h"
23 #include "testing/gtest/include/gtest/gtest.h" 23 #include "testing/gtest/include/gtest/gtest.h"
24 24
25 using ::testing::_; 25 using ::testing::_;
26 using ::testing::NiceMock; 26 using ::testing::NiceMock;
27 using ::testing::Return; 27 using ::testing::Return;
28 using ::testing::SaveArg; 28 using ::testing::SaveArg;
29 29
30 namespace proximity_auth { 30 namespace cryptauth {
31 31
32 namespace { 32 namespace {
33 33
34 // The GCM registration id from a successful registration. 34 // The GCM registration id from a successful registration.
35 const char kGCMRegistrationId[] = "new gcm registration id"; 35 const char kGCMRegistrationId[] = "new gcm registration id";
36 36
37 // The user's persistent public key identifying the local device. 37 // The user's persistent public key identifying the local device.
38 const char kUserPublicKey[] = "user public key"; 38 const char kUserPublicKey[] = "user public key";
39 39
40 // The initial "Now" time for testing. 40 // The initial "Now" time for testing.
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 // the super class. 134 // the super class.
135 // This should be safe because the life-time this SyncScheduler will always be 135 // This should be safe because the life-time this SyncScheduler will always be
136 // within the life of the TestCryptAuthEnrollmentManager object. 136 // within the life of the TestCryptAuthEnrollmentManager object.
137 base::WeakPtrFactory<MockSyncScheduler> weak_sync_scheduler_factory_; 137 base::WeakPtrFactory<MockSyncScheduler> weak_sync_scheduler_factory_;
138 138
139 DISALLOW_COPY_AND_ASSIGN(TestCryptAuthEnrollmentManager); 139 DISALLOW_COPY_AND_ASSIGN(TestCryptAuthEnrollmentManager);
140 }; 140 };
141 141
142 } // namespace 142 } // namespace
143 143
144 class ProximityAuthCryptAuthEnrollmentManagerTest 144 class CryptAuthEnrollmentManagerTest
145 : public testing::Test, 145 : public testing::Test,
146 public CryptAuthEnrollmentManager::Observer { 146 public CryptAuthEnrollmentManager::Observer {
147 protected: 147 protected:
148 ProximityAuthCryptAuthEnrollmentManagerTest() 148 CryptAuthEnrollmentManagerTest()
149 : public_key_(kUserPublicKey), 149 : public_key_(kUserPublicKey),
150 clock_(new base::SimpleTestClock()), 150 clock_(new base::SimpleTestClock()),
151 enroller_factory_(new MockCryptAuthEnrollerFactory()), 151 enroller_factory_(new MockCryptAuthEnrollerFactory()),
152 secure_message_delegate_(new FakeSecureMessageDelegate()), 152 secure_message_delegate_(new FakeSecureMessageDelegate()),
153 gcm_manager_(kGCMRegistrationId), 153 gcm_manager_(kGCMRegistrationId),
154 enrollment_manager_(base::WrapUnique(clock_), 154 enrollment_manager_(base::WrapUnique(clock_),
155 base::WrapUnique(enroller_factory_), 155 base::WrapUnique(enroller_factory_),
156 base::WrapUnique(secure_message_delegate_), 156 base::WrapUnique(secure_message_delegate_),
157 device_info_, 157 device_info_,
158 &gcm_manager_, 158 &gcm_manager_,
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 FakeSecureMessageDelegate* secure_message_delegate_; 254 FakeSecureMessageDelegate* secure_message_delegate_;
255 255
256 cryptauth::GcmDeviceInfo device_info_; 256 cryptauth::GcmDeviceInfo device_info_;
257 257
258 TestingPrefServiceSimple pref_service_; 258 TestingPrefServiceSimple pref_service_;
259 259
260 FakeCryptAuthGCMManager gcm_manager_; 260 FakeCryptAuthGCMManager gcm_manager_;
261 261
262 TestCryptAuthEnrollmentManager enrollment_manager_; 262 TestCryptAuthEnrollmentManager enrollment_manager_;
263 263
264 DISALLOW_COPY_AND_ASSIGN(ProximityAuthCryptAuthEnrollmentManagerTest); 264 DISALLOW_COPY_AND_ASSIGN(CryptAuthEnrollmentManagerTest);
265 }; 265 };
266 266
267 TEST_F(ProximityAuthCryptAuthEnrollmentManagerTest, RegisterPrefs) { 267 TEST_F(CryptAuthEnrollmentManagerTest, RegisterPrefs) {
268 TestingPrefServiceSimple pref_service; 268 TestingPrefServiceSimple pref_service;
269 CryptAuthEnrollmentManager::RegisterPrefs(pref_service.registry()); 269 CryptAuthEnrollmentManager::RegisterPrefs(pref_service.registry());
270 EXPECT_TRUE(pref_service.FindPreference( 270 EXPECT_TRUE(pref_service.FindPreference(
271 prefs::kCryptAuthEnrollmentLastEnrollmentTimeSeconds)); 271 prefs::kCryptAuthEnrollmentLastEnrollmentTimeSeconds));
272 EXPECT_TRUE(pref_service.FindPreference( 272 EXPECT_TRUE(pref_service.FindPreference(
273 prefs::kCryptAuthEnrollmentIsRecoveringFromFailure)); 273 prefs::kCryptAuthEnrollmentIsRecoveringFromFailure));
274 EXPECT_TRUE(pref_service.FindPreference(prefs::kCryptAuthEnrollmentReason)); 274 EXPECT_TRUE(pref_service.FindPreference(prefs::kCryptAuthEnrollmentReason));
275 } 275 }
276 276
277 TEST_F(ProximityAuthCryptAuthEnrollmentManagerTest, GetEnrollmentState) { 277 TEST_F(CryptAuthEnrollmentManagerTest, GetEnrollmentState) {
278 enrollment_manager_.Start(); 278 enrollment_manager_.Start();
279 279
280 ON_CALL(*sync_scheduler(), GetStrategy()) 280 ON_CALL(*sync_scheduler(), GetStrategy())
281 .WillByDefault(Return(SyncScheduler::Strategy::PERIODIC_REFRESH)); 281 .WillByDefault(Return(SyncScheduler::Strategy::PERIODIC_REFRESH));
282 EXPECT_FALSE(enrollment_manager_.IsRecoveringFromFailure()); 282 EXPECT_FALSE(enrollment_manager_.IsRecoveringFromFailure());
283 283
284 ON_CALL(*sync_scheduler(), GetStrategy()) 284 ON_CALL(*sync_scheduler(), GetStrategy())
285 .WillByDefault(Return(SyncScheduler::Strategy::AGGRESSIVE_RECOVERY)); 285 .WillByDefault(Return(SyncScheduler::Strategy::AGGRESSIVE_RECOVERY));
286 EXPECT_TRUE(enrollment_manager_.IsRecoveringFromFailure()); 286 EXPECT_TRUE(enrollment_manager_.IsRecoveringFromFailure());
287 287
288 base::TimeDelta time_to_next_sync = base::TimeDelta::FromMinutes(60); 288 base::TimeDelta time_to_next_sync = base::TimeDelta::FromMinutes(60);
289 ON_CALL(*sync_scheduler(), GetTimeToNextSync()) 289 ON_CALL(*sync_scheduler(), GetTimeToNextSync())
290 .WillByDefault(Return(time_to_next_sync)); 290 .WillByDefault(Return(time_to_next_sync));
291 EXPECT_EQ(time_to_next_sync, enrollment_manager_.GetTimeToNextAttempt()); 291 EXPECT_EQ(time_to_next_sync, enrollment_manager_.GetTimeToNextAttempt());
292 292
293 ON_CALL(*sync_scheduler(), GetSyncState()) 293 ON_CALL(*sync_scheduler(), GetSyncState())
294 .WillByDefault(Return(SyncScheduler::SyncState::SYNC_IN_PROGRESS)); 294 .WillByDefault(Return(SyncScheduler::SyncState::SYNC_IN_PROGRESS));
295 EXPECT_TRUE(enrollment_manager_.IsEnrollmentInProgress()); 295 EXPECT_TRUE(enrollment_manager_.IsEnrollmentInProgress());
296 296
297 ON_CALL(*sync_scheduler(), GetSyncState()) 297 ON_CALL(*sync_scheduler(), GetSyncState())
298 .WillByDefault(Return(SyncScheduler::SyncState::WAITING_FOR_REFRESH)); 298 .WillByDefault(Return(SyncScheduler::SyncState::WAITING_FOR_REFRESH));
299 EXPECT_FALSE(enrollment_manager_.IsEnrollmentInProgress()); 299 EXPECT_FALSE(enrollment_manager_.IsEnrollmentInProgress());
300 } 300 }
301 301
302 TEST_F(ProximityAuthCryptAuthEnrollmentManagerTest, InitWithDefaultPrefs) { 302 TEST_F(CryptAuthEnrollmentManagerTest, InitWithDefaultPrefs) {
303 std::unique_ptr<base::SimpleTestClock> clock(new base::SimpleTestClock()); 303 std::unique_ptr<base::SimpleTestClock> clock(new base::SimpleTestClock());
304 clock->SetNow(base::Time::FromDoubleT(kInitialTimeNowSeconds)); 304 clock->SetNow(base::Time::FromDoubleT(kInitialTimeNowSeconds));
305 base::TimeDelta elapsed_time = clock->Now() - base::Time::FromDoubleT(0); 305 base::TimeDelta elapsed_time = clock->Now() - base::Time::FromDoubleT(0);
306 306
307 TestingPrefServiceSimple pref_service; 307 TestingPrefServiceSimple pref_service;
308 CryptAuthEnrollmentManager::RegisterPrefs(pref_service.registry()); 308 CryptAuthEnrollmentManager::RegisterPrefs(pref_service.registry());
309 309
310 TestCryptAuthEnrollmentManager enrollment_manager( 310 TestCryptAuthEnrollmentManager enrollment_manager(
311 std::move(clock), base::MakeUnique<MockCryptAuthEnrollerFactory>(), 311 std::move(clock), base::MakeUnique<MockCryptAuthEnrollerFactory>(),
312 base::MakeUnique<FakeSecureMessageDelegate>(), device_info_, 312 base::MakeUnique<FakeSecureMessageDelegate>(), device_info_,
313 &gcm_manager_, &pref_service); 313 &gcm_manager_, &pref_service);
314 314
315 EXPECT_CALL( 315 EXPECT_CALL(
316 *enrollment_manager.GetSyncScheduler(), 316 *enrollment_manager.GetSyncScheduler(),
317 Start(elapsed_time, SyncScheduler::Strategy::AGGRESSIVE_RECOVERY)); 317 Start(elapsed_time, SyncScheduler::Strategy::AGGRESSIVE_RECOVERY));
318 enrollment_manager.Start(); 318 enrollment_manager.Start();
319 319
320 EXPECT_FALSE(enrollment_manager.IsEnrollmentValid()); 320 EXPECT_FALSE(enrollment_manager.IsEnrollmentValid());
321 EXPECT_TRUE(enrollment_manager.GetLastEnrollmentTime().is_null()); 321 EXPECT_TRUE(enrollment_manager.GetLastEnrollmentTime().is_null());
322 } 322 }
323 323
324 TEST_F(ProximityAuthCryptAuthEnrollmentManagerTest, InitWithExistingPrefs) { 324 TEST_F(CryptAuthEnrollmentManagerTest, InitWithExistingPrefs) {
325 EXPECT_CALL( 325 EXPECT_CALL(
326 *sync_scheduler(), 326 *sync_scheduler(),
327 Start(clock_->Now() - base::Time::FromDoubleT(kLastEnrollmentTimeSeconds), 327 Start(clock_->Now() - base::Time::FromDoubleT(kLastEnrollmentTimeSeconds),
328 SyncScheduler::Strategy::PERIODIC_REFRESH)); 328 SyncScheduler::Strategy::PERIODIC_REFRESH));
329 329
330 enrollment_manager_.Start(); 330 enrollment_manager_.Start();
331 EXPECT_TRUE(enrollment_manager_.IsEnrollmentValid()); 331 EXPECT_TRUE(enrollment_manager_.IsEnrollmentValid());
332 EXPECT_EQ(base::Time::FromDoubleT(kLastEnrollmentTimeSeconds), 332 EXPECT_EQ(base::Time::FromDoubleT(kLastEnrollmentTimeSeconds),
333 enrollment_manager_.GetLastEnrollmentTime()); 333 enrollment_manager_.GetLastEnrollmentTime());
334 } 334 }
335 335
336 TEST_F(ProximityAuthCryptAuthEnrollmentManagerTest, InitWithExpiredEnrollment) { 336 TEST_F(CryptAuthEnrollmentManagerTest, InitWithExpiredEnrollment) {
337 pref_service_.SetUserPref( 337 pref_service_.SetUserPref(
338 prefs::kCryptAuthEnrollmentLastEnrollmentTimeSeconds, 338 prefs::kCryptAuthEnrollmentLastEnrollmentTimeSeconds,
339 new base::FundamentalValue(kLastExpiredEnrollmentTimeSeconds)); 339 new base::FundamentalValue(kLastExpiredEnrollmentTimeSeconds));
340 340
341 EXPECT_CALL(*sync_scheduler(), 341 EXPECT_CALL(*sync_scheduler(),
342 Start(clock_->Now() - base::Time::FromDoubleT( 342 Start(clock_->Now() - base::Time::FromDoubleT(
343 kLastExpiredEnrollmentTimeSeconds), 343 kLastExpiredEnrollmentTimeSeconds),
344 SyncScheduler::Strategy::AGGRESSIVE_RECOVERY)); 344 SyncScheduler::Strategy::AGGRESSIVE_RECOVERY));
345 345
346 enrollment_manager_.Start(); 346 enrollment_manager_.Start();
347 EXPECT_FALSE(enrollment_manager_.IsEnrollmentValid()); 347 EXPECT_FALSE(enrollment_manager_.IsEnrollmentValid());
348 EXPECT_EQ(base::Time::FromDoubleT(kLastExpiredEnrollmentTimeSeconds), 348 EXPECT_EQ(base::Time::FromDoubleT(kLastExpiredEnrollmentTimeSeconds),
349 enrollment_manager_.GetLastEnrollmentTime()); 349 enrollment_manager_.GetLastEnrollmentTime());
350 } 350 }
351 351
352 TEST_F(ProximityAuthCryptAuthEnrollmentManagerTest, ForceEnrollment) { 352 TEST_F(CryptAuthEnrollmentManagerTest, ForceEnrollment) {
353 enrollment_manager_.Start(); 353 enrollment_manager_.Start();
354 354
355 EXPECT_CALL(*sync_scheduler(), ForceSync()); 355 EXPECT_CALL(*sync_scheduler(), ForceSync());
356 enrollment_manager_.ForceEnrollmentNow( 356 enrollment_manager_.ForceEnrollmentNow(
357 cryptauth::INVOCATION_REASON_SERVER_INITIATED); 357 cryptauth::INVOCATION_REASON_SERVER_INITIATED);
358 358
359 auto completion_callback = 359 auto completion_callback =
360 FireSchedulerForEnrollment(cryptauth::INVOCATION_REASON_SERVER_INITIATED); 360 FireSchedulerForEnrollment(cryptauth::INVOCATION_REASON_SERVER_INITIATED);
361 361
362 clock_->SetNow(base::Time::FromDoubleT(kLaterTimeNow)); 362 clock_->SetNow(base::Time::FromDoubleT(kLaterTimeNow));
363 EXPECT_CALL(*this, OnEnrollmentFinishedProxy(true)); 363 EXPECT_CALL(*this, OnEnrollmentFinishedProxy(true));
364 completion_callback.Run(true); 364 completion_callback.Run(true);
365 EXPECT_EQ(clock_->Now(), enrollment_manager_.GetLastEnrollmentTime()); 365 EXPECT_EQ(clock_->Now(), enrollment_manager_.GetLastEnrollmentTime());
366 } 366 }
367 367
368 TEST_F(ProximityAuthCryptAuthEnrollmentManagerTest, 368 TEST_F(CryptAuthEnrollmentManagerTest,
369 EnrollmentFailsThenSucceeds) { 369 EnrollmentFailsThenSucceeds) {
370 enrollment_manager_.Start(); 370 enrollment_manager_.Start();
371 base::Time old_enrollment_time = enrollment_manager_.GetLastEnrollmentTime(); 371 base::Time old_enrollment_time = enrollment_manager_.GetLastEnrollmentTime();
372 372
373 // The first periodic enrollment fails. 373 // The first periodic enrollment fails.
374 ON_CALL(*sync_scheduler(), GetStrategy()) 374 ON_CALL(*sync_scheduler(), GetStrategy())
375 .WillByDefault(Return(SyncScheduler::Strategy::PERIODIC_REFRESH)); 375 .WillByDefault(Return(SyncScheduler::Strategy::PERIODIC_REFRESH));
376 auto completion_callback = 376 auto completion_callback =
377 FireSchedulerForEnrollment(cryptauth::INVOCATION_REASON_PERIODIC); 377 FireSchedulerForEnrollment(cryptauth::INVOCATION_REASON_PERIODIC);
378 clock_->SetNow(base::Time::FromDoubleT(kLaterTimeNow)); 378 clock_->SetNow(base::Time::FromDoubleT(kLaterTimeNow));
379 EXPECT_CALL(*this, OnEnrollmentFinishedProxy(false)); 379 EXPECT_CALL(*this, OnEnrollmentFinishedProxy(false));
380 completion_callback.Run(false); 380 completion_callback.Run(false);
381 EXPECT_EQ(old_enrollment_time, enrollment_manager_.GetLastEnrollmentTime()); 381 EXPECT_EQ(old_enrollment_time, enrollment_manager_.GetLastEnrollmentTime());
382 EXPECT_TRUE(pref_service_.GetBoolean( 382 EXPECT_TRUE(pref_service_.GetBoolean(
383 prefs::kCryptAuthEnrollmentIsRecoveringFromFailure)); 383 prefs::kCryptAuthEnrollmentIsRecoveringFromFailure));
384 384
385 // The second recovery enrollment succeeds. 385 // The second recovery enrollment succeeds.
386 ON_CALL(*sync_scheduler(), GetStrategy()) 386 ON_CALL(*sync_scheduler(), GetStrategy())
387 .WillByDefault(Return(SyncScheduler::Strategy::AGGRESSIVE_RECOVERY)); 387 .WillByDefault(Return(SyncScheduler::Strategy::AGGRESSIVE_RECOVERY));
388 completion_callback = 388 completion_callback =
389 FireSchedulerForEnrollment(cryptauth::INVOCATION_REASON_FAILURE_RECOVERY); 389 FireSchedulerForEnrollment(cryptauth::INVOCATION_REASON_FAILURE_RECOVERY);
390 clock_->SetNow(base::Time::FromDoubleT(kLaterTimeNow + 30)); 390 clock_->SetNow(base::Time::FromDoubleT(kLaterTimeNow + 30));
391 EXPECT_CALL(*this, OnEnrollmentFinishedProxy(true)); 391 EXPECT_CALL(*this, OnEnrollmentFinishedProxy(true));
392 completion_callback.Run(true); 392 completion_callback.Run(true);
393 EXPECT_EQ(clock_->Now(), enrollment_manager_.GetLastEnrollmentTime()); 393 EXPECT_EQ(clock_->Now(), enrollment_manager_.GetLastEnrollmentTime());
394 EXPECT_FALSE(pref_service_.GetBoolean( 394 EXPECT_FALSE(pref_service_.GetBoolean(
395 prefs::kCryptAuthEnrollmentIsRecoveringFromFailure)); 395 prefs::kCryptAuthEnrollmentIsRecoveringFromFailure));
396 } 396 }
397 397
398 TEST_F(ProximityAuthCryptAuthEnrollmentManagerTest, 398 TEST_F(CryptAuthEnrollmentManagerTest,
399 EnrollmentSucceedsForFirstTime) { 399 EnrollmentSucceedsForFirstTime) {
400 // Initialize |enrollment_manager_|. 400 // Initialize |enrollment_manager_|.
401 ON_CALL(*sync_scheduler(), GetStrategy()) 401 ON_CALL(*sync_scheduler(), GetStrategy())
402 .WillByDefault(Return(SyncScheduler::Strategy::PERIODIC_REFRESH)); 402 .WillByDefault(Return(SyncScheduler::Strategy::PERIODIC_REFRESH));
403 gcm_manager_.set_registration_id(std::string()); 403 gcm_manager_.set_registration_id(std::string());
404 pref_service_.ClearPref(prefs::kCryptAuthEnrollmentUserPublicKey); 404 pref_service_.ClearPref(prefs::kCryptAuthEnrollmentUserPublicKey);
405 pref_service_.ClearPref(prefs::kCryptAuthEnrollmentUserPrivateKey); 405 pref_service_.ClearPref(prefs::kCryptAuthEnrollmentUserPrivateKey);
406 pref_service_.ClearPref(prefs::kCryptAuthEnrollmentLastEnrollmentTimeSeconds); 406 pref_service_.ClearPref(prefs::kCryptAuthEnrollmentLastEnrollmentTimeSeconds);
407 enrollment_manager_.Start(); 407 enrollment_manager_.Start();
408 EXPECT_FALSE(enrollment_manager_.IsEnrollmentValid()); 408 EXPECT_FALSE(enrollment_manager_.IsEnrollmentValid());
(...skipping 20 matching lines...) Expand all
429 EXPECT_CALL(*this, OnEnrollmentFinishedProxy(true)); 429 EXPECT_CALL(*this, OnEnrollmentFinishedProxy(true));
430 enrollment_callback.Run(true); 430 enrollment_callback.Run(true);
431 EXPECT_EQ(clock_->Now(), enrollment_manager_.GetLastEnrollmentTime()); 431 EXPECT_EQ(clock_->Now(), enrollment_manager_.GetLastEnrollmentTime());
432 EXPECT_TRUE(enrollment_manager_.IsEnrollmentValid()); 432 EXPECT_TRUE(enrollment_manager_.IsEnrollmentValid());
433 433
434 // Check that CryptAuthEnrollmentManager returns the expected key-pair. 434 // Check that CryptAuthEnrollmentManager returns the expected key-pair.
435 EXPECT_EQ(public_key_, enrollment_manager_.GetUserPublicKey()); 435 EXPECT_EQ(public_key_, enrollment_manager_.GetUserPublicKey());
436 EXPECT_EQ(private_key_, enrollment_manager_.GetUserPrivateKey()); 436 EXPECT_EQ(private_key_, enrollment_manager_.GetUserPrivateKey());
437 } 437 }
438 438
439 TEST_F(ProximityAuthCryptAuthEnrollmentManagerTest, GCMRegistrationFails) { 439 TEST_F(CryptAuthEnrollmentManagerTest, GCMRegistrationFails) {
440 // Initialize |enrollment_manager_|. 440 // Initialize |enrollment_manager_|.
441 ON_CALL(*sync_scheduler(), GetStrategy()) 441 ON_CALL(*sync_scheduler(), GetStrategy())
442 .WillByDefault(Return(SyncScheduler::Strategy::PERIODIC_REFRESH)); 442 .WillByDefault(Return(SyncScheduler::Strategy::PERIODIC_REFRESH));
443 gcm_manager_.set_registration_id(std::string()); 443 gcm_manager_.set_registration_id(std::string());
444 enrollment_manager_.Start(); 444 enrollment_manager_.Start();
445 445
446 // Trigger a sync request. 446 // Trigger a sync request.
447 EXPECT_CALL(*this, OnEnrollmentStartedProxy()); 447 EXPECT_CALL(*this, OnEnrollmentStartedProxy());
448 auto sync_request = base::MakeUnique<SyncScheduler::SyncRequest>( 448 auto sync_request = base::MakeUnique<SyncScheduler::SyncRequest>(
449 enrollment_manager_.GetSyncScheduler()); 449 enrollment_manager_.GetSyncScheduler());
450 static_cast<SyncScheduler::Delegate*>(&enrollment_manager_) 450 static_cast<SyncScheduler::Delegate*>(&enrollment_manager_)
451 ->OnSyncRequested(std::move(sync_request)); 451 ->OnSyncRequested(std::move(sync_request));
452 452
453 // Complete GCM registration with failure. 453 // Complete GCM registration with failure.
454 EXPECT_CALL(*this, OnEnrollmentFinishedProxy(false)); 454 EXPECT_CALL(*this, OnEnrollmentFinishedProxy(false));
455 gcm_manager_.CompleteRegistration(std::string()); 455 gcm_manager_.CompleteRegistration(std::string());
456 } 456 }
457 457
458 TEST_F(ProximityAuthCryptAuthEnrollmentManagerTest, ReenrollOnGCMPushMessage) { 458 TEST_F(CryptAuthEnrollmentManagerTest, ReenrollOnGCMPushMessage) {
459 enrollment_manager_.Start(); 459 enrollment_manager_.Start();
460 460
461 // Simulate receiving a GCM push message, forcing the device to re-enroll. 461 // Simulate receiving a GCM push message, forcing the device to re-enroll.
462 gcm_manager_.PushReenrollMessage(); 462 gcm_manager_.PushReenrollMessage();
463 auto completion_callback = 463 auto completion_callback =
464 FireSchedulerForEnrollment(cryptauth::INVOCATION_REASON_SERVER_INITIATED); 464 FireSchedulerForEnrollment(cryptauth::INVOCATION_REASON_SERVER_INITIATED);
465 465
466 EXPECT_CALL(*this, OnEnrollmentFinishedProxy(true)); 466 EXPECT_CALL(*this, OnEnrollmentFinishedProxy(true));
467 completion_callback.Run(true); 467 completion_callback.Run(true);
468 } 468 }
469 469
470 } // namespace proximity_auth 470 } // namespace cryptauth
OLDNEW
« no previous file with comments | « components/cryptauth/cryptauth_enrollment_manager.cc ('k') | components/cryptauth/cryptauth_enrollment_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698