Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 36ddeac5 authored by root's avatar root Committed by Jakub Pawlowski
Browse files

Fix AdvertiseDataParsing test

Test: run LowEnergyAdvertiserPostRegisterTest.AdvertiseDataParsing
Change-Id: Ib9f4dbc1079ae289cc5eeaee9ca7050d308a4ab0
parent 713462c1
Loading
Loading
Loading
Loading
+16 −32
Original line number Diff line number Diff line
@@ -624,35 +624,22 @@ TEST_F(LowEnergyAdvertiserPostRegisterTest, AdvertiseDataParsing) {
    callback_count++;
  };

  status_cb set_params_cb;
  EXPECT_CALL(*mock_handler_, MultiAdvSetParameters(_, _, _, _, _, _, _))
      .WillOnce(SaveArg<6>(&set_params_cb))
      .WillOnce(SaveArg<6>(&set_params_cb));

  // Make sure no call to set data .
  status_cb set_data_cb;
  // Multiple UUID test
  EXPECT_CALL(*mock_handler_, MultiAdvSetInstData(_, _, _, _))
      .Times(Exactly(0));

  // Multiple UUID test, should fail due to only one UUID allowed
  EXPECT_TRUE(le_advertiser_->StartAdvertising(settings, multi_uuid_adv,
                                               AdvertiseData(), callback));
  set_params_cb.Run(BT_STATUS_SUCCESS);
            .Times(1)
      .WillOnce(SaveArg<3>(&set_data_cb));
  AdvertiseDataTestHelper(multi_uuid_adv, callback, &set_data_cb);
  EXPECT_EQ(1, callback_count);
  EXPECT_EQ(BLE_STATUS_FAILURE, last_status);
  ::testing::Mock::VerifyAndClearExpectations(mock_handler_.get());

  // Make sure no call to set data .
  // Multiple Service Data test
  EXPECT_CALL(*mock_handler_, MultiAdvSetInstData(_, _, _, _))
      .Times(Exactly(0));

  // Multiple Service Data test, should fail due to only one service data
  // allowed
  EXPECT_TRUE(le_advertiser_->StartAdvertising(settings, multi_uuid_adv,
                                               AdvertiseData(), callback));
  set_params_cb.Run(BT_STATUS_SUCCESS);
            .Times(1)
      .WillOnce(SaveArg<3>(&set_data_cb));
  AdvertiseDataTestHelper(multi_service_adv, callback, &set_data_cb);
  EXPECT_EQ(2, callback_count);
  EXPECT_EQ(BLE_STATUS_FAILURE, last_status);

  status_cb set_data_cb;
  ::testing::Mock::VerifyAndClearExpectations(mock_handler_.get());

  // 16bit uuid test, should succeed with correctly parsed uuid in little-endian
  // 128-bit format.
@@ -732,16 +719,13 @@ TEST_F(LowEnergyAdvertiserPostRegisterTest, AdvertiseDataParsing) {
  EXPECT_EQ(9, callback_count);
  ::testing::Mock::VerifyAndClearExpectations(mock_handler_.get());

  EXPECT_CALL(*mock_handler_, MultiAdvSetParameters(_, _, _, _, _, _, _))
      .Times(1)
      .WillOnce(SaveArg<6>(&set_params_cb));

  // Service data and UUID where the UUID for dont match, should fail
  EXPECT_TRUE(le_advertiser_->StartAdvertising(settings, service_uuid_mismatch,
                                               AdvertiseData(), callback));
  set_params_cb.Run(BT_STATUS_SUCCESS);
  EXPECT_CALL(*mock_handler_, MultiAdvSetInstData(_, _, _, _))
      .Times(1)
      .WillOnce(SaveArg<3>(&set_data_cb));
  AdvertiseDataTestHelper(service_uuid_match, callback, &set_data_cb);
  EXPECT_EQ(10, callback_count);
  EXPECT_EQ(BLE_STATUS_FAILURE, last_status);
  ::testing::Mock::VerifyAndClearExpectations(mock_handler_.get());
}

MATCHER_P(BitEq, x, std::string(negation ? "isn't" : "is") +