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

Side by Side Diff: components/proximity_auth/remote_device_loader_unittest.cc

Issue 2560713002: Move RemoteDevice from //components/proximity_auth to //components/cryptauth so that it can be easi… (Closed)
Patch Set: Add cryptauth dependency. Created 4 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 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/remote_device_loader.h" 5 #include "components/proximity_auth/remote_device_loader.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <utility> 10 #include <utility>
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 class ProximityAuthRemoteDeviceLoaderTest : public testing::Test { 54 class ProximityAuthRemoteDeviceLoaderTest : public testing::Test {
55 public: 55 public:
56 ProximityAuthRemoteDeviceLoaderTest() 56 ProximityAuthRemoteDeviceLoaderTest()
57 : secure_message_delegate_(new cryptauth::FakeSecureMessageDelegate()), 57 : secure_message_delegate_(new cryptauth::FakeSecureMessageDelegate()),
58 user_private_key_(secure_message_delegate_->GetPrivateKeyForPublicKey( 58 user_private_key_(secure_message_delegate_->GetPrivateKeyForPublicKey(
59 kUserPublicKey)), 59 kUserPublicKey)),
60 pref_manager_(new MockProximityAuthPrefManager()) {} 60 pref_manager_(new MockProximityAuthPrefManager()) {}
61 61
62 ~ProximityAuthRemoteDeviceLoaderTest() {} 62 ~ProximityAuthRemoteDeviceLoaderTest() {}
63 63
64 void OnRemoteDevicesLoaded(const std::vector<RemoteDevice>& remote_devices) { 64 void OnRemoteDevicesLoaded(
65 const std::vector<cryptauth::RemoteDevice>& remote_devices) {
65 remote_devices_ = remote_devices; 66 remote_devices_ = remote_devices;
66 LoadCompleted(); 67 LoadCompleted();
67 } 68 }
68 69
69 MOCK_METHOD0(LoadCompleted, void()); 70 MOCK_METHOD0(LoadCompleted, void());
70 71
71 protected: 72 protected:
72 // Handles deriving the PSK. Ownership will be passed to the 73 // Handles deriving the PSK. Ownership will be passed to the
73 // RemoteDeviceLoader under test. 74 // RemoteDeviceLoader under test.
74 std::unique_ptr<cryptauth::FakeSecureMessageDelegate> 75 std::unique_ptr<cryptauth::FakeSecureMessageDelegate>
75 secure_message_delegate_; 76 secure_message_delegate_;
76 77
77 // The private key of the user local device. 78 // The private key of the user local device.
78 std::string user_private_key_; 79 std::string user_private_key_;
79 80
80 // Stores the result of the RemoteDeviceLoader. 81 // Stores the result of the RemoteDeviceLoader.
81 std::vector<RemoteDevice> remote_devices_; 82 std::vector<cryptauth::RemoteDevice> remote_devices_;
82 83
83 // Stores the bluetooth address for BLE devices. 84 // Stores the bluetooth address for BLE devices.
84 std::unique_ptr<MockProximityAuthPrefManager> pref_manager_; 85 std::unique_ptr<MockProximityAuthPrefManager> pref_manager_;
85 86
86 DISALLOW_COPY_AND_ASSIGN(ProximityAuthRemoteDeviceLoaderTest); 87 DISALLOW_COPY_AND_ASSIGN(ProximityAuthRemoteDeviceLoaderTest);
87 }; 88 };
88 89
89 TEST_F(ProximityAuthRemoteDeviceLoaderTest, LoadZeroDevices) { 90 TEST_F(ProximityAuthRemoteDeviceLoaderTest, LoadZeroDevices) {
90 std::vector<cryptauth::ExternalDeviceInfo> unlock_keys; 91 std::vector<cryptauth::ExternalDeviceInfo> unlock_keys;
91 RemoteDeviceLoader loader(unlock_keys, user_private_key_, kUserId, 92 RemoteDeviceLoader loader(unlock_keys, user_private_key_, kUserId,
92 std::move(secure_message_delegate_), 93 std::move(secure_message_delegate_),
93 pref_manager_.get()); 94 pref_manager_.get());
94 95
95 std::vector<RemoteDevice> result; 96 std::vector<cryptauth::RemoteDevice> result;
96 EXPECT_CALL(*this, LoadCompleted()); 97 EXPECT_CALL(*this, LoadCompleted());
97 loader.Load( 98 loader.Load(
98 base::Bind(&ProximityAuthRemoteDeviceLoaderTest::OnRemoteDevicesLoaded, 99 base::Bind(&ProximityAuthRemoteDeviceLoaderTest::OnRemoteDevicesLoaded,
99 base::Unretained(this))); 100 base::Unretained(this)));
100 101
101 EXPECT_EQ(0u, remote_devices_.size()); 102 EXPECT_EQ(0u, remote_devices_.size());
102 } 103 }
103 104
104 TEST_F(ProximityAuthRemoteDeviceLoaderTest, LoadOneClassicRemoteDevice) { 105 TEST_F(ProximityAuthRemoteDeviceLoaderTest, LoadOneClassicRemoteDevice) {
105 std::vector<cryptauth::ExternalDeviceInfo> unlock_keys(1, 106 std::vector<cryptauth::ExternalDeviceInfo> unlock_keys(1,
106 CreateUnlockKey("1")); 107 CreateUnlockKey("1"));
107 RemoteDeviceLoader loader(unlock_keys, user_private_key_, kUserId, 108 RemoteDeviceLoader loader(unlock_keys, user_private_key_, kUserId,
108 std::move(secure_message_delegate_), 109 std::move(secure_message_delegate_),
109 pref_manager_.get()); 110 pref_manager_.get());
110 111
111 std::vector<RemoteDevice> result; 112 std::vector<cryptauth::RemoteDevice> result;
112 EXPECT_CALL(*this, LoadCompleted()); 113 EXPECT_CALL(*this, LoadCompleted());
113 loader.Load( 114 loader.Load(
114 base::Bind(&ProximityAuthRemoteDeviceLoaderTest::OnRemoteDevicesLoaded, 115 base::Bind(&ProximityAuthRemoteDeviceLoaderTest::OnRemoteDevicesLoaded,
115 base::Unretained(this))); 116 base::Unretained(this)));
116 117
117 EXPECT_EQ(1u, remote_devices_.size()); 118 EXPECT_EQ(1u, remote_devices_.size());
118 EXPECT_FALSE(remote_devices_[0].persistent_symmetric_key.empty()); 119 EXPECT_FALSE(remote_devices_[0].persistent_symmetric_key.empty());
119 EXPECT_EQ(unlock_keys[0].friendly_device_name(), remote_devices_[0].name); 120 EXPECT_EQ(unlock_keys[0].friendly_device_name(), remote_devices_[0].name);
120 EXPECT_EQ(unlock_keys[0].public_key(), remote_devices_[0].public_key); 121 EXPECT_EQ(unlock_keys[0].public_key(), remote_devices_[0].public_key);
121 EXPECT_EQ(unlock_keys[0].bluetooth_address(), 122 EXPECT_EQ(unlock_keys[0].bluetooth_address(),
122 remote_devices_[0].bluetooth_address); 123 remote_devices_[0].bluetooth_address);
123 EXPECT_EQ(RemoteDevice::BLUETOOTH_CLASSIC, remote_devices_[0].bluetooth_type); 124 EXPECT_EQ(cryptauth::RemoteDevice::BLUETOOTH_CLASSIC,
125 remote_devices_[0].bluetooth_type);
124 } 126 }
125 127
126 TEST_F(ProximityAuthRemoteDeviceLoaderTest, LoadOneBLERemoteDevice) { 128 TEST_F(ProximityAuthRemoteDeviceLoaderTest, LoadOneBLERemoteDevice) {
127 std::vector<cryptauth::ExternalDeviceInfo> unlock_keys(1, 129 std::vector<cryptauth::ExternalDeviceInfo> unlock_keys(1,
128 CreateUnlockKey("1")); 130 CreateUnlockKey("1"));
129 unlock_keys[0].set_bluetooth_address(std::string()); 131 unlock_keys[0].set_bluetooth_address(std::string());
130 RemoteDeviceLoader loader(unlock_keys, user_private_key_, kUserId, 132 RemoteDeviceLoader loader(unlock_keys, user_private_key_, kUserId,
131 std::move(secure_message_delegate_), 133 std::move(secure_message_delegate_),
132 pref_manager_.get()); 134 pref_manager_.get());
133 135
134 std::string ble_address = "00:00:00:00:00:00"; 136 std::string ble_address = "00:00:00:00:00:00";
135 EXPECT_CALL(*pref_manager_, GetDeviceAddress(testing::_)) 137 EXPECT_CALL(*pref_manager_, GetDeviceAddress(testing::_))
136 .WillOnce(testing::Return(ble_address)); 138 .WillOnce(testing::Return(ble_address));
137 139
138 std::vector<RemoteDevice> result; 140 std::vector<cryptauth::RemoteDevice> result;
139 EXPECT_CALL(*this, LoadCompleted()); 141 EXPECT_CALL(*this, LoadCompleted());
140 loader.Load( 142 loader.Load(
141 base::Bind(&ProximityAuthRemoteDeviceLoaderTest::OnRemoteDevicesLoaded, 143 base::Bind(&ProximityAuthRemoteDeviceLoaderTest::OnRemoteDevicesLoaded,
142 base::Unretained(this))); 144 base::Unretained(this)));
143 145
144 EXPECT_EQ(1u, remote_devices_.size()); 146 EXPECT_EQ(1u, remote_devices_.size());
145 EXPECT_FALSE(remote_devices_[0].persistent_symmetric_key.empty()); 147 EXPECT_FALSE(remote_devices_[0].persistent_symmetric_key.empty());
146 EXPECT_EQ(unlock_keys[0].friendly_device_name(), remote_devices_[0].name); 148 EXPECT_EQ(unlock_keys[0].friendly_device_name(), remote_devices_[0].name);
147 EXPECT_EQ(unlock_keys[0].public_key(), remote_devices_[0].public_key); 149 EXPECT_EQ(unlock_keys[0].public_key(), remote_devices_[0].public_key);
148 EXPECT_EQ(ble_address, remote_devices_[0].bluetooth_address); 150 EXPECT_EQ(ble_address, remote_devices_[0].bluetooth_address);
149 EXPECT_EQ(RemoteDevice::BLUETOOTH_LE, remote_devices_[0].bluetooth_type); 151 EXPECT_EQ(cryptauth::RemoteDevice::BLUETOOTH_LE,
152 remote_devices_[0].bluetooth_type);
150 } 153 }
151 154
152 TEST_F(ProximityAuthRemoteDeviceLoaderTest, LoadThreeRemoteDevice) { 155 TEST_F(ProximityAuthRemoteDeviceLoaderTest, LoadThreeRemoteDevice) {
153 std::vector<cryptauth::ExternalDeviceInfo> unlock_keys; 156 std::vector<cryptauth::ExternalDeviceInfo> unlock_keys;
154 unlock_keys.push_back(CreateUnlockKey("1")); 157 unlock_keys.push_back(CreateUnlockKey("1"));
155 unlock_keys.push_back(CreateUnlockKey("2")); 158 unlock_keys.push_back(CreateUnlockKey("2"));
156 unlock_keys.push_back(CreateUnlockKey("3")); 159 unlock_keys.push_back(CreateUnlockKey("3"));
157 RemoteDeviceLoader loader(unlock_keys, user_private_key_, kUserId, 160 RemoteDeviceLoader loader(unlock_keys, user_private_key_, kUserId,
158 std::move(secure_message_delegate_), 161 std::move(secure_message_delegate_),
159 pref_manager_.get()); 162 pref_manager_.get());
160 163
161 std::vector<RemoteDevice> result; 164 std::vector<cryptauth::RemoteDevice> result;
162 EXPECT_CALL(*this, LoadCompleted()); 165 EXPECT_CALL(*this, LoadCompleted());
163 loader.Load( 166 loader.Load(
164 base::Bind(&ProximityAuthRemoteDeviceLoaderTest::OnRemoteDevicesLoaded, 167 base::Bind(&ProximityAuthRemoteDeviceLoaderTest::OnRemoteDevicesLoaded,
165 base::Unretained(this))); 168 base::Unretained(this)));
166 169
167 EXPECT_EQ(3u, remote_devices_.size()); 170 EXPECT_EQ(3u, remote_devices_.size());
168 for (size_t i = 0; i < 3; ++i) { 171 for (size_t i = 0; i < 3; ++i) {
169 EXPECT_FALSE(remote_devices_[i].persistent_symmetric_key.empty()); 172 EXPECT_FALSE(remote_devices_[i].persistent_symmetric_key.empty());
170 EXPECT_EQ(unlock_keys[i].friendly_device_name(), remote_devices_[i].name); 173 EXPECT_EQ(unlock_keys[i].friendly_device_name(), remote_devices_[i].name);
171 EXPECT_EQ(unlock_keys[i].public_key(), remote_devices_[i].public_key); 174 EXPECT_EQ(unlock_keys[i].public_key(), remote_devices_[i].public_key);
172 EXPECT_EQ(unlock_keys[i].bluetooth_address(), 175 EXPECT_EQ(unlock_keys[i].bluetooth_address(),
173 remote_devices_[i].bluetooth_address); 176 remote_devices_[i].bluetooth_address);
174 } 177 }
175 } 178 }
176 179
177 } // namespace proximity_auth 180 } // namespace proximity_auth
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698