Add BleMedium::GetRemotePeripheral

Added:
nearby::api::ble_v2::BlePeripheral::GetUniqueId()
nearby::api::ble_v2::BleMedium::GetRemotePeripheral(...)

Moved BlePeripheral implementation from bluetooth_adapter_* to ble_v2.*
Added G3 (test) implementation for the new methods.

PiperOrigin-RevId: 531023568
This commit is contained in:
Janusz Sobczak
2023-05-10 15:40:38 -07:00
committed by Copybara-Service
parent 69f4feaf55
commit 0901aec6e2
29 changed files with 597 additions and 354 deletions
@@ -26,102 +26,6 @@
namespace nearby {
namespace {
constexpr absl::string_view kMacAddress = "4C:8B:1D:CE:BA:D1";
constexpr absl::string_view kId = "AB12";
class BlePeripheralStub : public api::ble_v2::BlePeripheral {
public:
explicit BlePeripheralStub(absl::string_view mac_address) {
mac_address_ = std::string(mac_address);
}
std::string GetAddress() const override { return mac_address_; }
private:
std::string mac_address_;
};
TEST(BleV2PeripheralTest, ConstructionWorks) {
auto api_peripheral = std::make_unique<BlePeripheralStub>(kMacAddress);
BleV2Peripheral peripheral(api_peripheral.get());
ASSERT_TRUE(peripheral.IsValid());
EXPECT_EQ(peripheral.GetAddress(), kMacAddress);
}
TEST(BleV2PeripheralTest, SetIdAndPsmWorks) {
auto api_peripheral = std::make_unique<BlePeripheralStub>(kMacAddress);
ByteArray id((std::string(kId)));
int psm = 2;
BleV2Peripheral peripheral(api_peripheral.get());
peripheral.SetId(id);
peripheral.SetPsm(psm);
ASSERT_TRUE(peripheral.IsValid());
EXPECT_EQ(peripheral.GetId(), id);
EXPECT_EQ(peripheral.GetPsm(), 2);
}
TEST(BleV2PeripheralTest, CopyConstructorAndAssignmentSuccess) {
auto api_peripheral = std::make_unique<BlePeripheralStub>(kMacAddress);
ByteArray id((std::string(kId)));
int psm = 2;
BleV2Peripheral peripheral(api_peripheral.get());
peripheral.SetId(id);
peripheral.SetPsm(psm);
BleV2Peripheral copy_peripheral_1(peripheral);
ASSERT_TRUE(copy_peripheral_1.IsValid());
EXPECT_EQ(copy_peripheral_1.GetAddress(), kMacAddress);
EXPECT_EQ(copy_peripheral_1.GetId(), id);
EXPECT_EQ(copy_peripheral_1.GetPsm(), 2);
BleV2Peripheral copy_periphera1_2 = peripheral;
ASSERT_TRUE(copy_periphera1_2.IsValid());
EXPECT_EQ(copy_periphera1_2.GetAddress(), kMacAddress);
EXPECT_EQ(copy_periphera1_2.GetId(), id);
EXPECT_EQ(copy_periphera1_2.GetPsm(), 2);
}
TEST(BleV2PeripheralTest, MoveConstructorSuccess) {
auto api_peripheral = std::make_unique<BlePeripheralStub>(kMacAddress);
ByteArray id((std::string(kId)));
int psm = 2;
BleV2Peripheral peripheral(api_peripheral.get());
peripheral.SetId(id);
peripheral.SetPsm(psm);
BleV2Peripheral move_peripheral(std::move(peripheral));
ASSERT_TRUE(move_peripheral.IsValid());
EXPECT_EQ(move_peripheral.GetAddress(), kMacAddress);
EXPECT_EQ(move_peripheral.GetId(), id);
EXPECT_EQ(move_peripheral.GetPsm(), 2);
}
TEST(BleV2PeripheralTest, MoveAssignmentSuccess) {
auto api_peripheral = std::make_unique<BlePeripheralStub>(kMacAddress);
ByteArray id((std::string(kId)));
int psm = 2;
BleV2Peripheral peripheral(api_peripheral.get());
peripheral.SetId(id);
peripheral.SetPsm(psm);
BleV2Peripheral move_peripheral = std::move(peripheral);
ASSERT_TRUE(move_peripheral.IsValid());
EXPECT_EQ(move_peripheral.GetAddress(), kMacAddress);
EXPECT_EQ(move_peripheral.GetId(), id);
EXPECT_EQ(move_peripheral.GetPsm(), 2);
}
TEST(BluetoothAdapterTest, ConstructorDestructorWorks) {
BluetoothAdapter adapter;
EXPECT_TRUE(adapter.IsValid());