From 3aa109a29bf494d2ca405bdb623a66c3a90181d3 Mon Sep 17 00:00:00 2001 From: Janusz Sobczak Date: Thu, 1 Dec 2022 11:54:37 -0800 Subject: [PATCH] Add NoDeviceFoundAfterStopScan test PiperOrigin-RevId: 492260183 --- presence/implementation/scan_manager_test.cc | 23 ++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/presence/implementation/scan_manager_test.cc b/presence/implementation/scan_manager_test.cc index 16b60f4c..30f7ef0b 100644 --- a/presence/implementation/scan_manager_test.cc +++ b/presence/implementation/scan_manager_test.cc @@ -279,6 +279,29 @@ TEST_F(ScanManagerTest, StopOneSessionFromAnotherDeadlock) { EXPECT_EQ(manager.ScanningCallbacksLengthForTest(), 0); } +// Receive a BLE advertisement after StopScan. `on_discovered_cb` +// must not be called. +TEST_F(ScanManagerTest, NoDeviceFoundAfterStopScan) { + Mediums mediums; + ScanManager manager(mediums, credential_manager_, executor_); + location::nearby::BluetoothAdapter server_adapter; + Ble ble2(server_adapter); + std::atomic_bool stopped = false; + ScanSessionId scan_session = manager.StartScan( + MakeDefaultScanRequest(), + ScanCallback{.start_scan_cb = [](Status status) {}, + .on_discovered_cb = + [&](PresenceDevice pd) { EXPECT_FALSE(stopped); }}); + + manager.StopScan(scan_session); + stopped = true; + std::unique_ptr advertising_session = + StartAdvertisingOn(ble2); + + EXPECT_EQ(manager.ScanningCallbacksLengthForTest(), 0); + executor_.Shutdown(); +} + } // namespace } // namespace presence } // namespace nearby