OLD | NEW |
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 #ifndef DEVICE_BLUETOOTH_TEST_BLUETOOTH_TEST_MAC_H_ | 5 #ifndef DEVICE_BLUETOOTH_TEST_BLUETOOTH_TEST_MAC_H_ |
6 #define DEVICE_BLUETOOTH_TEST_BLUETOOTH_TEST_MAC_H_ | 6 #define DEVICE_BLUETOOTH_TEST_BLUETOOTH_TEST_MAC_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "base/test/test_simple_task_runner.h" | 10 #include "base/test/test_simple_task_runner.h" |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 BluetoothRemoteGattDescriptor* descriptor) override; | 96 BluetoothRemoteGattDescriptor* descriptor) override; |
97 void SimulateGattDescriptorWriteError( | 97 void SimulateGattDescriptorWriteError( |
98 BluetoothRemoteGattDescriptor* descriptor, | 98 BluetoothRemoteGattDescriptor* descriptor, |
99 BluetoothRemoteGattService::GattErrorCode error_code) override; | 99 BluetoothRemoteGattService::GattErrorCode error_code) override; |
100 void ExpectedChangeNotifyValueAttempts(int attempts) override; | 100 void ExpectedChangeNotifyValueAttempts(int attempts) override; |
101 void ExpectedNotifyValue(NotifyValueState expected_value_state) override; | 101 void ExpectedNotifyValue(NotifyValueState expected_value_state) override; |
102 | 102 |
103 // macOS is the only platform for which we need to discover each set of | 103 // macOS is the only platform for which we need to discover each set of |
104 // attributes individually so we need a method to simulate discovering each | 104 // attributes individually so we need a method to simulate discovering each |
105 // set of attributes. | 105 // set of attributes. |
106 void SimulateDidDiscoverServices(BluetoothDevice* device, | 106 // Simulates service discovery for a device. |
107 const std::vector<std::string>& uuids); | 107 void SimulateDidDiscoverServicesMac(BluetoothDevice* device); |
| 108 // Simulates characteristic discovery for a service. |
| 109 void SimulateDidDiscoverCharacteristicsMac( |
| 110 BluetoothRemoteGattService* service); |
| 111 // Simulates descriptor discovery for a characteristic. |
| 112 void SimulateDidDiscoverDescriptorsMac( |
| 113 BluetoothRemoteGattCharacteristic* characteristic); |
108 // CoreBluetooth can return NSData when reading remote gatt descriptors. | 114 // CoreBluetooth can return NSData when reading remote gatt descriptors. |
109 // This methods simulate receiving NSData from CoreBluetooth. | 115 // This methods simulate receiving NSData from CoreBluetooth. |
110 void SimulateGattDescriptorReadNSData( | 116 void SimulateGattDescriptorReadNSDataMac( |
111 BluetoothRemoteGattDescriptor* descriptor, | 117 BluetoothRemoteGattDescriptor* descriptor, |
112 const std::vector<uint8_t>& value); | 118 const std::vector<uint8_t>& value); |
113 // CoreBluetooth can return NSString when reading remote gatt descriptors. | 119 // CoreBluetooth can return NSString when reading remote gatt descriptors. |
114 // This methods simulate receiving NSString from CoreBluetooth. | 120 // This methods simulate receiving NSString from CoreBluetooth. |
115 void SimulateGattDescriptorReadNSString( | 121 void SimulateGattDescriptorReadNSStringMac( |
116 BluetoothRemoteGattDescriptor* descriptor, | 122 BluetoothRemoteGattDescriptor* descriptor, |
117 const std::string& value); | 123 const std::string& value); |
118 // CoreBluetooth can return NSString when reading remote gatt descriptors. | 124 // CoreBluetooth can return NSString when reading remote gatt descriptors. |
119 // This methods simulate receiving NSString from CoreBluetooth. | 125 // This methods simulate receiving NSString from CoreBluetooth. |
120 void SimulateGattDescriptorReadNSNumber( | 126 void SimulateGattDescriptorReadNSNumberMac( |
121 BluetoothRemoteGattDescriptor* descriptor, | 127 BluetoothRemoteGattDescriptor* descriptor, |
122 short value); | 128 short value); |
123 | 129 |
| 130 // Adds services in MockCBPeripheral. |
| 131 void AddServicesToDeviceMac(BluetoothDevice* device, |
| 132 const std::vector<std::string>& uuids); |
| 133 // Adds a characteristic in MockCBService. |
| 134 void AddCharacteristicToServiceMac(BluetoothRemoteGattService* service, |
| 135 const std::string& characteristic_uuid, |
| 136 int properties); |
| 137 // Adds a descriptor in MockCBCharacteristic. |
| 138 void AddDescriptorToCharacteristicMac( |
| 139 BluetoothRemoteGattCharacteristic* characteristic, |
| 140 const std::string& uuid); |
| 141 |
124 // Callback for the bluetooth central manager mock. | 142 // Callback for the bluetooth central manager mock. |
125 void OnFakeBluetoothDeviceConnectGattCalled(); | 143 void OnFakeBluetoothDeviceConnectGattCalled(); |
126 void OnFakeBluetoothGattDisconnect(); | 144 void OnFakeBluetoothGattDisconnect(); |
127 | 145 |
128 // Callback for the bluetooth peripheral mock. | 146 // Callback for the bluetooth peripheral mock. |
129 void OnFakeBluetoothServiceDiscovery(); | 147 void OnFakeBluetoothServiceDiscovery(); |
130 void OnFakeBluetoothCharacteristicDiscovery(); | 148 void OnFakeBluetoothCharacteristicDiscovery(); |
131 void OnFakeBluetoothCharacteristicReadValue(); | 149 void OnFakeBluetoothCharacteristicReadValue(); |
132 void OnFakeBluetoothCharacteristicWriteValue(std::vector<uint8_t> value); | 150 void OnFakeBluetoothCharacteristicWriteValue(std::vector<uint8_t> value); |
133 void OnFakeBluetoothGattSetCharacteristicNotification(bool notify_value); | 151 void OnFakeBluetoothGattSetCharacteristicNotification(bool notify_value); |
(...skipping 18 matching lines...) Expand all Loading... |
152 BluetoothRemoteGattCharacteristic* characteristic) const; | 170 BluetoothRemoteGattCharacteristic* characteristic) const; |
153 // Returns MockCBPeripheral from BluetoothRemoteGattDescriptor. | 171 // Returns MockCBPeripheral from BluetoothRemoteGattDescriptor. |
154 MockCBPeripheral* GetMockCBPeripheral( | 172 MockCBPeripheral* GetMockCBPeripheral( |
155 BluetoothRemoteGattDescriptor* descriptor) const; | 173 BluetoothRemoteGattDescriptor* descriptor) const; |
156 // Returns MockCBCharacteristic from BluetoothRemoteGattCharacteristic. | 174 // Returns MockCBCharacteristic from BluetoothRemoteGattCharacteristic. |
157 MockCBCharacteristic* GetCBMockCharacteristic( | 175 MockCBCharacteristic* GetCBMockCharacteristic( |
158 BluetoothRemoteGattCharacteristic* characteristic) const; | 176 BluetoothRemoteGattCharacteristic* characteristic) const; |
159 // Returns MockCBDescriptor from BluetoothRemoteGattDescriptor. | 177 // Returns MockCBDescriptor from BluetoothRemoteGattDescriptor. |
160 MockCBDescriptor* GetCBMockDescriptor( | 178 MockCBDescriptor* GetCBMockDescriptor( |
161 BluetoothRemoteGattDescriptor* descriptor) const; | 179 BluetoothRemoteGattDescriptor* descriptor) const; |
162 // Adds services in MockCBPeripheral. | |
163 void AddServicesToDevice(BluetoothDevice* device, | |
164 const std::vector<std::string>& uuids); | |
165 | 180 |
166 // Utility function for finding CBUUIDs with relatively nice SHA256 hashes. | 181 // Utility function for finding CBUUIDs with relatively nice SHA256 hashes. |
167 std::string FindCBUUIDForHashTarget(); | 182 std::string FindCBUUIDForHashTarget(); |
168 | 183 |
169 BluetoothAdapterMac* adapter_mac_ = nullptr; | 184 BluetoothAdapterMac* adapter_mac_ = nullptr; |
170 std::unique_ptr<ScopedMockCentralManager> mock_central_manager_; | 185 std::unique_ptr<ScopedMockCentralManager> mock_central_manager_; |
171 | 186 |
172 // Value set by -[CBPeripheral setNotifyValue:forCharacteristic:] call. | 187 // Value set by -[CBPeripheral setNotifyValue:forCharacteristic:] call. |
173 bool last_notify_value_ = false; | 188 bool last_notify_value_ = false; |
174 int gatt_characteristic_discovery_attempts_ = 0; | 189 int gatt_characteristic_discovery_attempts_ = 0; |
175 }; | 190 }; |
176 | 191 |
177 // Defines common test fixture name. Use TEST_F(BluetoothTest, YourTestName). | 192 // Defines common test fixture name. Use TEST_F(BluetoothTest, YourTestName). |
178 typedef BluetoothTestMac BluetoothTest; | 193 typedef BluetoothTestMac BluetoothTest; |
179 | 194 |
180 } // namespace device | 195 } // namespace device |
181 | 196 |
182 #endif // DEVICE_BLUETOOTH_TEST_BLUETOOTH_TEST_MAC_H_ | 197 #endif // DEVICE_BLUETOOTH_TEST_BLUETOOTH_TEST_MAC_H_ |
OLD | NEW |