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

Unified Diff: components/proximity_auth/cryptauth/cryptauth_device_manager_unittest.cc

Issue 1372283002: Hook up ProximityAuthSystem in EasyUnlockService. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@bluetooth_connection
Patch Set: remove log Created 5 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: components/proximity_auth/cryptauth/cryptauth_device_manager_unittest.cc
diff --git a/components/proximity_auth/cryptauth/cryptauth_device_manager_unittest.cc b/components/proximity_auth/cryptauth/cryptauth_device_manager_unittest.cc
index 907e81160c28bdf03a7fd9b7f8e99800dd61077c..d5240013e7cf3c09a3d6003ddde1011f338dbfe8 100644
--- a/components/proximity_auth/cryptauth/cryptauth_device_manager_unittest.cc
+++ b/components/proximity_auth/cryptauth/cryptauth_device_manager_unittest.cc
@@ -150,11 +150,7 @@ class ProximityAuthCryptAuthDeviceManagerTest
: clock_(new base::SimpleTestClock()),
client_factory_(new MockCryptAuthClientFactory(
MockCryptAuthClientFactory::MockType::MAKE_STRICT_MOCKS)),
- gcm_manager_("existing gcm registration id"),
- device_manager_(make_scoped_ptr(clock_),
- make_scoped_ptr(client_factory_),
- &gcm_manager_,
- &pref_service_) {
+ gcm_manager_("existing gcm registration id") {
client_factory_->AddObserver(this);
}
@@ -165,7 +161,6 @@ class ProximityAuthCryptAuthDeviceManagerTest
// testing::Test:
void SetUp() override {
clock_->SetNow(base::Time::FromDoubleT(kInitialTimeNowSeconds));
- device_manager_.AddObserver(this);
CryptAuthDeviceManager::RegisterPrefs(pref_service_.registry());
pref_service_.SetUserPref(
@@ -195,6 +190,11 @@ class ProximityAuthCryptAuthDeviceManagerTest
update.Get()->Append(unlock_key_dictionary.Pass());
}
+ device_manager_.reset(new TestCryptAuthDeviceManager(
+ make_scoped_ptr(clock_), make_scoped_ptr(client_factory_),
+ &gcm_manager_, &pref_service_));
+ device_manager_->AddObserver(this);
+
cryptauth::ExternalDeviceInfo unlock_key;
unlock_key.set_public_key(kPublicKey1);
unlock_key.set_friendly_device_name(kDeviceName1);
@@ -215,7 +215,7 @@ class ProximityAuthCryptAuthDeviceManagerTest
.WillByDefault(Return(SyncScheduler::Strategy::PERIODIC_REFRESH));
}
- void TearDown() override { device_manager_.RemoveObserver(this); }
+ void TearDown() override { device_manager_->RemoveObserver(this); }
// CryptAuthDeviceManager::Observer:
void OnSyncStarted() override { OnSyncStartedProxy(); }
@@ -235,10 +235,10 @@ class ProximityAuthCryptAuthDeviceManagerTest
void FireSchedulerForSync(
cryptauth::InvocationReason expected_invocation_reason) {
SyncScheduler::Delegate* delegate =
- static_cast<SyncScheduler::Delegate*>(&device_manager_);
+ static_cast<SyncScheduler::Delegate*>(device_manager_.get());
scoped_ptr<SyncScheduler::SyncRequest> sync_request = make_scoped_ptr(
- new SyncScheduler::SyncRequest(device_manager_.GetSyncScheduler()));
+ new SyncScheduler::SyncRequest(device_manager_->GetSyncScheduler()));
EXPECT_CALL(*this, OnSyncStartedProxy());
delegate->OnSyncRequested(sync_request.Pass());
@@ -261,7 +261,7 @@ class ProximityAuthCryptAuthDeviceManagerTest
}
MockSyncScheduler* sync_scheduler() {
- return device_manager_.GetSyncScheduler().get();
+ return device_manager_->GetSyncScheduler().get();
}
// Owned by |device_manager_|.
@@ -274,7 +274,7 @@ class ProximityAuthCryptAuthDeviceManagerTest
FakeCryptAuthGCMManager gcm_manager_;
- TestCryptAuthDeviceManager device_manager_;
+ scoped_ptr<TestCryptAuthDeviceManager> device_manager_;
cryptauth::GetMyDevicesResponse get_my_devices_response_;
@@ -300,28 +300,28 @@ TEST_F(ProximityAuthCryptAuthDeviceManagerTest, RegisterPrefs) {
}
TEST_F(ProximityAuthCryptAuthDeviceManagerTest, GetSyncState) {
- device_manager_.Start();
+ device_manager_->Start();
ON_CALL(*sync_scheduler(), GetStrategy())
.WillByDefault(Return(SyncScheduler::Strategy::PERIODIC_REFRESH));
- EXPECT_FALSE(device_manager_.IsRecoveringFromFailure());
+ EXPECT_FALSE(device_manager_->IsRecoveringFromFailure());
ON_CALL(*sync_scheduler(), GetStrategy())
.WillByDefault(Return(SyncScheduler::Strategy::AGGRESSIVE_RECOVERY));
- EXPECT_TRUE(device_manager_.IsRecoveringFromFailure());
+ EXPECT_TRUE(device_manager_->IsRecoveringFromFailure());
base::TimeDelta time_to_next_sync = base::TimeDelta::FromMinutes(60);
ON_CALL(*sync_scheduler(), GetTimeToNextSync())
.WillByDefault(Return(time_to_next_sync));
- EXPECT_EQ(time_to_next_sync, device_manager_.GetTimeToNextAttempt());
+ EXPECT_EQ(time_to_next_sync, device_manager_->GetTimeToNextAttempt());
ON_CALL(*sync_scheduler(), GetSyncState())
.WillByDefault(Return(SyncScheduler::SyncState::SYNC_IN_PROGRESS));
- EXPECT_TRUE(device_manager_.IsSyncInProgress());
+ EXPECT_TRUE(device_manager_->IsSyncInProgress());
ON_CALL(*sync_scheduler(), GetSyncState())
.WillByDefault(Return(SyncScheduler::SyncState::WAITING_FOR_REFRESH));
- EXPECT_FALSE(device_manager_.IsSyncInProgress());
+ EXPECT_FALSE(device_manager_->IsSyncInProgress());
}
TEST_F(ProximityAuthCryptAuthDeviceManagerTest, InitWithDefaultPrefs) {
@@ -352,11 +352,11 @@ TEST_F(ProximityAuthCryptAuthDeviceManagerTest, InitWithExistingPrefs) {
Start(clock_->Now() - base::Time::FromDoubleT(kLastSyncTimeSeconds),
SyncScheduler::Strategy::PERIODIC_REFRESH));
- device_manager_.Start();
+ device_manager_->Start();
EXPECT_EQ(base::Time::FromDoubleT(kLastSyncTimeSeconds),
- device_manager_.GetLastSyncTime());
+ device_manager_->GetLastSyncTime());
- auto unlock_keys = device_manager_.unlock_keys();
+ auto unlock_keys = device_manager_->unlock_keys();
ASSERT_EQ(1u, unlock_keys.size());
EXPECT_EQ(kStoredPublicKey, unlock_keys[0].public_key());
EXPECT_EQ(kStoredDeviceName, unlock_keys[0].friendly_device_name());
@@ -366,7 +366,7 @@ TEST_F(ProximityAuthCryptAuthDeviceManagerTest, InitWithExistingPrefs) {
TEST_F(ProximityAuthCryptAuthDeviceManagerTest, SyncSucceedsForFirstTime) {
pref_service_.ClearPref(prefs::kCryptAuthDeviceSyncLastSyncTimeSeconds);
- device_manager_.Start();
+ device_manager_->Start();
FireSchedulerForSync(cryptauth::INVOCATION_REASON_INITIALIZATION);
ASSERT_FALSE(success_callback_.is_null());
@@ -377,18 +377,19 @@ TEST_F(ProximityAuthCryptAuthDeviceManagerTest, SyncSucceedsForFirstTime) {
CryptAuthDeviceManager::DeviceChangeResult::CHANGED));
success_callback_.Run(get_my_devices_response_);
- EXPECT_EQ(clock_->Now(), device_manager_.GetLastSyncTime());
+ EXPECT_EQ(clock_->Now(), device_manager_->GetLastSyncTime());
ExpectUnlockKeysAndPrefAreEqual(std::vector<cryptauth::ExternalDeviceInfo>(
1, get_my_devices_response_.devices(0)),
- device_manager_.unlock_keys(), pref_service_);
+ device_manager_->unlock_keys(),
+ pref_service_);
}
TEST_F(ProximityAuthCryptAuthDeviceManagerTest, ForceSync) {
- device_manager_.Start();
+ device_manager_->Start();
EXPECT_CALL(*sync_scheduler(), ForceSync());
- device_manager_.ForceSyncNow(cryptauth::INVOCATION_REASON_MANUAL);
+ device_manager_->ForceSyncNow(cryptauth::INVOCATION_REASON_MANUAL);
FireSchedulerForSync(cryptauth::INVOCATION_REASON_MANUAL);
@@ -397,22 +398,23 @@ TEST_F(ProximityAuthCryptAuthDeviceManagerTest, ForceSync) {
CryptAuthDeviceManager::SyncResult::SUCCESS,
CryptAuthDeviceManager::DeviceChangeResult::CHANGED));
success_callback_.Run(get_my_devices_response_);
- EXPECT_EQ(clock_->Now(), device_manager_.GetLastSyncTime());
+ EXPECT_EQ(clock_->Now(), device_manager_->GetLastSyncTime());
ExpectUnlockKeysAndPrefAreEqual(std::vector<cryptauth::ExternalDeviceInfo>(
1, get_my_devices_response_.devices(0)),
- device_manager_.unlock_keys(), pref_service_);
+ device_manager_->unlock_keys(),
+ pref_service_);
}
TEST_F(ProximityAuthCryptAuthDeviceManagerTest, ForceSyncFailsThenSucceeds) {
- device_manager_.Start();
+ device_manager_->Start();
EXPECT_FALSE(pref_service_.GetBoolean(
prefs::kCryptAuthDeviceSyncIsRecoveringFromFailure));
- base::Time old_sync_time = device_manager_.GetLastSyncTime();
+ base::Time old_sync_time = device_manager_->GetLastSyncTime();
// The first force sync fails.
EXPECT_CALL(*sync_scheduler(), ForceSync());
- device_manager_.ForceSyncNow(cryptauth::INVOCATION_REASON_MANUAL);
+ device_manager_->ForceSyncNow(cryptauth::INVOCATION_REASON_MANUAL);
FireSchedulerForSync(cryptauth::INVOCATION_REASON_MANUAL);
clock_->SetNow(base::Time::FromDoubleT(kLaterTimeNowSeconds));
EXPECT_CALL(*this,
@@ -420,7 +422,7 @@ TEST_F(ProximityAuthCryptAuthDeviceManagerTest, ForceSyncFailsThenSucceeds) {
CryptAuthDeviceManager::SyncResult::FAILURE,
CryptAuthDeviceManager::DeviceChangeResult::UNCHANGED));
error_callback_.Run("404");
- EXPECT_EQ(old_sync_time, device_manager_.GetLastSyncTime());
+ EXPECT_EQ(old_sync_time, device_manager_->GetLastSyncTime());
EXPECT_TRUE(pref_service_.GetBoolean(
prefs::kCryptAuthDeviceSyncIsRecoveringFromFailure));
EXPECT_EQ(static_cast<int>(cryptauth::INVOCATION_REASON_MANUAL),
@@ -435,11 +437,12 @@ TEST_F(ProximityAuthCryptAuthDeviceManagerTest, ForceSyncFailsThenSucceeds) {
CryptAuthDeviceManager::SyncResult::SUCCESS,
CryptAuthDeviceManager::DeviceChangeResult::CHANGED));
success_callback_.Run(get_my_devices_response_);
- EXPECT_EQ(clock_->Now(), device_manager_.GetLastSyncTime());
+ EXPECT_EQ(clock_->Now(), device_manager_->GetLastSyncTime());
ExpectUnlockKeysAndPrefAreEqual(std::vector<cryptauth::ExternalDeviceInfo>(
1, get_my_devices_response_.devices(0)),
- device_manager_.unlock_keys(), pref_service_);
+ device_manager_->unlock_keys(),
+ pref_service_);
EXPECT_FLOAT_EQ(
clock_->Now().ToDoubleT(),
@@ -451,8 +454,8 @@ TEST_F(ProximityAuthCryptAuthDeviceManagerTest, ForceSyncFailsThenSucceeds) {
}
TEST_F(ProximityAuthCryptAuthDeviceManagerTest, PeriodicSyncFailsThenSucceeds) {
- device_manager_.Start();
- base::Time old_sync_time = device_manager_.GetLastSyncTime();
+ device_manager_->Start();
+ base::Time old_sync_time = device_manager_->GetLastSyncTime();
// The first periodic sync fails.
FireSchedulerForSync(cryptauth::INVOCATION_REASON_PERIODIC);
@@ -462,7 +465,7 @@ TEST_F(ProximityAuthCryptAuthDeviceManagerTest, PeriodicSyncFailsThenSucceeds) {
CryptAuthDeviceManager::SyncResult::FAILURE,
CryptAuthDeviceManager::DeviceChangeResult::UNCHANGED));
error_callback_.Run("401");
- EXPECT_EQ(old_sync_time, device_manager_.GetLastSyncTime());
+ EXPECT_EQ(old_sync_time, device_manager_->GetLastSyncTime());
EXPECT_TRUE(pref_service_.GetBoolean(
prefs::kCryptAuthDeviceSyncIsRecoveringFromFailure));
@@ -475,11 +478,12 @@ TEST_F(ProximityAuthCryptAuthDeviceManagerTest, PeriodicSyncFailsThenSucceeds) {
CryptAuthDeviceManager::SyncResult::SUCCESS,
CryptAuthDeviceManager::DeviceChangeResult::CHANGED));
success_callback_.Run(get_my_devices_response_);
- EXPECT_EQ(clock_->Now(), device_manager_.GetLastSyncTime());
+ EXPECT_EQ(clock_->Now(), device_manager_->GetLastSyncTime());
ExpectUnlockKeysAndPrefAreEqual(std::vector<cryptauth::ExternalDeviceInfo>(
1, get_my_devices_response_.devices(0)),
- device_manager_.unlock_keys(), pref_service_);
+ device_manager_->unlock_keys(),
+ pref_service_);
EXPECT_FLOAT_EQ(
clock_->Now().ToDoubleT(),
@@ -489,32 +493,8 @@ TEST_F(ProximityAuthCryptAuthDeviceManagerTest, PeriodicSyncFailsThenSucceeds) {
}
TEST_F(ProximityAuthCryptAuthDeviceManagerTest, SyncSameDevice) {
- // Set the same unlock key in the user prefs as the one that would be synced.
- {
- scoped_ptr<base::DictionaryValue> unlock_key_dictionary(
- new base::DictionaryValue());
- std::string public_key_b64, device_name_b64, bluetooth_address_b64;
- Base64UrlEncode(kPublicKey1, &public_key_b64);
- Base64UrlEncode(kDeviceName1, &device_name_b64);
- Base64UrlEncode(kBluetoothAddress1, &bluetooth_address_b64);
- unlock_key_dictionary->SetString("public_key", public_key_b64);
- unlock_key_dictionary->SetString("device_name", device_name_b64);
- unlock_key_dictionary->SetString("bluetooth_address",
- bluetooth_address_b64);
-
- ListPrefUpdate update(&pref_service_,
- prefs::kCryptAuthDeviceSyncUnlockKeys);
- update.Get()->Clear();
- update.Get()->Append(unlock_key_dictionary.Pass());
- }
-
- // Check unlock keys before sync.
- device_manager_.Start();
- auto original_unlock_keys = device_manager_.unlock_keys();
- ASSERT_EQ(1u, original_unlock_keys.size());
- EXPECT_EQ(kPublicKey1, original_unlock_keys[0].public_key());
- EXPECT_EQ(kDeviceName1, original_unlock_keys[0].friendly_device_name());
- EXPECT_EQ(kBluetoothAddress1, original_unlock_keys[0].bluetooth_address());
+ device_manager_->Start();
+ auto original_unlock_keys = device_manager_->unlock_keys();
// Sync new devices.
FireSchedulerForSync(cryptauth::INVOCATION_REASON_PERIODIC);
@@ -523,18 +503,28 @@ TEST_F(ProximityAuthCryptAuthDeviceManagerTest, SyncSameDevice) {
OnSyncFinishedProxy(
CryptAuthDeviceManager::SyncResult::SUCCESS,
CryptAuthDeviceManager::DeviceChangeResult::UNCHANGED));
- success_callback_.Run(get_my_devices_response_);
+
+ // Sync the same device.
+ cryptauth::ExternalDeviceInfo synced_unlock_key;
+ synced_unlock_key.set_public_key(kStoredPublicKey);
+ synced_unlock_key.set_friendly_device_name(kStoredDeviceName);
+ synced_unlock_key.set_bluetooth_address(kStoredBluetoothAddress);
+ synced_unlock_key.set_unlock_key(true);
+ synced_unlock_key.set_unlockable(false);
+ cryptauth::GetMyDevicesResponse get_my_devices_response;
+ get_my_devices_response.add_devices()->CopyFrom(synced_unlock_key);
+ success_callback_.Run(get_my_devices_response);
// Check that unlock keys are still the same after sync.
- ExpectUnlockKeysAndPrefAreEqual(original_unlock_keys,
- device_manager_.unlock_keys(), pref_service_);
+ ExpectUnlockKeysAndPrefAreEqual(
+ original_unlock_keys, device_manager_->unlock_keys(), pref_service_);
}
TEST_F(ProximityAuthCryptAuthDeviceManagerTest, SyncEmptyDeviceList) {
cryptauth::GetMyDevicesResponse empty_response;
- device_manager_.Start();
- EXPECT_EQ(1u, device_manager_.unlock_keys().size());
+ device_manager_->Start();
+ EXPECT_EQ(1u, device_manager_->unlock_keys().size());
FireSchedulerForSync(cryptauth::INVOCATION_REASON_PERIODIC);
ASSERT_FALSE(success_callback_.is_null());
@@ -544,7 +534,8 @@ TEST_F(ProximityAuthCryptAuthDeviceManagerTest, SyncEmptyDeviceList) {
success_callback_.Run(empty_response);
ExpectUnlockKeysAndPrefAreEqual(std::vector<cryptauth::ExternalDeviceInfo>(),
- device_manager_.unlock_keys(), pref_service_);
+ device_manager_->unlock_keys(),
+ pref_service_);
}
TEST_F(ProximityAuthCryptAuthDeviceManagerTest, SyncTwoUnlockKeys) {
@@ -560,8 +551,8 @@ TEST_F(ProximityAuthCryptAuthDeviceManagerTest, SyncTwoUnlockKeys) {
expected_unlock_keys.push_back(get_my_devices_response_.devices(0));
expected_unlock_keys.push_back(unlock_key2);
- device_manager_.Start();
- EXPECT_EQ(1u, device_manager_.unlock_keys().size());
+ device_manager_->Start();
+ EXPECT_EQ(1u, device_manager_->unlock_keys().size());
EXPECT_EQ(1u, pref_service_.GetList(prefs::kCryptAuthDeviceSyncUnlockKeys)
->GetSize());
@@ -572,12 +563,12 @@ TEST_F(ProximityAuthCryptAuthDeviceManagerTest, SyncTwoUnlockKeys) {
CryptAuthDeviceManager::DeviceChangeResult::CHANGED));
success_callback_.Run(response);
- ExpectUnlockKeysAndPrefAreEqual(expected_unlock_keys,
- device_manager_.unlock_keys(), pref_service_);
+ ExpectUnlockKeysAndPrefAreEqual(
+ expected_unlock_keys, device_manager_->unlock_keys(), pref_service_);
}
TEST_F(ProximityAuthCryptAuthDeviceManagerTest, SyncOnGCMPushMessage) {
- device_manager_.Start();
+ device_manager_->Start();
EXPECT_CALL(*sync_scheduler(), ForceSync());
gcm_manager_.PushResyncMessage();
@@ -591,7 +582,8 @@ TEST_F(ProximityAuthCryptAuthDeviceManagerTest, SyncOnGCMPushMessage) {
ExpectUnlockKeysAndPrefAreEqual(std::vector<cryptauth::ExternalDeviceInfo>(
1, get_my_devices_response_.devices(0)),
- device_manager_.unlock_keys(), pref_service_);
+ device_manager_->unlock_keys(),
+ pref_service_);
}
} // namespace proximity_auth
« no previous file with comments | « components/proximity_auth/cryptauth/cryptauth_device_manager.cc ('k') | components/proximity_auth/fake_connection.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698