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 #include "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/message_loop/message_loop.h" | 6 #include "base/message_loop/message_loop.h" |
7 #include "device/bluetooth/bluetooth_adapter.h" | 7 #include "device/bluetooth/bluetooth_adapter.h" |
8 #include "device/bluetooth/bluetooth_adapter_chromeos.h" | 8 #include "device/bluetooth/bluetooth_adapter_bluez.h" |
9 #include "device/bluetooth/bluetooth_adapter_factory.h" | 9 #include "device/bluetooth/bluetooth_adapter_factory.h" |
10 #include "device/bluetooth/bluetooth_adapter_profile_chromeos.h" | 10 #include "device/bluetooth/bluetooth_adapter_profile_bluez.h" |
11 #include "device/bluetooth/bluetooth_uuid.h" | 11 #include "device/bluetooth/bluetooth_uuid.h" |
12 #include "device/bluetooth/dbus/bluetooth_profile_service_provider.h" | 12 #include "device/bluetooth/dbus/bluetooth_profile_service_provider.h" |
13 #include "device/bluetooth/dbus/bluez_dbus_manager.h" | 13 #include "device/bluetooth/dbus/bluez_dbus_manager.h" |
14 #include "device/bluetooth/dbus/fake_bluetooth_adapter_client.h" | 14 #include "device/bluetooth/dbus/fake_bluetooth_adapter_client.h" |
15 #include "device/bluetooth/dbus/fake_bluetooth_agent_manager_client.h" | 15 #include "device/bluetooth/dbus/fake_bluetooth_agent_manager_client.h" |
16 #include "device/bluetooth/dbus/fake_bluetooth_device_client.h" | 16 #include "device/bluetooth/dbus/fake_bluetooth_device_client.h" |
17 #include "device/bluetooth/dbus/fake_bluetooth_profile_manager_client.h" | 17 #include "device/bluetooth/dbus/fake_bluetooth_profile_manager_client.h" |
18 #include "testing/gtest/include/gtest/gtest.h" | 18 #include "testing/gtest/include/gtest/gtest.h" |
19 | 19 |
20 using device::BluetoothAdapter; | 20 using device::BluetoothAdapter; |
21 using device::BluetoothUUID; | 21 using device::BluetoothUUID; |
22 | 22 |
23 namespace chromeos { | 23 namespace bluez { |
24 | 24 |
25 class BluetoothAdapterProfileChromeOSTest : public testing::Test { | 25 class BluetoothAdapterProfileBlueZTest : public testing::Test { |
26 public: | 26 public: |
27 BluetoothAdapterProfileChromeOSTest() | 27 BluetoothAdapterProfileBlueZTest() |
28 : success_callback_count_(0), | 28 : success_callback_count_(0), |
29 error_callback_count_(0), | 29 error_callback_count_(0), |
30 fake_delegate_paired_( | 30 fake_delegate_paired_( |
31 bluez::FakeBluetoothDeviceClient::kPairedDevicePath), | 31 bluez::FakeBluetoothDeviceClient::kPairedDevicePath), |
32 fake_delegate_autopair_( | 32 fake_delegate_autopair_( |
33 bluez::FakeBluetoothDeviceClient::kLegacyAutopairPath), | 33 bluez::FakeBluetoothDeviceClient::kLegacyAutopairPath), |
34 fake_delegate_listen_(""), | 34 fake_delegate_listen_(""), |
35 profile_user_ptr_(nullptr) {} | 35 profile_user_ptr_(nullptr) {} |
36 | 36 |
37 void SetUp() override { | 37 void SetUp() override { |
38 scoped_ptr<bluez::BluezDBusManagerSetter> dbus_setter = | 38 scoped_ptr<bluez::BluezDBusManagerSetter> dbus_setter = |
39 bluez::BluezDBusManager::GetSetterForTesting(); | 39 bluez::BluezDBusManager::GetSetterForTesting(); |
40 | 40 |
41 dbus_setter->SetBluetoothAdapterClient( | 41 dbus_setter->SetBluetoothAdapterClient( |
42 scoped_ptr<bluez::BluetoothAdapterClient>( | 42 scoped_ptr<bluez::BluetoothAdapterClient>( |
43 new bluez::FakeBluetoothAdapterClient)); | 43 new bluez::FakeBluetoothAdapterClient)); |
44 dbus_setter->SetBluetoothAgentManagerClient( | 44 dbus_setter->SetBluetoothAgentManagerClient( |
45 scoped_ptr<bluez::BluetoothAgentManagerClient>( | 45 scoped_ptr<bluez::BluetoothAgentManagerClient>( |
46 new bluez::FakeBluetoothAgentManagerClient)); | 46 new bluez::FakeBluetoothAgentManagerClient)); |
47 dbus_setter->SetBluetoothDeviceClient( | 47 dbus_setter->SetBluetoothDeviceClient( |
48 scoped_ptr<bluez::BluetoothDeviceClient>( | 48 scoped_ptr<bluez::BluetoothDeviceClient>( |
49 new bluez::FakeBluetoothDeviceClient)); | 49 new bluez::FakeBluetoothDeviceClient)); |
50 dbus_setter->SetBluetoothProfileManagerClient( | 50 dbus_setter->SetBluetoothProfileManagerClient( |
51 scoped_ptr<bluez::BluetoothProfileManagerClient>( | 51 scoped_ptr<bluez::BluetoothProfileManagerClient>( |
52 new bluez::FakeBluetoothProfileManagerClient)); | 52 new bluez::FakeBluetoothProfileManagerClient)); |
53 | 53 |
54 // Grab a pointer to the adapter. | 54 // Grab a pointer to the adapter. |
55 device::BluetoothAdapterFactory::GetAdapter( | 55 device::BluetoothAdapterFactory::GetAdapter( |
56 base::Bind(&BluetoothAdapterProfileChromeOSTest::AdapterCallback, | 56 base::Bind(&BluetoothAdapterProfileBlueZTest::AdapterCallback, |
57 base::Unretained(this))); | 57 base::Unretained(this))); |
58 ASSERT_TRUE(adapter_.get() != nullptr); | 58 ASSERT_TRUE(adapter_.get() != nullptr); |
59 ASSERT_TRUE(adapter_->IsInitialized()); | 59 ASSERT_TRUE(adapter_->IsInitialized()); |
60 ASSERT_TRUE(adapter_->IsPresent()); | 60 ASSERT_TRUE(adapter_->IsPresent()); |
61 | 61 |
62 // Turn on the adapter. | 62 // Turn on the adapter. |
63 adapter_->SetPowered(true, base::Bind(&base::DoNothing), | 63 adapter_->SetPowered(true, base::Bind(&base::DoNothing), |
64 base::Bind(&base::DoNothing)); | 64 base::Bind(&base::DoNothing)); |
65 ASSERT_TRUE(adapter_->IsPowered()); | 65 ASSERT_TRUE(adapter_->IsPowered()); |
66 } | 66 } |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 void Cancel() override { | 108 void Cancel() override { |
109 // noop | 109 // noop |
110 } | 110 } |
111 | 111 |
112 unsigned int connections_; | 112 unsigned int connections_; |
113 unsigned int disconnections_; | 113 unsigned int disconnections_; |
114 dbus::ObjectPath device_path_; | 114 dbus::ObjectPath device_path_; |
115 }; | 115 }; |
116 | 116 |
117 void ProfileSuccessCallback( | 117 void ProfileSuccessCallback( |
118 scoped_ptr<BluetoothAdapterProfileChromeOS> profile) { | 118 scoped_ptr<BluetoothAdapterProfileBlueZ> profile) { |
119 profile_.swap(profile); | 119 profile_.swap(profile); |
120 ++success_callback_count_; | 120 ++success_callback_count_; |
121 } | 121 } |
122 | 122 |
123 void ProfileUserSuccessCallback(BluetoothAdapterProfileChromeOS* profile) { | 123 void ProfileUserSuccessCallback(BluetoothAdapterProfileBlueZ* profile) { |
124 profile_user_ptr_ = profile; | 124 profile_user_ptr_ = profile; |
125 ++success_callback_count_; | 125 ++success_callback_count_; |
126 } | 126 } |
127 | 127 |
128 void MatchedProfileCallback(BluetoothAdapterProfileChromeOS* profile) { | 128 void MatchedProfileCallback(BluetoothAdapterProfileBlueZ* profile) { |
129 ASSERT_EQ(profile_user_ptr_, profile); | 129 ASSERT_EQ(profile_user_ptr_, profile); |
130 ++success_callback_count_; | 130 ++success_callback_count_; |
131 } | 131 } |
132 | 132 |
133 void DBusConnectSuccessCallback() { ++success_callback_count_; } | 133 void DBusConnectSuccessCallback() { ++success_callback_count_; } |
134 | 134 |
135 void DBusErrorCallback(const std::string& error_name, | 135 void DBusErrorCallback(const std::string& error_name, |
136 const std::string& error_message) { | 136 const std::string& error_message) { |
137 ++error_callback_count_; | 137 ++error_callback_count_; |
138 } | 138 } |
139 | 139 |
140 void BasicErrorCallback(const std::string& error_message) { | 140 void BasicErrorCallback(const std::string& error_message) { |
141 ++error_callback_count_; | 141 ++error_callback_count_; |
142 } | 142 } |
143 | 143 |
144 protected: | 144 protected: |
145 base::MessageLoop message_loop_; | 145 base::MessageLoop message_loop_; |
146 | 146 |
147 scoped_refptr<BluetoothAdapter> adapter_; | 147 scoped_refptr<BluetoothAdapter> adapter_; |
148 | 148 |
149 unsigned int success_callback_count_; | 149 unsigned int success_callback_count_; |
150 unsigned int error_callback_count_; | 150 unsigned int error_callback_count_; |
151 | 151 |
152 FakeDelegate fake_delegate_paired_; | 152 FakeDelegate fake_delegate_paired_; |
153 FakeDelegate fake_delegate_autopair_; | 153 FakeDelegate fake_delegate_autopair_; |
154 FakeDelegate fake_delegate_listen_; | 154 FakeDelegate fake_delegate_listen_; |
155 | 155 |
156 scoped_ptr<BluetoothAdapterProfileChromeOS> profile_; | 156 scoped_ptr<BluetoothAdapterProfileBlueZ> profile_; |
157 | 157 |
158 // unowned pointer as expected to be used by clients of | 158 // unowned pointer as expected to be used by clients of |
159 // BluetoothAdapterChromeOS::UseProfile like BluetoothSocketChromeOS | 159 // BluetoothAdapterBlueZ::UseProfile like BluetoothSocketBlueZ |
160 BluetoothAdapterProfileChromeOS* profile_user_ptr_; | 160 BluetoothAdapterProfileBlueZ* profile_user_ptr_; |
161 }; | 161 }; |
162 | 162 |
163 TEST_F(BluetoothAdapterProfileChromeOSTest, DelegateCount) { | 163 TEST_F(BluetoothAdapterProfileBlueZTest, DelegateCount) { |
164 BluetoothUUID uuid(bluez::FakeBluetoothProfileManagerClient::kRfcommUuid); | 164 BluetoothUUID uuid(bluez::FakeBluetoothProfileManagerClient::kRfcommUuid); |
165 bluez::BluetoothProfileManagerClient::Options options; | 165 bluez::BluetoothProfileManagerClient::Options options; |
166 | 166 |
167 options.require_authentication.reset(new bool(false)); | 167 options.require_authentication.reset(new bool(false)); |
168 | 168 |
169 BluetoothAdapterProfileChromeOS::Register( | 169 BluetoothAdapterProfileBlueZ::Register( |
170 uuid, options, | 170 uuid, options, |
171 base::Bind(&BluetoothAdapterProfileChromeOSTest::ProfileSuccessCallback, | 171 base::Bind(&BluetoothAdapterProfileBlueZTest::ProfileSuccessCallback, |
172 base::Unretained(this)), | 172 base::Unretained(this)), |
173 base::Bind(&BluetoothAdapterProfileChromeOSTest::DBusErrorCallback, | 173 base::Bind(&BluetoothAdapterProfileBlueZTest::DBusErrorCallback, |
174 base::Unretained(this))); | 174 base::Unretained(this))); |
175 | 175 |
176 message_loop_.RunUntilIdle(); | 176 message_loop_.RunUntilIdle(); |
177 | 177 |
178 EXPECT_TRUE(profile_); | 178 EXPECT_TRUE(profile_); |
179 EXPECT_EQ(1U, success_callback_count_); | 179 EXPECT_EQ(1U, success_callback_count_); |
180 EXPECT_EQ(0U, error_callback_count_); | 180 EXPECT_EQ(0U, error_callback_count_); |
181 | 181 |
182 EXPECT_EQ(0U, profile_->DelegateCount()); | 182 EXPECT_EQ(0U, profile_->DelegateCount()); |
183 | 183 |
184 profile_->SetDelegate(fake_delegate_paired_.device_path_, | 184 profile_->SetDelegate(fake_delegate_paired_.device_path_, |
185 &fake_delegate_paired_); | 185 &fake_delegate_paired_); |
186 | 186 |
187 EXPECT_EQ(1U, profile_->DelegateCount()); | 187 EXPECT_EQ(1U, profile_->DelegateCount()); |
188 | 188 |
189 profile_->RemoveDelegate(fake_delegate_autopair_.device_path_, | 189 profile_->RemoveDelegate(fake_delegate_autopair_.device_path_, |
190 base::Bind(&base::DoNothing)); | 190 base::Bind(&base::DoNothing)); |
191 | 191 |
192 EXPECT_EQ(1U, profile_->DelegateCount()); | 192 EXPECT_EQ(1U, profile_->DelegateCount()); |
193 | 193 |
194 profile_->RemoveDelegate(fake_delegate_paired_.device_path_, | 194 profile_->RemoveDelegate(fake_delegate_paired_.device_path_, |
195 base::Bind(&base::DoNothing)); | 195 base::Bind(&base::DoNothing)); |
196 | 196 |
197 EXPECT_EQ(0U, profile_->DelegateCount()); | 197 EXPECT_EQ(0U, profile_->DelegateCount()); |
198 } | 198 } |
199 | 199 |
200 TEST_F(BluetoothAdapterProfileChromeOSTest, BlackHole) { | 200 TEST_F(BluetoothAdapterProfileBlueZTest, BlackHole) { |
201 BluetoothUUID uuid(bluez::FakeBluetoothProfileManagerClient::kRfcommUuid); | 201 BluetoothUUID uuid(bluez::FakeBluetoothProfileManagerClient::kRfcommUuid); |
202 bluez::BluetoothProfileManagerClient::Options options; | 202 bluez::BluetoothProfileManagerClient::Options options; |
203 | 203 |
204 options.require_authentication.reset(new bool(false)); | 204 options.require_authentication.reset(new bool(false)); |
205 | 205 |
206 BluetoothAdapterProfileChromeOS::Register( | 206 BluetoothAdapterProfileBlueZ::Register( |
207 uuid, options, | 207 uuid, options, |
208 base::Bind(&BluetoothAdapterProfileChromeOSTest::ProfileSuccessCallback, | 208 base::Bind(&BluetoothAdapterProfileBlueZTest::ProfileSuccessCallback, |
209 base::Unretained(this)), | 209 base::Unretained(this)), |
210 base::Bind(&BluetoothAdapterProfileChromeOSTest::DBusErrorCallback, | 210 base::Bind(&BluetoothAdapterProfileBlueZTest::DBusErrorCallback, |
211 base::Unretained(this))); | 211 base::Unretained(this))); |
212 | 212 |
213 message_loop_.RunUntilIdle(); | 213 message_loop_.RunUntilIdle(); |
214 | 214 |
215 EXPECT_TRUE(profile_); | 215 EXPECT_TRUE(profile_); |
216 EXPECT_EQ(1U, success_callback_count_); | 216 EXPECT_EQ(1U, success_callback_count_); |
217 EXPECT_EQ(0U, error_callback_count_); | 217 EXPECT_EQ(0U, error_callback_count_); |
218 | 218 |
219 bluez::BluezDBusManager::Get()->GetBluetoothDeviceClient()->ConnectProfile( | 219 bluez::BluezDBusManager::Get()->GetBluetoothDeviceClient()->ConnectProfile( |
220 dbus::ObjectPath(bluez::FakeBluetoothDeviceClient::kPairedDevicePath), | 220 dbus::ObjectPath(bluez::FakeBluetoothDeviceClient::kPairedDevicePath), |
221 bluez::FakeBluetoothProfileManagerClient::kRfcommUuid, | 221 bluez::FakeBluetoothProfileManagerClient::kRfcommUuid, |
222 base::Bind( | 222 base::Bind(&BluetoothAdapterProfileBlueZTest::DBusConnectSuccessCallback, |
223 &BluetoothAdapterProfileChromeOSTest::DBusConnectSuccessCallback, | 223 base::Unretained(this)), |
224 base::Unretained(this)), | 224 base::Bind(&BluetoothAdapterProfileBlueZTest::DBusErrorCallback, |
225 base::Bind(&BluetoothAdapterProfileChromeOSTest::DBusErrorCallback, | |
226 base::Unretained(this))); | 225 base::Unretained(this))); |
227 | 226 |
228 message_loop_.RunUntilIdle(); | 227 message_loop_.RunUntilIdle(); |
229 | 228 |
230 EXPECT_EQ(1U, success_callback_count_); | 229 EXPECT_EQ(1U, success_callback_count_); |
231 EXPECT_EQ(1U, error_callback_count_); | 230 EXPECT_EQ(1U, error_callback_count_); |
232 | 231 |
233 EXPECT_EQ(0U, fake_delegate_paired_.connections_); | 232 EXPECT_EQ(0U, fake_delegate_paired_.connections_); |
234 } | 233 } |
235 | 234 |
236 TEST_F(BluetoothAdapterProfileChromeOSTest, Routing) { | 235 TEST_F(BluetoothAdapterProfileBlueZTest, Routing) { |
237 BluetoothUUID uuid(bluez::FakeBluetoothProfileManagerClient::kRfcommUuid); | 236 BluetoothUUID uuid(bluez::FakeBluetoothProfileManagerClient::kRfcommUuid); |
238 bluez::BluetoothProfileManagerClient::Options options; | 237 bluez::BluetoothProfileManagerClient::Options options; |
239 | 238 |
240 options.require_authentication.reset(new bool(false)); | 239 options.require_authentication.reset(new bool(false)); |
241 | 240 |
242 BluetoothAdapterProfileChromeOS::Register( | 241 BluetoothAdapterProfileBlueZ::Register( |
243 uuid, options, | 242 uuid, options, |
244 base::Bind(&BluetoothAdapterProfileChromeOSTest::ProfileSuccessCallback, | 243 base::Bind(&BluetoothAdapterProfileBlueZTest::ProfileSuccessCallback, |
245 base::Unretained(this)), | 244 base::Unretained(this)), |
246 base::Bind(&BluetoothAdapterProfileChromeOSTest::DBusErrorCallback, | 245 base::Bind(&BluetoothAdapterProfileBlueZTest::DBusErrorCallback, |
247 base::Unretained(this))); | 246 base::Unretained(this))); |
248 | 247 |
249 message_loop_.RunUntilIdle(); | 248 message_loop_.RunUntilIdle(); |
250 | 249 |
251 ASSERT_TRUE(profile_); | 250 ASSERT_TRUE(profile_); |
252 ASSERT_EQ(1U, success_callback_count_); | 251 ASSERT_EQ(1U, success_callback_count_); |
253 ASSERT_EQ(0U, error_callback_count_); | 252 ASSERT_EQ(0U, error_callback_count_); |
254 | 253 |
255 profile_->SetDelegate(fake_delegate_paired_.device_path_, | 254 profile_->SetDelegate(fake_delegate_paired_.device_path_, |
256 &fake_delegate_paired_); | 255 &fake_delegate_paired_); |
257 profile_->SetDelegate(fake_delegate_autopair_.device_path_, | 256 profile_->SetDelegate(fake_delegate_autopair_.device_path_, |
258 &fake_delegate_autopair_); | 257 &fake_delegate_autopair_); |
259 profile_->SetDelegate(fake_delegate_listen_.device_path_, | 258 profile_->SetDelegate(fake_delegate_listen_.device_path_, |
260 &fake_delegate_listen_); | 259 &fake_delegate_listen_); |
261 | 260 |
262 bluez::BluezDBusManager::Get()->GetBluetoothDeviceClient()->ConnectProfile( | 261 bluez::BluezDBusManager::Get()->GetBluetoothDeviceClient()->ConnectProfile( |
263 dbus::ObjectPath(bluez::FakeBluetoothDeviceClient::kPairedDevicePath), | 262 dbus::ObjectPath(bluez::FakeBluetoothDeviceClient::kPairedDevicePath), |
264 bluez::FakeBluetoothProfileManagerClient::kRfcommUuid, | 263 bluez::FakeBluetoothProfileManagerClient::kRfcommUuid, |
265 base::Bind( | 264 base::Bind(&BluetoothAdapterProfileBlueZTest::DBusConnectSuccessCallback, |
266 &BluetoothAdapterProfileChromeOSTest::DBusConnectSuccessCallback, | 265 base::Unretained(this)), |
267 base::Unretained(this)), | 266 base::Bind(&BluetoothAdapterProfileBlueZTest::DBusErrorCallback, |
268 base::Bind(&BluetoothAdapterProfileChromeOSTest::DBusErrorCallback, | |
269 base::Unretained(this))); | 267 base::Unretained(this))); |
270 | 268 |
271 message_loop_.RunUntilIdle(); | 269 message_loop_.RunUntilIdle(); |
272 | 270 |
273 EXPECT_EQ(2U, success_callback_count_); | 271 EXPECT_EQ(2U, success_callback_count_); |
274 EXPECT_EQ(0U, error_callback_count_); | 272 EXPECT_EQ(0U, error_callback_count_); |
275 | 273 |
276 EXPECT_EQ(1U, fake_delegate_paired_.connections_); | 274 EXPECT_EQ(1U, fake_delegate_paired_.connections_); |
277 | 275 |
278 bluez::BluezDBusManager::Get()->GetBluetoothDeviceClient()->ConnectProfile( | 276 bluez::BluezDBusManager::Get()->GetBluetoothDeviceClient()->ConnectProfile( |
279 dbus::ObjectPath(bluez::FakeBluetoothDeviceClient::kLegacyAutopairPath), | 277 dbus::ObjectPath(bluez::FakeBluetoothDeviceClient::kLegacyAutopairPath), |
280 bluez::FakeBluetoothProfileManagerClient::kRfcommUuid, | 278 bluez::FakeBluetoothProfileManagerClient::kRfcommUuid, |
281 base::Bind( | 279 base::Bind(&BluetoothAdapterProfileBlueZTest::DBusConnectSuccessCallback, |
282 &BluetoothAdapterProfileChromeOSTest::DBusConnectSuccessCallback, | 280 base::Unretained(this)), |
283 base::Unretained(this)), | 281 base::Bind(&BluetoothAdapterProfileBlueZTest::DBusErrorCallback, |
284 base::Bind(&BluetoothAdapterProfileChromeOSTest::DBusErrorCallback, | |
285 base::Unretained(this))); | 282 base::Unretained(this))); |
286 | 283 |
287 message_loop_.RunUntilIdle(); | 284 message_loop_.RunUntilIdle(); |
288 | 285 |
289 EXPECT_EQ(3U, success_callback_count_); | 286 EXPECT_EQ(3U, success_callback_count_); |
290 EXPECT_EQ(0U, error_callback_count_); | 287 EXPECT_EQ(0U, error_callback_count_); |
291 | 288 |
292 EXPECT_EQ(1U, fake_delegate_autopair_.connections_); | 289 EXPECT_EQ(1U, fake_delegate_autopair_.connections_); |
293 | 290 |
294 // Incoming connections look the same from BlueZ. | 291 // Incoming connections look the same from BlueZ. |
295 bluez::BluezDBusManager::Get()->GetBluetoothDeviceClient()->ConnectProfile( | 292 bluez::BluezDBusManager::Get()->GetBluetoothDeviceClient()->ConnectProfile( |
296 dbus::ObjectPath(bluez::FakeBluetoothDeviceClient::kDisplayPinCodePath), | 293 dbus::ObjectPath(bluez::FakeBluetoothDeviceClient::kDisplayPinCodePath), |
297 bluez::FakeBluetoothProfileManagerClient::kRfcommUuid, | 294 bluez::FakeBluetoothProfileManagerClient::kRfcommUuid, |
298 base::Bind( | 295 base::Bind(&BluetoothAdapterProfileBlueZTest::DBusConnectSuccessCallback, |
299 &BluetoothAdapterProfileChromeOSTest::DBusConnectSuccessCallback, | 296 base::Unretained(this)), |
300 base::Unretained(this)), | 297 base::Bind(&BluetoothAdapterProfileBlueZTest::DBusErrorCallback, |
301 base::Bind(&BluetoothAdapterProfileChromeOSTest::DBusErrorCallback, | |
302 base::Unretained(this))); | 298 base::Unretained(this))); |
303 | 299 |
304 message_loop_.RunUntilIdle(); | 300 message_loop_.RunUntilIdle(); |
305 | 301 |
306 EXPECT_EQ(4U, success_callback_count_); | 302 EXPECT_EQ(4U, success_callback_count_); |
307 EXPECT_EQ(0U, error_callback_count_); | 303 EXPECT_EQ(0U, error_callback_count_); |
308 | 304 |
309 EXPECT_EQ(1U, fake_delegate_listen_.connections_); | 305 EXPECT_EQ(1U, fake_delegate_listen_.connections_); |
310 } | 306 } |
311 | 307 |
312 TEST_F(BluetoothAdapterProfileChromeOSTest, SimultaneousRegister) { | 308 TEST_F(BluetoothAdapterProfileBlueZTest, SimultaneousRegister) { |
313 BluetoothUUID uuid(bluez::FakeBluetoothProfileManagerClient::kRfcommUuid); | 309 BluetoothUUID uuid(bluez::FakeBluetoothProfileManagerClient::kRfcommUuid); |
314 bluez::BluetoothProfileManagerClient::Options options; | 310 bluez::BluetoothProfileManagerClient::Options options; |
315 BluetoothAdapterChromeOS* adapter = | 311 BluetoothAdapterBlueZ* adapter = |
316 static_cast<BluetoothAdapterChromeOS*>(adapter_.get()); | 312 static_cast<BluetoothAdapterBlueZ*>(adapter_.get()); |
317 | 313 |
318 options.require_authentication.reset(new bool(false)); | 314 options.require_authentication.reset(new bool(false)); |
319 | 315 |
320 success_callback_count_ = 0; | 316 success_callback_count_ = 0; |
321 error_callback_count_ = 0; | 317 error_callback_count_ = 0; |
322 | 318 |
323 adapter->UseProfile( | 319 adapter->UseProfile( |
324 uuid, fake_delegate_paired_.device_path_, options, &fake_delegate_paired_, | 320 uuid, fake_delegate_paired_.device_path_, options, &fake_delegate_paired_, |
325 base::Bind( | 321 base::Bind(&BluetoothAdapterProfileBlueZTest::ProfileUserSuccessCallback, |
326 &BluetoothAdapterProfileChromeOSTest::ProfileUserSuccessCallback, | 322 base::Unretained(this)), |
327 base::Unretained(this)), | 323 base::Bind(&BluetoothAdapterProfileBlueZTest::BasicErrorCallback, |
328 base::Bind(&BluetoothAdapterProfileChromeOSTest::BasicErrorCallback, | |
329 base::Unretained(this))); | 324 base::Unretained(this))); |
330 | 325 |
331 adapter->UseProfile( | 326 adapter->UseProfile( |
332 uuid, fake_delegate_autopair_.device_path_, options, | 327 uuid, fake_delegate_autopair_.device_path_, options, |
333 &fake_delegate_autopair_, | 328 &fake_delegate_autopair_, |
334 base::Bind(&BluetoothAdapterProfileChromeOSTest::MatchedProfileCallback, | 329 base::Bind(&BluetoothAdapterProfileBlueZTest::MatchedProfileCallback, |
335 base::Unretained(this)), | 330 base::Unretained(this)), |
336 base::Bind(&BluetoothAdapterProfileChromeOSTest::BasicErrorCallback, | 331 base::Bind(&BluetoothAdapterProfileBlueZTest::BasicErrorCallback, |
337 base::Unretained(this))); | 332 base::Unretained(this))); |
338 | 333 |
339 message_loop_.RunUntilIdle(); | 334 message_loop_.RunUntilIdle(); |
340 | 335 |
341 EXPECT_TRUE(profile_user_ptr_); | 336 EXPECT_TRUE(profile_user_ptr_); |
342 EXPECT_EQ(2U, success_callback_count_); | 337 EXPECT_EQ(2U, success_callback_count_); |
343 EXPECT_EQ(0U, error_callback_count_); | 338 EXPECT_EQ(0U, error_callback_count_); |
344 | 339 |
345 adapter->ReleaseProfile(fake_delegate_paired_.device_path_, | 340 adapter->ReleaseProfile(fake_delegate_paired_.device_path_, |
346 profile_user_ptr_); | 341 profile_user_ptr_); |
347 adapter->ReleaseProfile(fake_delegate_autopair_.device_path_, | 342 adapter->ReleaseProfile(fake_delegate_autopair_.device_path_, |
348 profile_user_ptr_); | 343 profile_user_ptr_); |
349 | 344 |
350 message_loop_.RunUntilIdle(); | 345 message_loop_.RunUntilIdle(); |
351 } | 346 } |
352 | 347 |
353 TEST_F(BluetoothAdapterProfileChromeOSTest, SimultaneousRegisterFail) { | 348 TEST_F(BluetoothAdapterProfileBlueZTest, SimultaneousRegisterFail) { |
354 BluetoothUUID uuid( | 349 BluetoothUUID uuid( |
355 bluez::FakeBluetoothProfileManagerClient::kUnregisterableUuid); | 350 bluez::FakeBluetoothProfileManagerClient::kUnregisterableUuid); |
356 bluez::BluetoothProfileManagerClient::Options options; | 351 bluez::BluetoothProfileManagerClient::Options options; |
357 BluetoothAdapterChromeOS* adapter = | 352 BluetoothAdapterBlueZ* adapter = |
358 static_cast<BluetoothAdapterChromeOS*>(adapter_.get()); | 353 static_cast<BluetoothAdapterBlueZ*>(adapter_.get()); |
359 | 354 |
360 options.require_authentication.reset(new bool(false)); | 355 options.require_authentication.reset(new bool(false)); |
361 | 356 |
362 success_callback_count_ = 0; | 357 success_callback_count_ = 0; |
363 error_callback_count_ = 0; | 358 error_callback_count_ = 0; |
364 | 359 |
365 adapter->UseProfile( | 360 adapter->UseProfile( |
366 uuid, fake_delegate_paired_.device_path_, options, &fake_delegate_paired_, | 361 uuid, fake_delegate_paired_.device_path_, options, &fake_delegate_paired_, |
367 base::Bind( | 362 base::Bind(&BluetoothAdapterProfileBlueZTest::ProfileUserSuccessCallback, |
368 &BluetoothAdapterProfileChromeOSTest::ProfileUserSuccessCallback, | 363 base::Unretained(this)), |
369 base::Unretained(this)), | 364 base::Bind(&BluetoothAdapterProfileBlueZTest::BasicErrorCallback, |
370 base::Bind(&BluetoothAdapterProfileChromeOSTest::BasicErrorCallback, | |
371 base::Unretained(this))); | 365 base::Unretained(this))); |
372 | 366 |
373 adapter->UseProfile( | 367 adapter->UseProfile( |
374 uuid, fake_delegate_autopair_.device_path_, options, | 368 uuid, fake_delegate_autopair_.device_path_, options, |
375 &fake_delegate_autopair_, | 369 &fake_delegate_autopair_, |
376 base::Bind(&BluetoothAdapterProfileChromeOSTest::MatchedProfileCallback, | 370 base::Bind(&BluetoothAdapterProfileBlueZTest::MatchedProfileCallback, |
377 base::Unretained(this)), | 371 base::Unretained(this)), |
378 base::Bind(&BluetoothAdapterProfileChromeOSTest::BasicErrorCallback, | 372 base::Bind(&BluetoothAdapterProfileBlueZTest::BasicErrorCallback, |
379 base::Unretained(this))); | 373 base::Unretained(this))); |
380 | 374 |
381 message_loop_.RunUntilIdle(); | 375 message_loop_.RunUntilIdle(); |
382 | 376 |
383 EXPECT_FALSE(profile_user_ptr_); | 377 EXPECT_FALSE(profile_user_ptr_); |
384 EXPECT_EQ(0U, success_callback_count_); | 378 EXPECT_EQ(0U, success_callback_count_); |
385 EXPECT_EQ(2U, error_callback_count_); | 379 EXPECT_EQ(2U, error_callback_count_); |
386 } | 380 } |
387 | 381 |
388 } // namespace chromeos | 382 } // namespace bluez |
OLD | NEW |