Index: device/bluetooth/bluetooth_adapter_profile_chromeos_unittest.cc |
diff --git a/device/bluetooth/bluetooth_adapter_profile_chromeos_unittest.cc b/device/bluetooth/bluetooth_adapter_profile_chromeos_unittest.cc |
deleted file mode 100644 |
index be99901964e9f6fa3ab67f06e118588db8699920..0000000000000000000000000000000000000000 |
--- a/device/bluetooth/bluetooth_adapter_profile_chromeos_unittest.cc |
+++ /dev/null |
@@ -1,388 +0,0 @@ |
-// Copyright 2015 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "base/bind.h" |
-#include "base/message_loop/message_loop.h" |
-#include "device/bluetooth/bluetooth_adapter.h" |
-#include "device/bluetooth/bluetooth_adapter_chromeos.h" |
-#include "device/bluetooth/bluetooth_adapter_factory.h" |
-#include "device/bluetooth/bluetooth_adapter_profile_chromeos.h" |
-#include "device/bluetooth/bluetooth_uuid.h" |
-#include "device/bluetooth/dbus/bluetooth_profile_service_provider.h" |
-#include "device/bluetooth/dbus/bluez_dbus_manager.h" |
-#include "device/bluetooth/dbus/fake_bluetooth_adapter_client.h" |
-#include "device/bluetooth/dbus/fake_bluetooth_agent_manager_client.h" |
-#include "device/bluetooth/dbus/fake_bluetooth_device_client.h" |
-#include "device/bluetooth/dbus/fake_bluetooth_profile_manager_client.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-using device::BluetoothAdapter; |
-using device::BluetoothUUID; |
- |
-namespace chromeos { |
- |
-class BluetoothAdapterProfileChromeOSTest : public testing::Test { |
- public: |
- BluetoothAdapterProfileChromeOSTest() |
- : success_callback_count_(0), |
- error_callback_count_(0), |
- fake_delegate_paired_( |
- bluez::FakeBluetoothDeviceClient::kPairedDevicePath), |
- fake_delegate_autopair_( |
- bluez::FakeBluetoothDeviceClient::kLegacyAutopairPath), |
- fake_delegate_listen_(""), |
- profile_user_ptr_(nullptr) {} |
- |
- void SetUp() override { |
- scoped_ptr<bluez::BluezDBusManagerSetter> dbus_setter = |
- bluez::BluezDBusManager::GetSetterForTesting(); |
- |
- dbus_setter->SetBluetoothAdapterClient( |
- scoped_ptr<bluez::BluetoothAdapterClient>( |
- new bluez::FakeBluetoothAdapterClient)); |
- dbus_setter->SetBluetoothAgentManagerClient( |
- scoped_ptr<bluez::BluetoothAgentManagerClient>( |
- new bluez::FakeBluetoothAgentManagerClient)); |
- dbus_setter->SetBluetoothDeviceClient( |
- scoped_ptr<bluez::BluetoothDeviceClient>( |
- new bluez::FakeBluetoothDeviceClient)); |
- dbus_setter->SetBluetoothProfileManagerClient( |
- scoped_ptr<bluez::BluetoothProfileManagerClient>( |
- new bluez::FakeBluetoothProfileManagerClient)); |
- |
- // Grab a pointer to the adapter. |
- device::BluetoothAdapterFactory::GetAdapter( |
- base::Bind(&BluetoothAdapterProfileChromeOSTest::AdapterCallback, |
- base::Unretained(this))); |
- ASSERT_TRUE(adapter_.get() != nullptr); |
- ASSERT_TRUE(adapter_->IsInitialized()); |
- ASSERT_TRUE(adapter_->IsPresent()); |
- |
- // Turn on the adapter. |
- adapter_->SetPowered(true, base::Bind(&base::DoNothing), |
- base::Bind(&base::DoNothing)); |
- ASSERT_TRUE(adapter_->IsPowered()); |
- } |
- |
- void TearDown() override { |
- profile_.reset(); |
- adapter_ = nullptr; |
- bluez::BluezDBusManager::Shutdown(); |
- } |
- |
- void AdapterCallback(scoped_refptr<BluetoothAdapter> adapter) { |
- adapter_ = adapter; |
- } |
- |
- class FakeDelegate : public bluez::BluetoothProfileServiceProvider::Delegate { |
- public: |
- FakeDelegate(const std::string& device_path) : connections_(0) { |
- device_path_ = dbus::ObjectPath(device_path); |
- } |
- |
- // bluez::BluetoothProfileServiceProvider::Delegate: |
- void Released() override { |
- // noop |
- } |
- |
- void NewConnection( |
- const dbus::ObjectPath& device_path, |
- scoped_ptr<dbus::FileDescriptor> fd, |
- const bluez::BluetoothProfileServiceProvider::Delegate::Options& |
- options, |
- const ConfirmationCallback& callback) override { |
- ++connections_; |
- fd->CheckValidity(); |
- close(fd->TakeValue()); |
- callback.Run(SUCCESS); |
- if (device_path_.value() != "") |
- ASSERT_EQ(device_path_, device_path); |
- } |
- |
- void RequestDisconnection(const dbus::ObjectPath& device_path, |
- const ConfirmationCallback& callback) override { |
- ++disconnections_; |
- } |
- |
- void Cancel() override { |
- // noop |
- } |
- |
- unsigned int connections_; |
- unsigned int disconnections_; |
- dbus::ObjectPath device_path_; |
- }; |
- |
- void ProfileSuccessCallback( |
- scoped_ptr<BluetoothAdapterProfileChromeOS> profile) { |
- profile_.swap(profile); |
- ++success_callback_count_; |
- } |
- |
- void ProfileUserSuccessCallback(BluetoothAdapterProfileChromeOS* profile) { |
- profile_user_ptr_ = profile; |
- ++success_callback_count_; |
- } |
- |
- void MatchedProfileCallback(BluetoothAdapterProfileChromeOS* profile) { |
- ASSERT_EQ(profile_user_ptr_, profile); |
- ++success_callback_count_; |
- } |
- |
- void DBusConnectSuccessCallback() { ++success_callback_count_; } |
- |
- void DBusErrorCallback(const std::string& error_name, |
- const std::string& error_message) { |
- ++error_callback_count_; |
- } |
- |
- void BasicErrorCallback(const std::string& error_message) { |
- ++error_callback_count_; |
- } |
- |
- protected: |
- base::MessageLoop message_loop_; |
- |
- scoped_refptr<BluetoothAdapter> adapter_; |
- |
- unsigned int success_callback_count_; |
- unsigned int error_callback_count_; |
- |
- FakeDelegate fake_delegate_paired_; |
- FakeDelegate fake_delegate_autopair_; |
- FakeDelegate fake_delegate_listen_; |
- |
- scoped_ptr<BluetoothAdapterProfileChromeOS> profile_; |
- |
- // unowned pointer as expected to be used by clients of |
- // BluetoothAdapterChromeOS::UseProfile like BluetoothSocketChromeOS |
- BluetoothAdapterProfileChromeOS* profile_user_ptr_; |
-}; |
- |
-TEST_F(BluetoothAdapterProfileChromeOSTest, DelegateCount) { |
- BluetoothUUID uuid(bluez::FakeBluetoothProfileManagerClient::kRfcommUuid); |
- bluez::BluetoothProfileManagerClient::Options options; |
- |
- options.require_authentication.reset(new bool(false)); |
- |
- BluetoothAdapterProfileChromeOS::Register( |
- uuid, options, |
- base::Bind(&BluetoothAdapterProfileChromeOSTest::ProfileSuccessCallback, |
- base::Unretained(this)), |
- base::Bind(&BluetoothAdapterProfileChromeOSTest::DBusErrorCallback, |
- base::Unretained(this))); |
- |
- message_loop_.RunUntilIdle(); |
- |
- EXPECT_TRUE(profile_); |
- EXPECT_EQ(1U, success_callback_count_); |
- EXPECT_EQ(0U, error_callback_count_); |
- |
- EXPECT_EQ(0U, profile_->DelegateCount()); |
- |
- profile_->SetDelegate(fake_delegate_paired_.device_path_, |
- &fake_delegate_paired_); |
- |
- EXPECT_EQ(1U, profile_->DelegateCount()); |
- |
- profile_->RemoveDelegate(fake_delegate_autopair_.device_path_, |
- base::Bind(&base::DoNothing)); |
- |
- EXPECT_EQ(1U, profile_->DelegateCount()); |
- |
- profile_->RemoveDelegate(fake_delegate_paired_.device_path_, |
- base::Bind(&base::DoNothing)); |
- |
- EXPECT_EQ(0U, profile_->DelegateCount()); |
-} |
- |
-TEST_F(BluetoothAdapterProfileChromeOSTest, BlackHole) { |
- BluetoothUUID uuid(bluez::FakeBluetoothProfileManagerClient::kRfcommUuid); |
- bluez::BluetoothProfileManagerClient::Options options; |
- |
- options.require_authentication.reset(new bool(false)); |
- |
- BluetoothAdapterProfileChromeOS::Register( |
- uuid, options, |
- base::Bind(&BluetoothAdapterProfileChromeOSTest::ProfileSuccessCallback, |
- base::Unretained(this)), |
- base::Bind(&BluetoothAdapterProfileChromeOSTest::DBusErrorCallback, |
- base::Unretained(this))); |
- |
- message_loop_.RunUntilIdle(); |
- |
- EXPECT_TRUE(profile_); |
- EXPECT_EQ(1U, success_callback_count_); |
- EXPECT_EQ(0U, error_callback_count_); |
- |
- bluez::BluezDBusManager::Get()->GetBluetoothDeviceClient()->ConnectProfile( |
- dbus::ObjectPath(bluez::FakeBluetoothDeviceClient::kPairedDevicePath), |
- bluez::FakeBluetoothProfileManagerClient::kRfcommUuid, |
- base::Bind( |
- &BluetoothAdapterProfileChromeOSTest::DBusConnectSuccessCallback, |
- base::Unretained(this)), |
- base::Bind(&BluetoothAdapterProfileChromeOSTest::DBusErrorCallback, |
- base::Unretained(this))); |
- |
- message_loop_.RunUntilIdle(); |
- |
- EXPECT_EQ(1U, success_callback_count_); |
- EXPECT_EQ(1U, error_callback_count_); |
- |
- EXPECT_EQ(0U, fake_delegate_paired_.connections_); |
-} |
- |
-TEST_F(BluetoothAdapterProfileChromeOSTest, Routing) { |
- BluetoothUUID uuid(bluez::FakeBluetoothProfileManagerClient::kRfcommUuid); |
- bluez::BluetoothProfileManagerClient::Options options; |
- |
- options.require_authentication.reset(new bool(false)); |
- |
- BluetoothAdapterProfileChromeOS::Register( |
- uuid, options, |
- base::Bind(&BluetoothAdapterProfileChromeOSTest::ProfileSuccessCallback, |
- base::Unretained(this)), |
- base::Bind(&BluetoothAdapterProfileChromeOSTest::DBusErrorCallback, |
- base::Unretained(this))); |
- |
- message_loop_.RunUntilIdle(); |
- |
- ASSERT_TRUE(profile_); |
- ASSERT_EQ(1U, success_callback_count_); |
- ASSERT_EQ(0U, error_callback_count_); |
- |
- profile_->SetDelegate(fake_delegate_paired_.device_path_, |
- &fake_delegate_paired_); |
- profile_->SetDelegate(fake_delegate_autopair_.device_path_, |
- &fake_delegate_autopair_); |
- profile_->SetDelegate(fake_delegate_listen_.device_path_, |
- &fake_delegate_listen_); |
- |
- bluez::BluezDBusManager::Get()->GetBluetoothDeviceClient()->ConnectProfile( |
- dbus::ObjectPath(bluez::FakeBluetoothDeviceClient::kPairedDevicePath), |
- bluez::FakeBluetoothProfileManagerClient::kRfcommUuid, |
- base::Bind( |
- &BluetoothAdapterProfileChromeOSTest::DBusConnectSuccessCallback, |
- base::Unretained(this)), |
- base::Bind(&BluetoothAdapterProfileChromeOSTest::DBusErrorCallback, |
- base::Unretained(this))); |
- |
- message_loop_.RunUntilIdle(); |
- |
- EXPECT_EQ(2U, success_callback_count_); |
- EXPECT_EQ(0U, error_callback_count_); |
- |
- EXPECT_EQ(1U, fake_delegate_paired_.connections_); |
- |
- bluez::BluezDBusManager::Get()->GetBluetoothDeviceClient()->ConnectProfile( |
- dbus::ObjectPath(bluez::FakeBluetoothDeviceClient::kLegacyAutopairPath), |
- bluez::FakeBluetoothProfileManagerClient::kRfcommUuid, |
- base::Bind( |
- &BluetoothAdapterProfileChromeOSTest::DBusConnectSuccessCallback, |
- base::Unretained(this)), |
- base::Bind(&BluetoothAdapterProfileChromeOSTest::DBusErrorCallback, |
- base::Unretained(this))); |
- |
- message_loop_.RunUntilIdle(); |
- |
- EXPECT_EQ(3U, success_callback_count_); |
- EXPECT_EQ(0U, error_callback_count_); |
- |
- EXPECT_EQ(1U, fake_delegate_autopair_.connections_); |
- |
- // Incoming connections look the same from BlueZ. |
- bluez::BluezDBusManager::Get()->GetBluetoothDeviceClient()->ConnectProfile( |
- dbus::ObjectPath(bluez::FakeBluetoothDeviceClient::kDisplayPinCodePath), |
- bluez::FakeBluetoothProfileManagerClient::kRfcommUuid, |
- base::Bind( |
- &BluetoothAdapterProfileChromeOSTest::DBusConnectSuccessCallback, |
- base::Unretained(this)), |
- base::Bind(&BluetoothAdapterProfileChromeOSTest::DBusErrorCallback, |
- base::Unretained(this))); |
- |
- message_loop_.RunUntilIdle(); |
- |
- EXPECT_EQ(4U, success_callback_count_); |
- EXPECT_EQ(0U, error_callback_count_); |
- |
- EXPECT_EQ(1U, fake_delegate_listen_.connections_); |
-} |
- |
-TEST_F(BluetoothAdapterProfileChromeOSTest, SimultaneousRegister) { |
- BluetoothUUID uuid(bluez::FakeBluetoothProfileManagerClient::kRfcommUuid); |
- bluez::BluetoothProfileManagerClient::Options options; |
- BluetoothAdapterChromeOS* adapter = |
- static_cast<BluetoothAdapterChromeOS*>(adapter_.get()); |
- |
- options.require_authentication.reset(new bool(false)); |
- |
- success_callback_count_ = 0; |
- error_callback_count_ = 0; |
- |
- adapter->UseProfile( |
- uuid, fake_delegate_paired_.device_path_, options, &fake_delegate_paired_, |
- base::Bind( |
- &BluetoothAdapterProfileChromeOSTest::ProfileUserSuccessCallback, |
- base::Unretained(this)), |
- base::Bind(&BluetoothAdapterProfileChromeOSTest::BasicErrorCallback, |
- base::Unretained(this))); |
- |
- adapter->UseProfile( |
- uuid, fake_delegate_autopair_.device_path_, options, |
- &fake_delegate_autopair_, |
- base::Bind(&BluetoothAdapterProfileChromeOSTest::MatchedProfileCallback, |
- base::Unretained(this)), |
- base::Bind(&BluetoothAdapterProfileChromeOSTest::BasicErrorCallback, |
- base::Unretained(this))); |
- |
- message_loop_.RunUntilIdle(); |
- |
- EXPECT_TRUE(profile_user_ptr_); |
- EXPECT_EQ(2U, success_callback_count_); |
- EXPECT_EQ(0U, error_callback_count_); |
- |
- adapter->ReleaseProfile(fake_delegate_paired_.device_path_, |
- profile_user_ptr_); |
- adapter->ReleaseProfile(fake_delegate_autopair_.device_path_, |
- profile_user_ptr_); |
- |
- message_loop_.RunUntilIdle(); |
-} |
- |
-TEST_F(BluetoothAdapterProfileChromeOSTest, SimultaneousRegisterFail) { |
- BluetoothUUID uuid( |
- bluez::FakeBluetoothProfileManagerClient::kUnregisterableUuid); |
- bluez::BluetoothProfileManagerClient::Options options; |
- BluetoothAdapterChromeOS* adapter = |
- static_cast<BluetoothAdapterChromeOS*>(adapter_.get()); |
- |
- options.require_authentication.reset(new bool(false)); |
- |
- success_callback_count_ = 0; |
- error_callback_count_ = 0; |
- |
- adapter->UseProfile( |
- uuid, fake_delegate_paired_.device_path_, options, &fake_delegate_paired_, |
- base::Bind( |
- &BluetoothAdapterProfileChromeOSTest::ProfileUserSuccessCallback, |
- base::Unretained(this)), |
- base::Bind(&BluetoothAdapterProfileChromeOSTest::BasicErrorCallback, |
- base::Unretained(this))); |
- |
- adapter->UseProfile( |
- uuid, fake_delegate_autopair_.device_path_, options, |
- &fake_delegate_autopair_, |
- base::Bind(&BluetoothAdapterProfileChromeOSTest::MatchedProfileCallback, |
- base::Unretained(this)), |
- base::Bind(&BluetoothAdapterProfileChromeOSTest::BasicErrorCallback, |
- base::Unretained(this))); |
- |
- message_loop_.RunUntilIdle(); |
- |
- EXPECT_FALSE(profile_user_ptr_); |
- EXPECT_EQ(0U, success_callback_count_); |
- EXPECT_EQ(2U, error_callback_count_); |
-} |
- |
-} // namespace chromeos |