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

Side by Side Diff: content/browser/bluetooth/bluetooth_allowed_devices_map_unittest.cc

Issue 2019853002: bluetooth: Use WebBluetoothDeviceId instead of string (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@bluetooth-uuid-typemap
Patch Set: Lint Created 4 years, 6 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 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 "content/browser/bluetooth/bluetooth_allowed_devices_map.h" 5 #include "content/browser/bluetooth/bluetooth_allowed_devices_map.h"
6 6
7 #include "base/strings/string_util.h" 7 #include "base/strings/string_util.h"
8 #include "content/common/bluetooth/bluetooth_device_id.h"
8 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
9 #include "url/gurl.h" 10 #include "url/gurl.h"
10 11
11 using device::BluetoothUUID; 12 using device::BluetoothUUID;
12 13
13 namespace content { 14 namespace content {
14 namespace { 15 namespace {
15 const url::Origin kTestOrigin1(GURL("https://www.example1.com")); 16 const url::Origin kTestOrigin1(GURL("https://www.example1.com"));
16 const url::Origin kTestOrigin2(GURL("https://www.example2.com")); 17 const url::Origin kTestOrigin2(GURL("https://www.example2.com"));
17 18
(...skipping 28 matching lines...) Expand all
46 BluetoothAllowedDevicesMap allowed_devices_map; 47 BluetoothAllowedDevicesMap allowed_devices_map;
47 48
48 EXPECT_DEATH_IF_SUPPORTED(allowed_devices_map.AddDevice( 49 EXPECT_DEATH_IF_SUPPORTED(allowed_devices_map.AddDevice(
49 url::Origin(), kDeviceAddress1, empty_options_), 50 url::Origin(), kDeviceAddress1, empty_options_),
50 ""); 51 "");
51 } 52 }
52 53
53 TEST_F(BluetoothAllowedDevicesMapTest, AddDeviceToMap) { 54 TEST_F(BluetoothAllowedDevicesMapTest, AddDeviceToMap) {
54 BluetoothAllowedDevicesMap allowed_devices_map; 55 BluetoothAllowedDevicesMap allowed_devices_map;
55 56
56 const std::string& device_id = allowed_devices_map.AddDevice( 57 const BluetoothDeviceId& device_id = allowed_devices_map.AddDevice(
57 kTestOrigin1, kDeviceAddress1, empty_options_); 58 kTestOrigin1, kDeviceAddress1, empty_options_);
58 59
59 // Test that we can retrieve the device address/id. 60 // Test that we can retrieve the device address/id.
60 EXPECT_EQ(device_id, 61 EXPECT_EQ(
61 allowed_devices_map.GetDeviceId(kTestOrigin1, kDeviceAddress1)); 62 device_id,
63 allowed_devices_map.GetDeviceId(kTestOrigin1, kDeviceAddress1).value());
62 EXPECT_EQ(kDeviceAddress1, 64 EXPECT_EQ(kDeviceAddress1,
63 allowed_devices_map.GetDeviceAddress(kTestOrigin1, device_id)); 65 allowed_devices_map.GetDeviceAddress(kTestOrigin1, device_id));
64 } 66 }
65 67
66 TEST_F(BluetoothAllowedDevicesMapTest, AddDeviceToMapTwice) { 68 TEST_F(BluetoothAllowedDevicesMapTest, AddDeviceToMapTwice) {
67 BluetoothAllowedDevicesMap allowed_devices_map; 69 BluetoothAllowedDevicesMap allowed_devices_map;
68 const std::string& device_id1 = allowed_devices_map.AddDevice( 70 const BluetoothDeviceId& device_id1 = allowed_devices_map.AddDevice(
69 kTestOrigin1, kDeviceAddress1, empty_options_); 71 kTestOrigin1, kDeviceAddress1, empty_options_);
70 const std::string& device_id2 = allowed_devices_map.AddDevice( 72 const BluetoothDeviceId& device_id2 = allowed_devices_map.AddDevice(
71 kTestOrigin1, kDeviceAddress1, empty_options_); 73 kTestOrigin1, kDeviceAddress1, empty_options_);
72 74
73 EXPECT_EQ(device_id1, device_id2); 75 EXPECT_EQ(device_id1, device_id2);
74 76
75 // Test that we can retrieve the device address/id. 77 // Test that we can retrieve the device address/id.
76 EXPECT_EQ(device_id1, 78 EXPECT_EQ(
77 allowed_devices_map.GetDeviceId(kTestOrigin1, kDeviceAddress1)); 79 device_id1,
80 allowed_devices_map.GetDeviceId(kTestOrigin1, kDeviceAddress1).value());
78 EXPECT_EQ(kDeviceAddress1, 81 EXPECT_EQ(kDeviceAddress1,
79 allowed_devices_map.GetDeviceAddress(kTestOrigin1, device_id1)); 82 allowed_devices_map.GetDeviceAddress(kTestOrigin1, device_id1));
80 } 83 }
81 84
82 TEST_F(BluetoothAllowedDevicesMapTest, AddTwoDevicesFromSameOriginToMap) { 85 TEST_F(BluetoothAllowedDevicesMapTest, AddTwoDevicesFromSameOriginToMap) {
83 BluetoothAllowedDevicesMap allowed_devices_map; 86 BluetoothAllowedDevicesMap allowed_devices_map;
84 const std::string& device_id1 = allowed_devices_map.AddDevice( 87 const BluetoothDeviceId& device_id1 = allowed_devices_map.AddDevice(
85 kTestOrigin1, kDeviceAddress1, empty_options_); 88 kTestOrigin1, kDeviceAddress1, empty_options_);
86 const std::string& device_id2 = allowed_devices_map.AddDevice( 89 const BluetoothDeviceId& device_id2 = allowed_devices_map.AddDevice(
87 kTestOrigin1, kDeviceAddress2, empty_options_); 90 kTestOrigin1, kDeviceAddress2, empty_options_);
88 91
89 EXPECT_NE(device_id1, device_id2); 92 EXPECT_NE(device_id1, device_id2);
90 93
91 // Test that we can retrieve the device address/id. 94 // Test that we can retrieve the device address/id.
92 EXPECT_EQ(device_id1, 95 EXPECT_EQ(
93 allowed_devices_map.GetDeviceId(kTestOrigin1, kDeviceAddress1)); 96 device_id1,
94 EXPECT_EQ(device_id2, 97 allowed_devices_map.GetDeviceId(kTestOrigin1, kDeviceAddress1).value());
95 allowed_devices_map.GetDeviceId(kTestOrigin1, kDeviceAddress2)); 98 EXPECT_EQ(
99 device_id2,
100 allowed_devices_map.GetDeviceId(kTestOrigin1, kDeviceAddress2).value());
96 101
97 EXPECT_EQ(kDeviceAddress1, 102 EXPECT_EQ(kDeviceAddress1,
98 allowed_devices_map.GetDeviceAddress(kTestOrigin1, device_id1)); 103 allowed_devices_map.GetDeviceAddress(kTestOrigin1, device_id1));
99 EXPECT_EQ(kDeviceAddress2, 104 EXPECT_EQ(kDeviceAddress2,
100 allowed_devices_map.GetDeviceAddress(kTestOrigin1, device_id2)); 105 allowed_devices_map.GetDeviceAddress(kTestOrigin1, device_id2));
101 } 106 }
102 107
103 TEST_F(BluetoothAllowedDevicesMapTest, AddTwoDevicesFromTwoOriginsToMap) { 108 TEST_F(BluetoothAllowedDevicesMapTest, AddTwoDevicesFromTwoOriginsToMap) {
104 BluetoothAllowedDevicesMap allowed_devices_map; 109 BluetoothAllowedDevicesMap allowed_devices_map;
105 const std::string& device_id1 = allowed_devices_map.AddDevice( 110 const BluetoothDeviceId& device_id1 = allowed_devices_map.AddDevice(
106 kTestOrigin1, kDeviceAddress1, empty_options_); 111 kTestOrigin1, kDeviceAddress1, empty_options_);
107 const std::string& device_id2 = allowed_devices_map.AddDevice( 112 const BluetoothDeviceId& device_id2 = allowed_devices_map.AddDevice(
108 kTestOrigin2, kDeviceAddress2, empty_options_); 113 kTestOrigin2, kDeviceAddress2, empty_options_);
109 114
110 EXPECT_NE(device_id1, device_id2); 115 EXPECT_NE(device_id1, device_id2);
111 116
112 // Test that the wrong origin doesn't have access to the device. 117 // Test that the wrong origin doesn't have access to the device.
113 118
114 EXPECT_EQ(base::EmptyString(), 119 EXPECT_FALSE(allowed_devices_map.GetDeviceId(kTestOrigin1, kDeviceAddress2));
115 allowed_devices_map.GetDeviceId(kTestOrigin1, kDeviceAddress2)); 120 EXPECT_FALSE(allowed_devices_map.GetDeviceId(kTestOrigin2, kDeviceAddress1));
116 EXPECT_EQ(base::EmptyString(),
117 allowed_devices_map.GetDeviceId(kTestOrigin2, kDeviceAddress1));
118 121
119 EXPECT_EQ(base::EmptyString(), 122 EXPECT_EQ(base::EmptyString(),
120 allowed_devices_map.GetDeviceAddress(kTestOrigin1, device_id2)); 123 allowed_devices_map.GetDeviceAddress(kTestOrigin1, device_id2));
121 EXPECT_EQ(base::EmptyString(), 124 EXPECT_EQ(base::EmptyString(),
122 allowed_devices_map.GetDeviceAddress(kTestOrigin2, device_id1)); 125 allowed_devices_map.GetDeviceAddress(kTestOrigin2, device_id1));
123 126
124 // Test that we can retrieve the device address/id. 127 // Test that we can retrieve the device address/id.
125 EXPECT_EQ(device_id1, 128 EXPECT_EQ(
126 allowed_devices_map.GetDeviceId(kTestOrigin1, kDeviceAddress1)); 129 device_id1,
127 EXPECT_EQ(device_id2, 130 allowed_devices_map.GetDeviceId(kTestOrigin1, kDeviceAddress1).value());
128 allowed_devices_map.GetDeviceId(kTestOrigin2, kDeviceAddress2)); 131 EXPECT_EQ(
132 device_id2,
133 allowed_devices_map.GetDeviceId(kTestOrigin2, kDeviceAddress2).value());
129 134
130 EXPECT_EQ(kDeviceAddress1, 135 EXPECT_EQ(kDeviceAddress1,
131 allowed_devices_map.GetDeviceAddress(kTestOrigin1, device_id1)); 136 allowed_devices_map.GetDeviceAddress(kTestOrigin1, device_id1));
132 EXPECT_EQ(kDeviceAddress2, 137 EXPECT_EQ(kDeviceAddress2,
133 allowed_devices_map.GetDeviceAddress(kTestOrigin2, device_id2)); 138 allowed_devices_map.GetDeviceAddress(kTestOrigin2, device_id2));
134 } 139 }
135 140
136 TEST_F(BluetoothAllowedDevicesMapTest, AddDeviceFromTwoOriginsToMap) { 141 TEST_F(BluetoothAllowedDevicesMapTest, AddDeviceFromTwoOriginsToMap) {
137 BluetoothAllowedDevicesMap allowed_devices_map; 142 BluetoothAllowedDevicesMap allowed_devices_map;
138 const std::string& device_id1 = allowed_devices_map.AddDevice( 143 const BluetoothDeviceId& device_id1 = allowed_devices_map.AddDevice(
139 kTestOrigin1, kDeviceAddress1, empty_options_); 144 kTestOrigin1, kDeviceAddress1, empty_options_);
140 const std::string& device_id2 = allowed_devices_map.AddDevice( 145 const BluetoothDeviceId& device_id2 = allowed_devices_map.AddDevice(
141 kTestOrigin2, kDeviceAddress1, empty_options_); 146 kTestOrigin2, kDeviceAddress1, empty_options_);
142 147
143 EXPECT_NE(device_id1, device_id2); 148 EXPECT_NE(device_id1, device_id2);
144 149
145 // Test that the wrong origin doesn't have access to the device. 150 // Test that the wrong origin doesn't have access to the device.
146 EXPECT_EQ(base::EmptyString(), 151 EXPECT_EQ(base::EmptyString(),
147 allowed_devices_map.GetDeviceAddress(kTestOrigin1, device_id2)); 152 allowed_devices_map.GetDeviceAddress(kTestOrigin1, device_id2));
148 EXPECT_EQ(base::EmptyString(), 153 EXPECT_EQ(base::EmptyString(),
149 allowed_devices_map.GetDeviceAddress(kTestOrigin2, device_id1)); 154 allowed_devices_map.GetDeviceAddress(kTestOrigin2, device_id1));
150 } 155 }
151 156
152 TEST_F(BluetoothAllowedDevicesMapTest, AddRemoveAddDeviceToMap) { 157 TEST_F(BluetoothAllowedDevicesMapTest, AddRemoveAddDeviceToMap) {
153 BluetoothAllowedDevicesMap allowed_devices_map; 158 BluetoothAllowedDevicesMap allowed_devices_map;
154 const std::string device_id_first_time = allowed_devices_map.AddDevice( 159 const BluetoothDeviceId device_id_first_time = allowed_devices_map.AddDevice(
155 kTestOrigin1, kDeviceAddress1, empty_options_); 160 kTestOrigin1, kDeviceAddress1, empty_options_);
156 161
157 allowed_devices_map.RemoveDevice(kTestOrigin1, kDeviceAddress1); 162 allowed_devices_map.RemoveDevice(kTestOrigin1, kDeviceAddress1);
158 163
159 const std::string device_id_second_time = allowed_devices_map.AddDevice( 164 const BluetoothDeviceId device_id_second_time = allowed_devices_map.AddDevice(
160 kTestOrigin1, kDeviceAddress1, empty_options_); 165 kTestOrigin1, kDeviceAddress1, empty_options_);
161 166
162 EXPECT_NE(device_id_first_time, device_id_second_time); 167 EXPECT_NE(device_id_first_time, device_id_second_time);
163 } 168 }
164 169
165 TEST_F(BluetoothAllowedDevicesMapTest, RemoveDeviceFromMap) { 170 TEST_F(BluetoothAllowedDevicesMapTest, RemoveDeviceFromMap) {
166 BluetoothAllowedDevicesMap allowed_devices_map; 171 BluetoothAllowedDevicesMap allowed_devices_map;
167 172
168 const std::string& device_id = allowed_devices_map.AddDevice( 173 const BluetoothDeviceId device_id = allowed_devices_map.AddDevice(
169 kTestOrigin1, kDeviceAddress1, empty_options_); 174 kTestOrigin1, kDeviceAddress1, empty_options_);
170 175
171 allowed_devices_map.RemoveDevice(kTestOrigin1, kDeviceAddress1); 176 allowed_devices_map.RemoveDevice(kTestOrigin1, kDeviceAddress1);
172 177
178 EXPECT_FALSE(allowed_devices_map.GetDeviceId(kTestOrigin1, kDeviceAddress1));
173 EXPECT_EQ(base::EmptyString(), 179 EXPECT_EQ(base::EmptyString(),
174 allowed_devices_map.GetDeviceId(kTestOrigin1, device_id)); 180 allowed_devices_map.GetDeviceAddress(kTestOrigin1, device_id));
175 EXPECT_EQ(base::EmptyString(), allowed_devices_map.GetDeviceAddress(
176 kTestOrigin1, kDeviceAddress1));
177 } 181 }
178 182
179 TEST_F(BluetoothAllowedDevicesMapTest, AllowedServices_OneOriginOneDevice) { 183 TEST_F(BluetoothAllowedDevicesMapTest, AllowedServices_OneOriginOneDevice) {
180 BluetoothAllowedDevicesMap allowed_devices_map; 184 BluetoothAllowedDevicesMap allowed_devices_map;
181 185
182 // Setup device. 186 // Setup device.
183 blink::mojom::WebBluetoothRequestDeviceOptionsPtr options = 187 blink::mojom::WebBluetoothRequestDeviceOptionsPtr options =
184 blink::mojom::WebBluetoothRequestDeviceOptions::New(); 188 blink::mojom::WebBluetoothRequestDeviceOptions::New();
185 blink::mojom::WebBluetoothScanFilterPtr scanFilter1 = 189 blink::mojom::WebBluetoothScanFilterPtr scanFilter1 =
186 blink::mojom::WebBluetoothScanFilter::New(); 190 blink::mojom::WebBluetoothScanFilter::New();
187 blink::mojom::WebBluetoothScanFilterPtr scanFilter2 = 191 blink::mojom::WebBluetoothScanFilterPtr scanFilter2 =
188 blink::mojom::WebBluetoothScanFilter::New(); 192 blink::mojom::WebBluetoothScanFilter::New();
189 193
190 scanFilter1->services.push_back(kGlucoseUUID); 194 scanFilter1->services.push_back(kGlucoseUUID);
191 options->filters.push_back(scanFilter1.Clone()); 195 options->filters.push_back(scanFilter1.Clone());
192 196
193 scanFilter2->services.push_back(kHeartRateUUID); 197 scanFilter2->services.push_back(kHeartRateUUID);
194 options->filters.push_back(scanFilter2.Clone()); 198 options->filters.push_back(scanFilter2.Clone());
195 199
196 options->optional_services.push_back(kBatteryServiceUUID); 200 options->optional_services.push_back(kBatteryServiceUUID);
197 options->optional_services.push_back(kHeartRateUUID); 201 options->optional_services.push_back(kHeartRateUUID);
198 202
199 // Add to map. 203 // Add to map.
200 const std::string device_id1 = 204 const BluetoothDeviceId device_id1 =
201 allowed_devices_map.AddDevice(kTestOrigin1, kDeviceAddress1, options); 205 allowed_devices_map.AddDevice(kTestOrigin1, kDeviceAddress1, options);
202 206
203 // Access allowed services. 207 // Access allowed services.
204 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService( 208 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService(
205 kTestOrigin1, device_id1, kGlucoseUUID)); 209 kTestOrigin1, device_id1, kGlucoseUUID));
206 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService( 210 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService(
207 kTestOrigin1, device_id1, kHeartRateUUID)); 211 kTestOrigin1, device_id1, kHeartRateUUID));
208 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService( 212 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService(
209 kTestOrigin1, device_id1, kBatteryServiceUUID)); 213 kTestOrigin1, device_id1, kBatteryServiceUUID));
210 214
(...skipping 11 matching lines...) Expand all
222 EXPECT_FALSE(allowed_devices_map.IsOriginAllowedToAccessService( 226 EXPECT_FALSE(allowed_devices_map.IsOriginAllowedToAccessService(
223 kTestOrigin1, device_id1, kBatteryServiceUUID)); 227 kTestOrigin1, device_id1, kBatteryServiceUUID));
224 228
225 // Add device back. 229 // Add device back.
226 blink::mojom::WebBluetoothRequestDeviceOptionsPtr options2 = 230 blink::mojom::WebBluetoothRequestDeviceOptionsPtr options2 =
227 blink::mojom::WebBluetoothRequestDeviceOptions::New(); 231 blink::mojom::WebBluetoothRequestDeviceOptions::New();
228 232
229 options2->filters.push_back(scanFilter1.Clone()); 233 options2->filters.push_back(scanFilter1.Clone());
230 options2->filters.push_back(scanFilter2.Clone()); 234 options2->filters.push_back(scanFilter2.Clone());
231 235
232 const std::string device_id2 = 236 const BluetoothDeviceId device_id2 =
233 allowed_devices_map.AddDevice(kTestOrigin1, kDeviceAddress1, options2); 237 allowed_devices_map.AddDevice(kTestOrigin1, kDeviceAddress1, options2);
234 238
235 // Access allowed services. 239 // Access allowed services.
236 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService( 240 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService(
237 kTestOrigin1, device_id2, kGlucoseUUID)); 241 kTestOrigin1, device_id2, kGlucoseUUID));
238 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService( 242 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService(
239 kTestOrigin1, device_id2, kHeartRateUUID)); 243 kTestOrigin1, device_id2, kHeartRateUUID));
240 244
241 // Try to access a non-allowed service. 245 // Try to access a non-allowed service.
242 EXPECT_FALSE(allowed_devices_map.IsOriginAllowedToAccessService( 246 EXPECT_FALSE(allowed_devices_map.IsOriginAllowedToAccessService(
(...skipping 27 matching lines...) Expand all
270 blink::mojom::WebBluetoothRequestDeviceOptions::New(); 274 blink::mojom::WebBluetoothRequestDeviceOptions::New();
271 blink::mojom::WebBluetoothScanFilterPtr scanFilter2 = 275 blink::mojom::WebBluetoothScanFilterPtr scanFilter2 =
272 blink::mojom::WebBluetoothScanFilter::New(); 276 blink::mojom::WebBluetoothScanFilter::New();
273 277
274 scanFilter2->services.push_back(kBatteryServiceUUID); 278 scanFilter2->services.push_back(kBatteryServiceUUID);
275 options2->filters.push_back(std::move(scanFilter2)); 279 options2->filters.push_back(std::move(scanFilter2));
276 280
277 options2->optional_services.push_back(kBloodPressureUUID); 281 options2->optional_services.push_back(kBloodPressureUUID);
278 282
279 // Add devices to map. 283 // Add devices to map.
280 const std::string& device_id1 = 284 const BluetoothDeviceId& device_id1 =
281 allowed_devices_map.AddDevice(kTestOrigin1, kDeviceAddress1, options1); 285 allowed_devices_map.AddDevice(kTestOrigin1, kDeviceAddress1, options1);
282 const std::string& device_id2 = 286 const BluetoothDeviceId& device_id2 =
283 allowed_devices_map.AddDevice(kTestOrigin1, kDeviceAddress2, options2); 287 allowed_devices_map.AddDevice(kTestOrigin1, kDeviceAddress2, options2);
284 288
285 // Access allowed services. 289 // Access allowed services.
286 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService( 290 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService(
287 kTestOrigin1, device_id1, kGlucoseUUID)); 291 kTestOrigin1, device_id1, kGlucoseUUID));
288 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService( 292 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService(
289 kTestOrigin1, device_id1, kHeartRateUUID)); 293 kTestOrigin1, device_id1, kHeartRateUUID));
290 294
291 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService( 295 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService(
292 kTestOrigin1, device_id2, kBatteryServiceUUID)); 296 kTestOrigin1, device_id2, kBatteryServiceUUID));
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 blink::mojom::WebBluetoothRequestDeviceOptions::New(); 331 blink::mojom::WebBluetoothRequestDeviceOptions::New();
328 blink::mojom::WebBluetoothScanFilterPtr scanFilter2 = 332 blink::mojom::WebBluetoothScanFilterPtr scanFilter2 =
329 blink::mojom::WebBluetoothScanFilter::New(); 333 blink::mojom::WebBluetoothScanFilter::New();
330 334
331 scanFilter2->services.push_back(kBatteryServiceUUID); 335 scanFilter2->services.push_back(kBatteryServiceUUID);
332 options2->filters.push_back(std::move(scanFilter2)); 336 options2->filters.push_back(std::move(scanFilter2));
333 337
334 options2->optional_services.push_back(kBloodPressureUUID); 338 options2->optional_services.push_back(kBloodPressureUUID);
335 339
336 // Add devices to map. 340 // Add devices to map.
337 const std::string& device_id1 = 341 const BluetoothDeviceId& device_id1 =
338 allowed_devices_map.AddDevice(kTestOrigin1, kDeviceAddress1, options1); 342 allowed_devices_map.AddDevice(kTestOrigin1, kDeviceAddress1, options1);
339 const std::string& device_id2 = 343 const BluetoothDeviceId& device_id2 =
340 allowed_devices_map.AddDevice(kTestOrigin2, kDeviceAddress1, options2); 344 allowed_devices_map.AddDevice(kTestOrigin2, kDeviceAddress1, options2);
341 345
342 // Access allowed services. 346 // Access allowed services.
343 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService( 347 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService(
344 kTestOrigin1, device_id1, kGlucoseUUID)); 348 kTestOrigin1, device_id1, kGlucoseUUID));
345 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService( 349 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService(
346 kTestOrigin1, device_id1, kHeartRateUUID)); 350 kTestOrigin1, device_id1, kHeartRateUUID));
347 351
348 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService( 352 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService(
349 kTestOrigin2, device_id2, kBatteryServiceUUID)); 353 kTestOrigin2, device_id2, kBatteryServiceUUID));
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 blink::mojom::WebBluetoothRequestDeviceOptions::New(); 392 blink::mojom::WebBluetoothRequestDeviceOptions::New();
389 blink::mojom::WebBluetoothScanFilterPtr scanFilter1 = 393 blink::mojom::WebBluetoothScanFilterPtr scanFilter1 =
390 blink::mojom::WebBluetoothScanFilter::New(); 394 blink::mojom::WebBluetoothScanFilter::New();
391 395
392 scanFilter1->services.push_back(kGlucoseUUID); 396 scanFilter1->services.push_back(kGlucoseUUID);
393 options1->filters.push_back(std::move(scanFilter1)); 397 options1->filters.push_back(std::move(scanFilter1));
394 398
395 options1->optional_services.push_back(kBatteryServiceUUID); 399 options1->optional_services.push_back(kBatteryServiceUUID);
396 400
397 // Add to map. 401 // Add to map.
398 const std::string device_id1 = 402 const BluetoothDeviceId device_id1 =
399 allowed_devices_map.AddDevice(kTestOrigin1, kDeviceAddress1, options1); 403 allowed_devices_map.AddDevice(kTestOrigin1, kDeviceAddress1, options1);
400 404
401 // Setup second request. 405 // Setup second request.
402 blink::mojom::WebBluetoothRequestDeviceOptionsPtr options2 = 406 blink::mojom::WebBluetoothRequestDeviceOptionsPtr options2 =
403 blink::mojom::WebBluetoothRequestDeviceOptions::New(); 407 blink::mojom::WebBluetoothRequestDeviceOptions::New();
404 blink::mojom::WebBluetoothScanFilterPtr scanFilter2 = 408 blink::mojom::WebBluetoothScanFilterPtr scanFilter2 =
405 blink::mojom::WebBluetoothScanFilter::New(); 409 blink::mojom::WebBluetoothScanFilter::New();
406 410
407 scanFilter2->services.push_back(kHeartRateUUID); 411 scanFilter2->services.push_back(kHeartRateUUID);
408 options2->filters.push_back(std::move(scanFilter2)); 412 options2->filters.push_back(std::move(scanFilter2));
409 413
410 options2->optional_services.push_back(kBloodPressureUUID); 414 options2->optional_services.push_back(kBloodPressureUUID);
411 415
412 // Add to map again. 416 // Add to map again.
413 const std::string device_id2 = 417 const BluetoothDeviceId device_id2 =
414 allowed_devices_map.AddDevice(kTestOrigin1, kDeviceAddress1, options2); 418 allowed_devices_map.AddDevice(kTestOrigin1, kDeviceAddress1, options2);
415 419
416 EXPECT_EQ(device_id1, device_id2); 420 EXPECT_EQ(device_id1, device_id2);
417 421
418 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService( 422 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService(
419 kTestOrigin1, device_id1, kGlucoseUUID)); 423 kTestOrigin1, device_id1, kGlucoseUUID));
420 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService( 424 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService(
421 kTestOrigin1, device_id1, kBatteryServiceUUID)); 425 kTestOrigin1, device_id1, kBatteryServiceUUID));
422 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService( 426 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService(
423 kTestOrigin1, device_id1, kHeartRateUUID)); 427 kTestOrigin1, device_id1, kHeartRateUUID));
424 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService( 428 EXPECT_TRUE(allowed_devices_map.IsOriginAllowedToAccessService(
425 kTestOrigin1, device_id1, kBloodPressureUUID)); 429 kTestOrigin1, device_id1, kBloodPressureUUID));
426 } 430 }
427 431
428 TEST_F(BluetoothAllowedDevicesMapTest, CorrectIdFormat) { 432 TEST_F(BluetoothAllowedDevicesMapTest, CorrectIdFormat) {
429 BluetoothAllowedDevicesMap allowed_devices_map; 433 BluetoothAllowedDevicesMap allowed_devices_map;
430 434
431 const std::string& device_id = allowed_devices_map.AddDevice( 435 const BluetoothDeviceId& device_id = allowed_devices_map.AddDevice(
432 kTestOrigin1, kDeviceAddress1, empty_options_); 436 kTestOrigin1, kDeviceAddress1, empty_options_);
433 437
434 EXPECT_TRUE(device_id.size() == 24) 438 EXPECT_TRUE(BluetoothDeviceId::IsValid(device_id.str()));
435 << "Expected Lenghth of a 128bit string encoded to Base64.";
436 EXPECT_TRUE((device_id[22] == '=') && (device_id[23] == '='))
437 << "Expected padding characters for a 128bit string encoded to Base64.";
438 } 439 }
439 440
440 } // namespace content 441 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698