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

Unified Diff: chromeos/components/tether/ble_scanner_unittest.cc

Issue 2803153002: [CrOS Tether] Refactor BleScanner so that it takes a BluetoothAdapter in its constructor instead of… (Closed)
Patch Set: Created 3 years, 8 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: chromeos/components/tether/ble_scanner_unittest.cc
diff --git a/chromeos/components/tether/ble_scanner_unittest.cc b/chromeos/components/tether/ble_scanner_unittest.cc
index 79ce95d70922a6ff52139859930fe884704951db..e9ef84e4ce86233e1097b792569c98a095c4b350 100644
--- a/chromeos/components/tether/ble_scanner_unittest.cc
+++ b/chromeos/components/tether/ble_scanner_unittest.cc
@@ -130,48 +130,19 @@ std::vector<cryptauth::BeaconSeed> CreateFakeBeaconSeeds() {
class BleScannerTest : public testing::Test {
protected:
- class TestDelegate : public BleScanner::Delegate {
+ class TestServiceDataProvider : public BleScanner::ServiceDataProvider {
public:
- TestDelegate()
- : is_bluetooth_adapter_available_(true),
- last_get_adapter_callback_(nullptr) {}
+ TestServiceDataProvider() {}
- ~TestDelegate() override {}
-
- bool IsBluetoothAdapterAvailable() const override {
- return is_bluetooth_adapter_available_;
- }
-
- void set_is_bluetooth_adapter_available(
- bool is_bluetooth_adapter_available) {
- is_bluetooth_adapter_available_ = is_bluetooth_adapter_available;
- }
-
- void GetAdapter(const device::BluetoothAdapterFactory::AdapterCallback&
- callback) override {
- last_get_adapter_callback_ = callback;
- }
-
- const device::BluetoothAdapterFactory::AdapterCallback
- last_get_adapter_callback() {
- return last_get_adapter_callback_;
- }
+ ~TestServiceDataProvider() override {}
+ // ServiceDataProvider:
const std::vector<uint8_t>* GetServiceDataForUUID(
- const device::BluetoothUUID& service_uuid,
device::BluetoothDevice* bluetooth_device) override {
- if (device::BluetoothUUID(kAdvertisingServiceUuid) == service_uuid) {
- return reinterpret_cast<MockBluetoothDeviceWithServiceData*>(
- bluetooth_device)
- ->service_data();
- }
-
- return nullptr;
+ return reinterpret_cast<MockBluetoothDeviceWithServiceData*>(
+ bluetooth_device)
+ ->service_data();
}
-
- private:
- bool is_bluetooth_adapter_available_;
- device::BluetoothAdapterFactory::AdapterCallback last_get_adapter_callback_;
};
BleScannerTest()
@@ -179,9 +150,7 @@ class BleScannerTest : public testing::Test {
test_beacon_seeds_(CreateFakeBeaconSeeds()) {}
void SetUp() override {
- test_delegate_ = new TestDelegate();
- EXPECT_TRUE(test_delegate_->IsBluetoothAdapterAvailable());
- EXPECT_FALSE(test_delegate_->last_get_adapter_callback());
+ test_service_data_provider_ = new TestServiceDataProvider();
mock_eid_generator_ = base::MakeUnique<cryptauth::MockEidGenerator>();
mock_eid_generator_->set_background_scan_filter(
@@ -208,8 +177,8 @@ class BleScannerTest : public testing::Test {
mock_discovery_session_ = nullptr;
ble_scanner_ = base::WrapUnique(new BleScanner(
- base::WrapUnique(test_delegate_), mock_eid_generator_.get(),
- mock_local_device_data_provider_.get()));
+ base::WrapUnique(test_service_data_provider_), mock_adapter_,
+ mock_eid_generator_.get(), mock_local_device_data_provider_.get()));
mock_observer_ = base::MakeUnique<MockBleScannerObserver>();
ble_scanner_->AddObserver(mock_observer_.get());
@@ -227,25 +196,6 @@ class BleScannerTest : public testing::Test {
stored_discovery_errback_ = errback;
}
- void InvokeAdapterCallback() {
- const device::BluetoothAdapterFactory::AdapterCallback
- last_get_adapter_callback = test_delegate_->last_get_adapter_callback();
- ASSERT_TRUE(last_get_adapter_callback);
-
- // Because the adapter has just been initialized, the discovery session
- // should not have been started yet.
- EXPECT_FALSE(stored_discovery_filter_);
- EXPECT_TRUE(stored_discovery_callback_.is_null());
- EXPECT_TRUE(stored_discovery_errback_.is_null());
-
- EXPECT_CALL(*mock_adapter_, AddObserver(ble_scanner_.get()));
- last_get_adapter_callback.Run(mock_adapter_);
-
- // Once the adapter callback is returned, a discovery session should be
- // started via that adapter.
- AssertDiscoverySessionRequested();
- }
-
void AssertDiscoverySessionRequested() {
// First, ensure that the correct discovery filter was passed.
EXPECT_TRUE(stored_discovery_filter_);
@@ -272,7 +222,7 @@ class BleScannerTest : public testing::Test {
std::unique_ptr<MockBleScannerObserver> mock_observer_;
- TestDelegate* test_delegate_;
+ TestServiceDataProvider* test_service_data_provider_;
std::unique_ptr<cryptauth::MockEidGenerator> mock_eid_generator_;
std::unique_ptr<MockLocalDeviceDataProvider> mock_local_device_data_provider_;
@@ -289,21 +239,11 @@ class BleScannerTest : public testing::Test {
DISALLOW_COPY_AND_ASSIGN(BleScannerTest);
};
-TEST_F(BleScannerTest, TestNoBluetoothAdapter) {
- test_delegate_->set_is_bluetooth_adapter_available(false);
- EXPECT_FALSE(ble_scanner_->RegisterScanFilterForDevice(test_devices_[0]));
- EXPECT_FALSE(
- ble_scanner_->IsDeviceRegistered(test_devices_[0].GetDeviceId()));
- EXPECT_FALSE(test_delegate_->last_get_adapter_callback());
- EXPECT_FALSE(mock_observer_->GetNumCalls());
-}
-
TEST_F(BleScannerTest, TestNoLocalBeaconSeeds) {
mock_local_device_data_provider_->SetBeaconSeeds(nullptr);
EXPECT_FALSE(ble_scanner_->RegisterScanFilterForDevice(test_devices_[0]));
EXPECT_FALSE(
ble_scanner_->IsDeviceRegistered(test_devices_[0].GetDeviceId()));
- EXPECT_FALSE(test_delegate_->last_get_adapter_callback());
EXPECT_FALSE(mock_observer_->GetNumCalls());
}
@@ -312,14 +252,12 @@ TEST_F(BleScannerTest, TestNoBackgroundScanFilter) {
EXPECT_FALSE(ble_scanner_->RegisterScanFilterForDevice(test_devices_[0]));
EXPECT_FALSE(
ble_scanner_->IsDeviceRegistered(test_devices_[0].GetDeviceId()));
- EXPECT_FALSE(test_delegate_->last_get_adapter_callback());
EXPECT_FALSE(mock_observer_->GetNumCalls());
}
TEST_F(BleScannerTest, TestAdapterDoesNotInitialize) {
EXPECT_TRUE(ble_scanner_->RegisterScanFilterForDevice(test_devices_[0]));
EXPECT_TRUE(ble_scanner_->IsDeviceRegistered(test_devices_[0].GetDeviceId()));
- EXPECT_TRUE(test_delegate_->last_get_adapter_callback());
// Do not call the last GetAdapter() callback. The device should still be able
// to be unregistered.
@@ -334,7 +272,6 @@ TEST_F(BleScannerTest, TestAdapterDoesNotInitialize_MultipleDevicesRegistered) {
EXPECT_TRUE(ble_scanner_->RegisterScanFilterForDevice(test_devices_[1]));
EXPECT_TRUE(ble_scanner_->IsDeviceRegistered(test_devices_[0].GetDeviceId()));
EXPECT_TRUE(ble_scanner_->IsDeviceRegistered(test_devices_[1].GetDeviceId()));
- EXPECT_TRUE(test_delegate_->last_get_adapter_callback());
// Do not call the last GetAdapter() callback. The devices should still be
// able to be unregistered.
@@ -351,7 +288,7 @@ TEST_F(BleScannerTest, TestDiscoverySessionFailsToStart) {
EXPECT_TRUE(ble_scanner_->RegisterScanFilterForDevice(test_devices_[0]));
EXPECT_TRUE(ble_scanner_->IsDeviceRegistered(test_devices_[0].GetDeviceId()));
- InvokeAdapterCallback();
+ AssertDiscoverySessionRequested();
stored_discovery_errback_.Run();
EXPECT_TRUE(ble_scanner_->IsDeviceRegistered(test_devices_[0].GetDeviceId()));
@@ -363,7 +300,7 @@ TEST_F(BleScannerTest, TestDiscoveryStartsButNoDevicesFound) {
EXPECT_TRUE(ble_scanner_->RegisterScanFilterForDevice(test_devices_[0]));
EXPECT_TRUE(ble_scanner_->IsDeviceRegistered(test_devices_[0].GetDeviceId()));
- InvokeAdapterCallback();
+ AssertDiscoverySessionRequested();
InvokeDiscoveryStartedCallback();
// No devices found.
@@ -379,7 +316,7 @@ TEST_F(BleScannerTest, TestDiscovery_NoServiceData) {
EXPECT_TRUE(ble_scanner_->RegisterScanFilterForDevice(test_devices_[0]));
EXPECT_TRUE(ble_scanner_->IsDeviceRegistered(test_devices_[0].GetDeviceId()));
- InvokeAdapterCallback();
+ AssertDiscoverySessionRequested();
InvokeDiscoveryStartedCallback();
// Device with no service data connected. Service data is required to identify
@@ -398,7 +335,7 @@ TEST_F(BleScannerTest, TestDiscovery_ServiceDataTooShort) {
EXPECT_TRUE(ble_scanner_->RegisterScanFilterForDevice(test_devices_[0]));
EXPECT_TRUE(ble_scanner_->IsDeviceRegistered(test_devices_[0].GetDeviceId()));
- InvokeAdapterCallback();
+ AssertDiscoverySessionRequested();
InvokeDiscoveryStartedCallback();
// Device with short service data connected. Service data of at least 4 bytes
@@ -418,7 +355,7 @@ TEST_F(BleScannerTest, TestDiscovery_LocalDeviceDataCannotBeFetched) {
EXPECT_TRUE(ble_scanner_->RegisterScanFilterForDevice(test_devices_[0]));
EXPECT_TRUE(ble_scanner_->IsDeviceRegistered(test_devices_[0].GetDeviceId()));
- InvokeAdapterCallback();
+ AssertDiscoverySessionRequested();
InvokeDiscoveryStartedCallback();
// Device with valid service data connected, but the local device data
@@ -441,7 +378,7 @@ TEST_F(BleScannerTest, TestDiscovery_ScanSuccessfulButNoRegisteredDevice) {
EXPECT_TRUE(ble_scanner_->RegisterScanFilterForDevice(test_devices_[0]));
EXPECT_TRUE(ble_scanner_->IsDeviceRegistered(test_devices_[0].GetDeviceId()));
- InvokeAdapterCallback();
+ AssertDiscoverySessionRequested();
InvokeDiscoveryStartedCallback();
// Device with valid service data connected, but there was no registered
@@ -466,7 +403,7 @@ TEST_F(BleScannerTest, TestDiscovery_Success) {
EXPECT_TRUE(ble_scanner_->RegisterScanFilterForDevice(test_devices_[0]));
EXPECT_TRUE(ble_scanner_->IsDeviceRegistered(test_devices_[0].GetDeviceId()));
- InvokeAdapterCallback();
+ AssertDiscoverySessionRequested();
InvokeDiscoveryStartedCallback();
// Registered device connects.
@@ -495,7 +432,7 @@ TEST_F(BleScannerTest, TestDiscovery_MultipleObservers) {
EXPECT_TRUE(ble_scanner_->RegisterScanFilterForDevice(test_devices_[0]));
EXPECT_TRUE(ble_scanner_->IsDeviceRegistered(test_devices_[0].GetDeviceId()));
- InvokeAdapterCallback();
+ AssertDiscoverySessionRequested();
InvokeDiscoveryStartedCallback();
MockBluetoothDeviceWithServiceData mock_bluetooth_device(
@@ -586,7 +523,7 @@ TEST_F(BleScannerTest, TestAdapterPoweredChanged) {
EXPECT_TRUE(ble_scanner_->RegisterScanFilterForDevice(test_devices_[0]));
EXPECT_TRUE(ble_scanner_->IsDeviceRegistered(test_devices_[0].GetDeviceId()));
- InvokeAdapterCallback();
+ AssertDiscoverySessionRequested();
// The discovery session should have been requested but not yet initialized.
EXPECT_TRUE(stored_discovery_filter_.get());
« no previous file with comments | « chromeos/components/tether/ble_scanner.cc ('k') | chromeos/components/tether/fake_ble_connection_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698