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

Side by Side Diff: device/bluetooth/bluetooth_local_gatt_characteristic_unittest.cc

Issue 2076433002: Revert of Add support in Chrome to send notifications to a specific device. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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
« no previous file with comments | « no previous file | device/bluetooth/bluez/bluetooth_adapter_bluez.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 <tuple>
6
7 #include "base/memory/weak_ptr.h" 5 #include "base/memory/weak_ptr.h"
8 #include "device/bluetooth/bluetooth_local_gatt_characteristic.h" 6 #include "device/bluetooth/bluetooth_local_gatt_characteristic.h"
9 #include "device/bluetooth/test/bluetooth_gatt_server_test.h" 7 #include "device/bluetooth/test/bluetooth_gatt_server_test.h"
10 #include "device/bluetooth/test/bluetooth_test.h" 8 #include "device/bluetooth/test/bluetooth_test.h"
11 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
12 10
13 namespace device { 11 namespace device {
14 12
15 class BluetoothLocalGattCharacteristicTest : public BluetoothGattServerTest { 13 class BluetoothLocalGattCharacteristicTest : public BluetoothGattServerTest {
16 public: 14 public:
(...skipping 24 matching lines...) Expand all
41 BluetoothUUID(kTestUUIDGenericAttribute), 39 BluetoothUUID(kTestUUIDGenericAttribute),
42 device::BluetoothLocalGattCharacteristic::PROPERTY_INDICATE, 40 device::BluetoothLocalGattCharacteristic::PROPERTY_INDICATE,
43 device::BluetoothLocalGattCharacteristic::Permissions(), 41 device::BluetoothLocalGattCharacteristic::Permissions(),
44 service_.get()); 42 service_.get());
45 EXPECT_LT(0u, read_characteristic_->GetIdentifier().size()); 43 EXPECT_LT(0u, read_characteristic_->GetIdentifier().size());
46 EXPECT_LT(0u, write_characteristic_->GetIdentifier().size()); 44 EXPECT_LT(0u, write_characteristic_->GetIdentifier().size());
47 EXPECT_LT(0u, notify_characteristic_->GetIdentifier().size()); 45 EXPECT_LT(0u, notify_characteristic_->GetIdentifier().size());
48 CompleteGattSetup(); 46 CompleteGattSetup();
49 } 47 }
50 48
51 void CheckNotification(
52 const BluetoothDevice* expected_device,
53 uint64_t expected_value,
54 bool expected_indicate_flag,
55 const BluetoothTestBase::NotificationType& actual_notification) {
56 if (expected_device) {
57 EXPECT_EQ(expected_device->GetIdentifier(),
58 actual_notification.device_path);
59 }
60 EXPECT_EQ(GetValue(expected_value), actual_notification.value);
61 EXPECT_EQ(expected_indicate_flag, actual_notification.indicate);
62 }
63
64 protected: 49 protected:
65 base::WeakPtr<BluetoothLocalGattCharacteristic> read_characteristic_; 50 base::WeakPtr<BluetoothLocalGattCharacteristic> read_characteristic_;
66 base::WeakPtr<BluetoothLocalGattCharacteristic> write_characteristic_; 51 base::WeakPtr<BluetoothLocalGattCharacteristic> write_characteristic_;
67 base::WeakPtr<BluetoothLocalGattCharacteristic> notify_characteristic_; 52 base::WeakPtr<BluetoothLocalGattCharacteristic> notify_characteristic_;
68 base::WeakPtr<BluetoothLocalGattCharacteristic> indicate_characteristic_; 53 base::WeakPtr<BluetoothLocalGattCharacteristic> indicate_characteristic_;
69 BluetoothDevice* device_; 54 BluetoothDevice* device_;
70 }; 55 };
71 56
72 #if defined(OS_CHROMEOS) || defined(OS_LINUX) 57 #if defined(OS_CHROMEOS) || defined(OS_LINUX)
73 TEST_F(BluetoothLocalGattCharacteristicTest, ReadLocalCharacteristicValue) { 58 TEST_F(BluetoothLocalGattCharacteristicTest, ReadLocalCharacteristicValue) {
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 150
166 EXPECT_TRUE(SimulateLocalGattCharacteristicNotificationsRequest( 151 EXPECT_TRUE(SimulateLocalGattCharacteristicNotificationsRequest(
167 notify_characteristic_.get(), false)); 152 notify_characteristic_.get(), false));
168 EXPECT_FALSE(delegate_->NotificationStatusForCharacteristic( 153 EXPECT_FALSE(delegate_->NotificationStatusForCharacteristic(
169 notify_characteristic_.get())); 154 notify_characteristic_.get()));
170 } 155 }
171 #endif // defined(OS_CHROMEOS) || defined(OS_LINUX) 156 #endif // defined(OS_CHROMEOS) || defined(OS_LINUX)
172 157
173 #if defined(OS_CHROMEOS) || defined(OS_LINUX) 158 #if defined(OS_CHROMEOS) || defined(OS_LINUX)
174 TEST_F(BluetoothLocalGattCharacteristicTest, SendNotifications) { 159 TEST_F(BluetoothLocalGattCharacteristicTest, SendNotifications) {
175 BluetoothDevice* device = SimulateLowEnergyDevice(1);
176 const uint64_t kNotifyValue = 0x7331ul;
177 EXPECT_EQ(BluetoothLocalGattCharacteristic::NOTIFICATION_SUCCESS,
178 notify_characteristic_->NotifyValueChanged(
179 device, GetValue(kNotifyValue), false));
180 CheckNotification(
181 device, kNotifyValue, false,
182 LastNotifactionValueForCharacteristic(notify_characteristic_.get()));
183
184 const uint64_t kIndicateValue = 0x1337ul;
185 EXPECT_EQ(BluetoothLocalGattCharacteristic::NOTIFICATION_SUCCESS,
186 indicate_characteristic_->NotifyValueChanged(
187 device, GetValue(kIndicateValue), true));
188 CheckNotification(
189 device, kIndicateValue, true,
190 LastNotifactionValueForCharacteristic(indicate_characteristic_.get()));
191 }
192 #endif // defined(OS_CHROMEOS) || defined(OS_LINUX)
193
194 #if defined(OS_CHROMEOS) || defined(OS_LINUX)
195 TEST_F(BluetoothLocalGattCharacteristicTest, SendNotificationsToNullDevice) {
196 const uint64_t kNotifyValue = 0x7331ul; 160 const uint64_t kNotifyValue = 0x7331ul;
197 EXPECT_EQ(BluetoothLocalGattCharacteristic::NOTIFICATION_SUCCESS, 161 EXPECT_EQ(BluetoothLocalGattCharacteristic::NOTIFICATION_SUCCESS,
198 notify_characteristic_->NotifyValueChanged( 162 notify_characteristic_->NotifyValueChanged(
199 nullptr, GetValue(kNotifyValue), false)); 163 nullptr, GetValue(kNotifyValue), false));
200 CheckNotification( 164 EXPECT_EQ(kNotifyValue, GetInteger(LastNotifactionValueForCharacteristic(
201 nullptr, kNotifyValue, false, 165 notify_characteristic_.get())));
202 LastNotifactionValueForCharacteristic(notify_characteristic_.get()));
203 166
204 const uint64_t kIndicateValue = 0x1337ul; 167 const uint64_t kIndicateValue = 0x1337ul;
205 EXPECT_EQ(BluetoothLocalGattCharacteristic::NOTIFICATION_SUCCESS, 168 EXPECT_EQ(BluetoothLocalGattCharacteristic::NOTIFICATION_SUCCESS,
206 indicate_characteristic_->NotifyValueChanged( 169 indicate_characteristic_->NotifyValueChanged(
207 nullptr, GetValue(kIndicateValue), true)); 170 nullptr, GetValue(kIndicateValue), true));
208 CheckNotification( 171 EXPECT_EQ(kIndicateValue, GetInteger(LastNotifactionValueForCharacteristic(
209 nullptr, kIndicateValue, true, 172 indicate_characteristic_.get())));
210 LastNotifactionValueForCharacteristic(indicate_characteristic_.get()));
211 } 173 }
212 #endif // defined(OS_CHROMEOS) || defined(OS_LINUX) 174 #endif // defined(OS_CHROMEOS) || defined(OS_LINUX)
213 175
214 #if defined(OS_CHROMEOS) || defined(OS_LINUX) 176 #if defined(OS_CHROMEOS) || defined(OS_LINUX)
215 TEST_F(BluetoothLocalGattCharacteristicTest, SendNotificationsWrongProperties) { 177 TEST_F(BluetoothLocalGattCharacteristicTest, SendNotificationsWrongProperties) {
216 BluetoothDevice* device = SimulateLowEnergyDevice(1);
217 const uint64_t kNewValue = 0x3334ul; 178 const uint64_t kNewValue = 0x3334ul;
218 EXPECT_EQ(BluetoothLocalGattCharacteristic::NOTIFY_PROPERTY_NOT_SET, 179 EXPECT_EQ(BluetoothLocalGattCharacteristic::NOTIFY_PROPERTY_NOT_SET,
219 read_characteristic_->NotifyValueChanged( 180 read_characteristic_->NotifyValueChanged(
220 device, GetValue(kNewValue), false)); 181 nullptr, GetValue(kNewValue), false));
221 EXPECT_NE(kNewValue, GetInteger(LastNotifactionValueForCharacteristic( 182 EXPECT_NE(kNewValue, GetInteger(LastNotifactionValueForCharacteristic(
222 read_characteristic_.get()) 183 read_characteristic_.get())));
223 .value));
224 184
225 EXPECT_EQ(BluetoothLocalGattCharacteristic::NOTIFY_PROPERTY_NOT_SET, 185 EXPECT_EQ(BluetoothLocalGattCharacteristic::NOTIFY_PROPERTY_NOT_SET,
226 write_characteristic_->NotifyValueChanged( 186 write_characteristic_->NotifyValueChanged(
227 device, GetValue(kNewValue), false)); 187 nullptr, GetValue(kNewValue), false));
228 EXPECT_NE(kNewValue, GetInteger(LastNotifactionValueForCharacteristic( 188 EXPECT_NE(kNewValue, GetInteger(LastNotifactionValueForCharacteristic(
229 write_characteristic_.get()) 189 write_characteristic_.get())));
230 .value));
231 190
232 const uint64_t kNotifyValue = 0x7331ul; 191 const uint64_t kNotifyValue = 0x7331ul;
233 EXPECT_EQ(BluetoothLocalGattCharacteristic::INDICATE_PROPERTY_NOT_SET, 192 EXPECT_EQ(BluetoothLocalGattCharacteristic::INDICATE_PROPERTY_NOT_SET,
234 notify_characteristic_->NotifyValueChanged( 193 notify_characteristic_->NotifyValueChanged(
235 device, GetValue(kNotifyValue), true)); 194 nullptr, GetValue(kNotifyValue), true));
236 EXPECT_NE(kNotifyValue, GetInteger(LastNotifactionValueForCharacteristic( 195 EXPECT_NE(kNotifyValue, GetInteger(LastNotifactionValueForCharacteristic(
237 notify_characteristic_.get()) 196 notify_characteristic_.get())));
238 .value));
239 197
240 const uint64_t kIndicateValue = 0x1337ul; 198 const uint64_t kIndicateValue = 0x1337ul;
241 EXPECT_EQ(BluetoothLocalGattCharacteristic::NOTIFY_PROPERTY_NOT_SET, 199 EXPECT_EQ(BluetoothLocalGattCharacteristic::NOTIFY_PROPERTY_NOT_SET,
242 indicate_characteristic_->NotifyValueChanged( 200 indicate_characteristic_->NotifyValueChanged(
243 device, GetValue(kIndicateValue), false)); 201 nullptr, GetValue(kIndicateValue), false));
244 EXPECT_NE(kIndicateValue, GetInteger(LastNotifactionValueForCharacteristic( 202 EXPECT_NE(kIndicateValue, GetInteger(LastNotifactionValueForCharacteristic(
245 indicate_characteristic_.get()) 203 indicate_characteristic_.get())));
246 .value));
247 } 204 }
248 #endif // defined(OS_CHROMEOS) || defined(OS_LINUX) 205 #endif // defined(OS_CHROMEOS) || defined(OS_LINUX)
249 206
250 #if defined(OS_CHROMEOS) || defined(OS_LINUX) 207 #if defined(OS_CHROMEOS) || defined(OS_LINUX)
251 TEST_F(BluetoothLocalGattCharacteristicTest, 208 TEST_F(BluetoothLocalGattCharacteristicTest,
252 SendNotificationsServiceNotRegistered) { 209 SendNotificationsServiceNotRegistered) {
253 BluetoothDevice* device = SimulateLowEnergyDevice(1);
254 service_->Unregister(GetCallback(Call::EXPECTED), 210 service_->Unregister(GetCallback(Call::EXPECTED),
255 GetGattErrorCallback(Call::NOT_EXPECTED)); 211 GetGattErrorCallback(Call::NOT_EXPECTED));
256 const uint64_t kNotifyValue = 0x7331ul; 212 const uint64_t kNotifyValue = 0x7331ul;
257 EXPECT_EQ(BluetoothLocalGattCharacteristic::SERVICE_NOT_REGISTERED, 213 EXPECT_EQ(BluetoothLocalGattCharacteristic::SERVICE_NOT_REGISTERED,
258 notify_characteristic_->NotifyValueChanged( 214 notify_characteristic_->NotifyValueChanged(
259 device, GetValue(kNotifyValue), false)); 215 nullptr, GetValue(kNotifyValue), false));
260 EXPECT_NE(kNotifyValue, GetInteger(LastNotifactionValueForCharacteristic( 216 EXPECT_NE(kNotifyValue, GetInteger(LastNotifactionValueForCharacteristic(
261 notify_characteristic_.get()) 217 notify_characteristic_.get())));
262 .value));
263 } 218 }
264 #endif // defined(OS_CHROMEOS) || defined(OS_LINUX) 219 #endif // defined(OS_CHROMEOS) || defined(OS_LINUX)
265 220
266 } // namespace device 221 } // namespace device
OLDNEW
« no previous file with comments | « no previous file | device/bluetooth/bluez/bluetooth_adapter_bluez.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698