Index: chromeos/components/tether/local_device_data_provider_unittest.cc |
diff --git a/chromeos/components/tether/local_device_data_provider_unittest.cc b/chromeos/components/tether/local_device_data_provider_unittest.cc |
deleted file mode 100644 |
index 8d4d5b8472803880b00d964fb9227db2959bfa4b..0000000000000000000000000000000000000000 |
--- a/chromeos/components/tether/local_device_data_provider_unittest.cc |
+++ /dev/null |
@@ -1,245 +0,0 @@ |
-// Copyright 2016 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chromeos/components/tether/local_device_data_provider.h" |
- |
-#include <string> |
-#include <vector> |
- |
-#include "base/logging.h" |
-#include "base/memory/ptr_util.h" |
-#include "components/cryptauth/cryptauth_device_manager.h" |
-#include "components/cryptauth/cryptauth_enroller.h" |
-#include "components/cryptauth/cryptauth_enrollment_manager.h" |
-#include "components/cryptauth/fake_cryptauth_gcm_manager.h" |
-#include "components/cryptauth/fake_cryptauth_service.h" |
-#include "components/cryptauth/proto/cryptauth_api.pb.h" |
-#include "components/cryptauth/secure_message_delegate.h" |
-#include "testing/gmock/include/gmock/gmock.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-using testing::NiceMock; |
-using testing::Return; |
- |
-namespace chromeos { |
- |
-namespace tether { |
- |
-namespace { |
- |
-const char kDefaultPublicKey[] = "publicKey"; |
- |
-const char kBeaconSeed1Data[] = "beaconSeed1Data"; |
-const int64_t kBeaconSeed1StartMs = 1000L; |
-const int64_t kBeaconSeed1EndMs = 2000L; |
- |
-const char kBeaconSeed2Data[] = "beaconSeed2Data"; |
-const int64_t kBeaconSeed2StartMs = 2000L; |
-const int64_t kBeaconSeed2EndMs = 3000L; |
- |
-class MockCryptAuthDeviceManager : public cryptauth::CryptAuthDeviceManager { |
- public: |
- MockCryptAuthDeviceManager() {} |
- ~MockCryptAuthDeviceManager() override {} |
- |
- MOCK_CONST_METHOD0(GetSyncedDevices, |
- std::vector<cryptauth::ExternalDeviceInfo>()); |
-}; |
- |
-class MockCryptAuthEnrollmentManager |
- : public cryptauth::CryptAuthEnrollmentManager { |
- public: |
- explicit MockCryptAuthEnrollmentManager( |
- cryptauth::FakeCryptAuthGCMManager* fake_cryptauth_gcm_manager) |
- : cryptauth::CryptAuthEnrollmentManager( |
- nullptr /* clock */, |
- nullptr /* enroller_factory */, |
- nullptr /* secure_message_delegate */, |
- cryptauth::GcmDeviceInfo(), |
- fake_cryptauth_gcm_manager, |
- nullptr /* pref_service */) {} |
- ~MockCryptAuthEnrollmentManager() override {} |
- |
- MOCK_CONST_METHOD0(GetUserPublicKey, std::string()); |
-}; |
- |
-cryptauth::BeaconSeed CreateBeaconSeed(const std::string& data, |
- int64_t start_ms, |
- int64_t end_ms) { |
- cryptauth::BeaconSeed seed; |
- seed.set_data(data); |
- seed.set_start_time_millis(start_ms); |
- seed.set_end_time_millis(end_ms); |
- return seed; |
-} |
- |
-} // namespace |
- |
-class LocalDeviceDataProviderTest : public testing::Test { |
- protected: |
- LocalDeviceDataProviderTest() { |
- fake_beacon_seeds_.push_back(CreateBeaconSeed( |
- kBeaconSeed1Data, kBeaconSeed1StartMs, kBeaconSeed1EndMs)); |
- fake_beacon_seeds_.push_back(CreateBeaconSeed( |
- kBeaconSeed2Data, kBeaconSeed2StartMs, kBeaconSeed2EndMs)); |
- |
- // Has no public key and no BeaconSeeds. |
- cryptauth::ExternalDeviceInfo synced_device1; |
- fake_synced_devices_.push_back(synced_device1); |
- |
- // Has no public key and some BeaconSeeds. |
- cryptauth::ExternalDeviceInfo synced_device2; |
- synced_device2.add_beacon_seeds()->CopyFrom(CreateBeaconSeed( |
- kBeaconSeed1Data, kBeaconSeed1StartMs, kBeaconSeed1EndMs)); |
- synced_device2.add_beacon_seeds()->CopyFrom(CreateBeaconSeed( |
- kBeaconSeed2Data, kBeaconSeed2StartMs, kBeaconSeed2EndMs)); |
- fake_synced_devices_.push_back(synced_device2); |
- |
- // Has another different public key and no BeaconSeeds. |
- cryptauth::ExternalDeviceInfo synced_device3; |
- synced_device3.set_public_key("anotherPublicKey"); |
- fake_synced_devices_.push_back(synced_device3); |
- |
- // Has different public key and BeaconSeeds. |
- cryptauth::ExternalDeviceInfo synced_device4; |
- synced_device4.set_public_key("otherPublicKey"); |
- synced_device4.add_beacon_seeds()->CopyFrom(CreateBeaconSeed( |
- kBeaconSeed1Data, kBeaconSeed1StartMs, kBeaconSeed1EndMs)); |
- synced_device4.add_beacon_seeds()->CopyFrom(CreateBeaconSeed( |
- kBeaconSeed2Data, kBeaconSeed2StartMs, kBeaconSeed2EndMs)); |
- fake_synced_devices_.push_back(synced_device4); |
- |
- // Has public key but no BeaconSeeds. |
- cryptauth::ExternalDeviceInfo synced_device5; |
- synced_device5.set_public_key(kDefaultPublicKey); |
- fake_synced_devices_.push_back(synced_device5); |
- |
- // Has public key and BeaconSeeds. |
- cryptauth::ExternalDeviceInfo synced_device6; |
- synced_device6.set_public_key(kDefaultPublicKey); |
- synced_device6.add_beacon_seeds()->CopyFrom(CreateBeaconSeed( |
- kBeaconSeed1Data, kBeaconSeed1StartMs, kBeaconSeed1EndMs)); |
- synced_device6.add_beacon_seeds()->CopyFrom(CreateBeaconSeed( |
- kBeaconSeed2Data, kBeaconSeed2StartMs, kBeaconSeed2EndMs)); |
- fake_synced_devices_.push_back(synced_device6); |
- } |
- |
- void SetUp() override { |
- mock_device_manager_ = |
- base::WrapUnique(new NiceMock<MockCryptAuthDeviceManager>()); |
- fake_cryptauth_gcm_manager_ = |
- base::MakeUnique<cryptauth::FakeCryptAuthGCMManager>("registrationId"); |
- mock_enrollment_manager_ = |
- base::WrapUnique(new NiceMock<MockCryptAuthEnrollmentManager>( |
- fake_cryptauth_gcm_manager_.get())); |
- |
- fake_cryptauth_service_ = |
- base::MakeUnique<cryptauth::FakeCryptAuthService>(); |
- fake_cryptauth_service_->set_cryptauth_device_manager( |
- mock_device_manager_.get()); |
- fake_cryptauth_service_->set_cryptauth_enrollment_manager( |
- mock_enrollment_manager_.get()); |
- |
- provider_ = base::WrapUnique( |
- new LocalDeviceDataProvider(fake_cryptauth_service_.get())); |
- } |
- |
- std::vector<cryptauth::BeaconSeed> fake_beacon_seeds_; |
- std::vector<cryptauth::ExternalDeviceInfo> fake_synced_devices_; |
- |
- std::unique_ptr<cryptauth::FakeCryptAuthGCMManager> |
- fake_cryptauth_gcm_manager_; |
- std::unique_ptr<NiceMock<MockCryptAuthDeviceManager>> mock_device_manager_; |
- std::unique_ptr<NiceMock<MockCryptAuthEnrollmentManager>> |
- mock_enrollment_manager_; |
- std::unique_ptr<cryptauth::FakeCryptAuthService> fake_cryptauth_service_; |
- |
- std::unique_ptr<LocalDeviceDataProvider> provider_; |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(LocalDeviceDataProviderTest); |
-}; |
- |
-TEST_F(LocalDeviceDataProviderTest, TestGetLocalDeviceData_NoPublicKey) { |
- ON_CALL(*mock_enrollment_manager_, GetUserPublicKey()) |
- .WillByDefault(Return(std::string())); |
- ON_CALL(*mock_device_manager_, GetSyncedDevices()) |
- .WillByDefault(Return(fake_synced_devices_)); |
- |
- std::string public_key; |
- std::vector<cryptauth::BeaconSeed> beacon_seeds; |
- |
- EXPECT_FALSE(provider_->GetLocalDeviceData(&public_key, &beacon_seeds)); |
-} |
- |
-TEST_F(LocalDeviceDataProviderTest, TestGetLocalDeviceData_NoSyncedDevices) { |
- ON_CALL(*mock_enrollment_manager_, GetUserPublicKey()) |
- .WillByDefault(Return(kDefaultPublicKey)); |
- ON_CALL(*mock_device_manager_, GetSyncedDevices()) |
- .WillByDefault(Return(std::vector<cryptauth::ExternalDeviceInfo>())); |
- |
- std::string public_key; |
- std::vector<cryptauth::BeaconSeed> beacon_seeds; |
- |
- EXPECT_FALSE(provider_->GetLocalDeviceData(&public_key, &beacon_seeds)); |
-} |
- |
-TEST_F(LocalDeviceDataProviderTest, |
- TestGetLocalDeviceData_NoSyncedDeviceMatchingPublicKey) { |
- ON_CALL(*mock_enrollment_manager_, GetUserPublicKey()) |
- .WillByDefault(Return(kDefaultPublicKey)); |
- ON_CALL(*mock_device_manager_, GetSyncedDevices()) |
- .WillByDefault(Return(std::vector<cryptauth::ExternalDeviceInfo>{ |
- fake_synced_devices_[0], fake_synced_devices_[1], |
- fake_synced_devices_[2], fake_synced_devices_[3]})); |
- |
- std::string public_key; |
- std::vector<cryptauth::BeaconSeed> beacon_seeds; |
- |
- EXPECT_FALSE(provider_->GetLocalDeviceData(&public_key, &beacon_seeds)); |
-} |
- |
-TEST_F(LocalDeviceDataProviderTest, |
- TestGetLocalDeviceData_SyncedDeviceIncludesPublicKeyButNoBeaconSeeds) { |
- ON_CALL(*mock_enrollment_manager_, GetUserPublicKey()) |
- .WillByDefault(Return(kDefaultPublicKey)); |
- ON_CALL(*mock_device_manager_, GetSyncedDevices()) |
- .WillByDefault(Return(std::vector<cryptauth::ExternalDeviceInfo>{ |
- fake_synced_devices_[4], |
- })); |
- |
- std::string public_key; |
- std::vector<cryptauth::BeaconSeed> beacon_seeds; |
- |
- EXPECT_FALSE(provider_->GetLocalDeviceData(&public_key, &beacon_seeds)); |
-} |
- |
-TEST_F(LocalDeviceDataProviderTest, TestGetLocalDeviceData_Success) { |
- ON_CALL(*mock_enrollment_manager_, GetUserPublicKey()) |
- .WillByDefault(Return(kDefaultPublicKey)); |
- ON_CALL(*mock_device_manager_, GetSyncedDevices()) |
- .WillByDefault(Return(fake_synced_devices_)); |
- |
- std::string public_key; |
- std::vector<cryptauth::BeaconSeed> beacon_seeds; |
- |
- EXPECT_TRUE(provider_->GetLocalDeviceData(&public_key, &beacon_seeds)); |
- |
- EXPECT_EQ(kDefaultPublicKey, public_key); |
- |
- ASSERT_EQ(fake_beacon_seeds_.size(), beacon_seeds.size()); |
- for (size_t i = 0; i < fake_beacon_seeds_.size(); i++) { |
- // Note: google::protobuf::util::MessageDifferencer can only be used to diff |
- // Message, but BeaconSeed derives from the incompatible MessageLite class. |
- cryptauth::BeaconSeed expected = fake_beacon_seeds_[i]; |
- cryptauth::BeaconSeed actual = beacon_seeds[i]; |
- EXPECT_EQ(expected.data(), actual.data()); |
- EXPECT_EQ(expected.start_time_millis(), actual.start_time_millis()); |
- EXPECT_EQ(expected.end_time_millis(), actual.end_time_millis()); |
- } |
-} |
- |
-} // namespace tether |
- |
-} // namespace chromeos |