| Index: chromeos/components/tether/host_scanner_unittest.cc
|
| diff --git a/chromeos/components/tether/host_scanner_unittest.cc b/chromeos/components/tether/host_scanner_unittest.cc
|
| index aea739f52a0055f66f1929de124e7587b90152b4..0f80266b6eabf038f538dcea1b4efd5e2a7d061f 100644
|
| --- a/chromeos/components/tether/host_scanner_unittest.cc
|
| +++ b/chromeos/components/tether/host_scanner_unittest.cc
|
| @@ -9,9 +9,16 @@
|
| #include <vector>
|
|
|
| #include "base/memory/ptr_util.h"
|
| +#include "base/run_loop.h"
|
| +#include "base/test/scoped_task_environment.h"
|
| #include "chromeos/components/tether/fake_ble_connection_manager.h"
|
| +#include "chromeos/components/tether/fake_notification_presenter.h"
|
| #include "chromeos/components/tether/fake_tether_host_fetcher.h"
|
| #include "chromeos/components/tether/host_scan_device_prioritizer.h"
|
| +#include "chromeos/dbus/dbus_thread_manager.h"
|
| +#include "chromeos/network/network_state.h"
|
| +#include "chromeos/network/network_state_handler.h"
|
| +#include "chromeos/network/network_state_test.h"
|
| #include "components/cryptauth/remote_device_test_util.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| @@ -119,7 +126,7 @@ CreateFakeScannedDeviceInfos(
|
|
|
| } // namespace
|
|
|
| -class HostScannerTest : public testing::Test {
|
| +class HostScannerTest : public NetworkStateTest {
|
| protected:
|
| HostScannerTest()
|
| : test_devices_(cryptauth::GenerateTestRemoteDevices(4)),
|
| @@ -127,6 +134,9 @@ class HostScannerTest : public testing::Test {
|
| }
|
|
|
| void SetUp() override {
|
| + DBusThreadManager::Initialize();
|
| + NetworkStateTest::SetUp();
|
| +
|
| scanned_device_infos_so_far_.clear();
|
|
|
| fake_tether_host_fetcher_ = base::MakeUnique<FakeTetherHostFetcher>(
|
| @@ -140,9 +150,19 @@ class HostScannerTest : public testing::Test {
|
| HostScannerOperation::Factory::SetInstanceForTesting(
|
| fake_host_scanner_operation_factory_.get());
|
|
|
| + fake_notification_presenter_ =
|
| + base::MakeUnique<FakeNotificationPresenter>();
|
| +
|
| host_scanner_ = base::MakeUnique<HostScanner>(
|
| fake_tether_host_fetcher_.get(), fake_ble_connection_manager_.get(),
|
| - fake_host_scan_device_prioritizer_.get());
|
| + fake_host_scan_device_prioritizer_.get(), network_state_handler(),
|
| + fake_notification_presenter_.get());
|
| + }
|
| +
|
| + void TearDown() override {
|
| + ShutdownNetworkState();
|
| + NetworkStateTest::TearDown();
|
| + DBusThreadManager::Shutdown();
|
| }
|
|
|
| // Causes |fake_operation| to receive the scan result in
|
| @@ -158,8 +178,33 @@ class HostScannerTest : public testing::Test {
|
| is_final_scan_result);
|
| EXPECT_EQ(scanned_device_infos_so_far_,
|
| host_scanner_->most_recent_scan_results());
|
| +
|
| + NetworkStateHandler::NetworkStateList tether_networks;
|
| + network_state_handler()->GetTetherNetworkList(0 /* no limit */,
|
| + &tether_networks);
|
| + EXPECT_EQ(scanned_device_infos_so_far_.size(), tether_networks.size());
|
| + for (auto& scanned_device_info : scanned_device_infos_so_far_) {
|
| + cryptauth::RemoteDevice remote_device = scanned_device_info.remote_device;
|
| + const NetworkState* tether_network =
|
| + network_state_handler()->GetNetworkStateFromGuid(
|
| + remote_device.GetDeviceId());
|
| + ASSERT_TRUE(tether_network);
|
| + EXPECT_EQ(remote_device.name, tether_network->name());
|
| + }
|
| +
|
| + if (scanned_device_infos_so_far_.size() == 1) {
|
| + EXPECT_EQ(FakeNotificationPresenter::PotentialHotspotNotificationState::
|
| + SINGLE_HOTSPOT_NEARBY_SHOWN,
|
| + fake_notification_presenter_->potential_hotspot_state());
|
| + } else {
|
| + EXPECT_EQ(FakeNotificationPresenter::PotentialHotspotNotificationState::
|
| + MULTIPLE_HOTSPOTS_NEARBY_SHOWN,
|
| + fake_notification_presenter_->potential_hotspot_state());
|
| + }
|
| }
|
|
|
| + base::test::ScopedTaskEnvironment scoped_task_environment_;
|
| +
|
| const std::vector<cryptauth::RemoteDevice> test_devices_;
|
| const std::vector<HostScannerOperation::ScannedDeviceInfo>
|
| test_scanned_device_infos;
|
| @@ -176,6 +221,8 @@ class HostScannerTest : public testing::Test {
|
|
|
| std::unique_ptr<HostScanner> host_scanner_;
|
|
|
| + std::unique_ptr<FakeNotificationPresenter> fake_notification_presenter_;
|
| +
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(HostScannerTest);
|
| };
|
|
|