Loading system/service/test/low_energy_client_unittest.cpp +30 −17 Original line number Diff line number Diff line Loading @@ -168,44 +168,55 @@ class LowEnergyClientTest : public ::testing::Test { // Used for tests that operate on a pre-registered client. class LowEnergyClientPostRegisterTest : public LowEnergyClientTest { public: LowEnergyClientPostRegisterTest() = default; LowEnergyClientPostRegisterTest() : next_client_id_(0) { } ~LowEnergyClientPostRegisterTest() override = default; void SetUp() override { LowEnergyClientTest::SetUp(); auto callback = [&](std::unique_ptr<LowEnergyClient> client) { le_client_ = std::move(client); }; RegisterTestClient(callback); } void TearDown() override { EXPECT_CALL(*mock_handler_, MultiAdvDisable(_)) .Times(1) .WillOnce(Return(BT_STATUS_SUCCESS)); EXPECT_CALL(*mock_handler_, UnregisterClient(_)) .Times(1) .WillOnce(Return(BT_STATUS_SUCCESS)); le_client_.reset(); LowEnergyClientTest::TearDown(); } void RegisterTestClient( const std::function<void(std::unique_ptr<LowEnergyClient> client)> callback) { UUID uuid = UUID::GetRandom(); auto callback = [&](BLEStatus status, const UUID& in_uuid, auto api_callback = [&](BLEStatus status, const UUID& in_uuid, std::unique_ptr<BluetoothInstance> in_client) { CHECK(in_uuid == uuid); CHECK(in_client.get()); CHECK(status == BLE_STATUS_SUCCESS); le_client_ = std::unique_ptr<LowEnergyClient>( static_cast<LowEnergyClient*>(in_client.release())); callback(std::unique_ptr<LowEnergyClient>( static_cast<LowEnergyClient*>(in_client.release()))); }; EXPECT_CALL(*mock_handler_, RegisterClient(_)) .Times(1) .WillOnce(Return(BT_STATUS_SUCCESS)); ble_factory_->RegisterInstance(uuid, callback); ble_factory_->RegisterInstance(uuid, api_callback); bt_uuid_t hal_uuid = uuid.GetBlueDroid(); fake_hal_gatt_iface_->NotifyRegisterClientCallback(0, 0, hal_uuid); fake_hal_gatt_iface_->NotifyRegisterClientCallback( 0, next_client_id_++, hal_uuid); ::testing::Mock::VerifyAndClearExpectations(mock_handler_.get()); } void TearDown() override { EXPECT_CALL(*mock_handler_, MultiAdvDisable(_)) .Times(1) .WillOnce(Return(BT_STATUS_SUCCESS)); EXPECT_CALL(*mock_handler_, UnregisterClient(_)) .Times(1) .WillOnce(Return(BT_STATUS_SUCCESS)); le_client_.reset(); LowEnergyClientTest::TearDown(); } void StartAdvertising() { ASSERT_FALSE(le_client_->IsAdvertisingStarted()); ASSERT_FALSE(le_client_->IsStartingAdvertising()); Loading Loading @@ -252,6 +263,8 @@ class LowEnergyClientPostRegisterTest : public LowEnergyClientTest { std::unique_ptr<LowEnergyClient> le_client_; private: int next_client_id_; DISALLOW_COPY_AND_ASSIGN(LowEnergyClientPostRegisterTest); }; Loading Loading
system/service/test/low_energy_client_unittest.cpp +30 −17 Original line number Diff line number Diff line Loading @@ -168,44 +168,55 @@ class LowEnergyClientTest : public ::testing::Test { // Used for tests that operate on a pre-registered client. class LowEnergyClientPostRegisterTest : public LowEnergyClientTest { public: LowEnergyClientPostRegisterTest() = default; LowEnergyClientPostRegisterTest() : next_client_id_(0) { } ~LowEnergyClientPostRegisterTest() override = default; void SetUp() override { LowEnergyClientTest::SetUp(); auto callback = [&](std::unique_ptr<LowEnergyClient> client) { le_client_ = std::move(client); }; RegisterTestClient(callback); } void TearDown() override { EXPECT_CALL(*mock_handler_, MultiAdvDisable(_)) .Times(1) .WillOnce(Return(BT_STATUS_SUCCESS)); EXPECT_CALL(*mock_handler_, UnregisterClient(_)) .Times(1) .WillOnce(Return(BT_STATUS_SUCCESS)); le_client_.reset(); LowEnergyClientTest::TearDown(); } void RegisterTestClient( const std::function<void(std::unique_ptr<LowEnergyClient> client)> callback) { UUID uuid = UUID::GetRandom(); auto callback = [&](BLEStatus status, const UUID& in_uuid, auto api_callback = [&](BLEStatus status, const UUID& in_uuid, std::unique_ptr<BluetoothInstance> in_client) { CHECK(in_uuid == uuid); CHECK(in_client.get()); CHECK(status == BLE_STATUS_SUCCESS); le_client_ = std::unique_ptr<LowEnergyClient>( static_cast<LowEnergyClient*>(in_client.release())); callback(std::unique_ptr<LowEnergyClient>( static_cast<LowEnergyClient*>(in_client.release()))); }; EXPECT_CALL(*mock_handler_, RegisterClient(_)) .Times(1) .WillOnce(Return(BT_STATUS_SUCCESS)); ble_factory_->RegisterInstance(uuid, callback); ble_factory_->RegisterInstance(uuid, api_callback); bt_uuid_t hal_uuid = uuid.GetBlueDroid(); fake_hal_gatt_iface_->NotifyRegisterClientCallback(0, 0, hal_uuid); fake_hal_gatt_iface_->NotifyRegisterClientCallback( 0, next_client_id_++, hal_uuid); ::testing::Mock::VerifyAndClearExpectations(mock_handler_.get()); } void TearDown() override { EXPECT_CALL(*mock_handler_, MultiAdvDisable(_)) .Times(1) .WillOnce(Return(BT_STATUS_SUCCESS)); EXPECT_CALL(*mock_handler_, UnregisterClient(_)) .Times(1) .WillOnce(Return(BT_STATUS_SUCCESS)); le_client_.reset(); LowEnergyClientTest::TearDown(); } void StartAdvertising() { ASSERT_FALSE(le_client_->IsAdvertisingStarted()); ASSERT_FALSE(le_client_->IsStartingAdvertising()); Loading Loading @@ -252,6 +263,8 @@ class LowEnergyClientPostRegisterTest : public LowEnergyClientTest { std::unique_ptr<LowEnergyClient> le_client_; private: int next_client_id_; DISALLOW_COPY_AND_ASSIGN(LowEnergyClientPostRegisterTest); }; Loading