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

Unified Diff: device/bluetooth/bluetooth_adapter_profile_chromeos_unittest.cc

Issue 1367663002: Add Linux support for the Bluetooth API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@refactor_dbus
Patch Set: rebase Created 5 years, 3 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 side-by-side diff with in-line comments
Download patch
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
« no previous file with comments | « device/bluetooth/bluetooth_adapter_profile_chromeos.cc ('k') | device/bluetooth/bluetooth_advertisement_bluez.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698