| Index: chromeos/components/tether/network_connection_handler_tether_delegate_unittest.cc
|
| diff --git a/chromeos/components/tether/network_connection_handler_tether_delegate_unittest.cc b/chromeos/components/tether/network_connection_handler_tether_delegate_unittest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cc1df5effc0efbbeb4d0ff8448bca6fb3f02a015
|
| --- /dev/null
|
| +++ b/chromeos/components/tether/network_connection_handler_tether_delegate_unittest.cc
|
| @@ -0,0 +1,139 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chromeos/components/tether/network_connection_handler_tether_delegate.h"
|
| +
|
| +#include <memory>
|
| +
|
| +#include "chromeos/components/tether/tether_connector.h"
|
| +#include "chromeos/components/tether/tether_disconnector.h"
|
| +#include "chromeos/network/network_connection_handler.h"
|
| +#include "testing/gmock/include/gmock/gmock.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +
|
| +using testing::_;
|
| +using testing::NiceMock;
|
| +
|
| +namespace chromeos {
|
| +
|
| +namespace tether {
|
| +
|
| +namespace {
|
| +
|
| +class TestNetworkConnectionHandler : public NetworkConnectionHandler {
|
| + public:
|
| + TestNetworkConnectionHandler() : NetworkConnectionHandler() {}
|
| + ~TestNetworkConnectionHandler() override {}
|
| +
|
| + void CallTetherConnect(const std::string& tether_network_guid,
|
| + const base::Closure& success_callback,
|
| + const network_handler::ErrorCallback& error_callback) {
|
| + InitiateTetherNetworkConnection(tether_network_guid, success_callback,
|
| + error_callback);
|
| + }
|
| +
|
| + // NetworkConnectionHandler:
|
| + void ConnectToNetwork(const std::string& service_path,
|
| + const base::Closure& success_callback,
|
| + const network_handler::ErrorCallback& error_callback,
|
| + bool check_error_state) override {}
|
| +
|
| + void DisconnectNetwork(
|
| + const std::string& service_path,
|
| + const base::Closure& success_callback,
|
| + const network_handler::ErrorCallback& error_callback) override {}
|
| +
|
| + bool HasConnectingNetwork(const std::string& service_path) override {
|
| + return false;
|
| + }
|
| +
|
| + bool HasPendingConnectRequest() override { return false; }
|
| +
|
| + void Init(NetworkStateHandler* network_state_handler,
|
| + NetworkConfigurationHandler* network_configuration_handler,
|
| + ManagedNetworkConfigurationHandler*
|
| + managed_network_configuration_handler) override {}
|
| +};
|
| +
|
| +class MockTetherConnector : public TetherConnector {
|
| + public:
|
| + MockTetherConnector()
|
| + : TetherConnector(nullptr /* network_state_handler */,
|
| + nullptr /* wifi_hotspot_connector */,
|
| + nullptr /* active_host */,
|
| + nullptr /* tether_host_fetcher */,
|
| + nullptr /* connection_manager */,
|
| + nullptr /* tether_host_response_recorder */,
|
| + nullptr /* device_id_tether_network_guid_map */) {}
|
| + ~MockTetherConnector() override {}
|
| +
|
| + MOCK_METHOD3(
|
| + ConnectToNetwork,
|
| + void(const std::string& tether_network_guid,
|
| + const base::Closure& success_callback,
|
| + const network_handler::StringResultCallback& error_callback));
|
| +};
|
| +
|
| +class MockTetherDisconnector : public TetherDisconnector {
|
| + public:
|
| + MockTetherDisconnector()
|
| + : TetherDisconnector(nullptr /* network_connection_handler */,
|
| + nullptr /* network_state_handler */,
|
| + nullptr /* active_host */,
|
| + nullptr /* ble_connection_manager */,
|
| + nullptr /* network_configuration_remover */,
|
| + nullptr /* tether_connector */,
|
| + nullptr /* device_id_tether_network_guid_map */,
|
| + nullptr /* tether_host_fetcher */) {}
|
| + ~MockTetherDisconnector() override {}
|
| +
|
| + MOCK_METHOD3(
|
| + DisconnectFomNetwork,
|
| + void(const std::string& tether_network_guid,
|
| + const base::Closure& success_callback,
|
| + const network_handler::StringResultCallback& error_callback));
|
| +};
|
| +
|
| +} // namespace
|
| +
|
| +// TODO(khorimoto): Also write a test for disconnection. This is part of a
|
| +// follow-up CL.
|
| +class NetworkConnectionHandlerTetherDelegateTest : public testing::Test {
|
| + protected:
|
| + NetworkConnectionHandlerTetherDelegateTest() {}
|
| +
|
| + void SetUp() override {
|
| + test_network_connection_handler_ =
|
| + base::WrapUnique(new TestNetworkConnectionHandler());
|
| + mock_tether_connector_ =
|
| + base::WrapUnique(new NiceMock<MockTetherConnector>());
|
| + mock_tether_disconnector_ =
|
| + base::WrapUnique(new NiceMock<MockTetherDisconnector>());
|
| +
|
| + delegate_ = base::MakeUnique<NetworkConnectionHandlerTetherDelegate>(
|
| + test_network_connection_handler_.get(), mock_tether_connector_.get(),
|
| + mock_tether_disconnector_.get());
|
| + }
|
| +
|
| + std::unique_ptr<TestNetworkConnectionHandler>
|
| + test_network_connection_handler_;
|
| + std::unique_ptr<NiceMock<MockTetherConnector>> mock_tether_connector_;
|
| + std::unique_ptr<NiceMock<MockTetherDisconnector>> mock_tether_disconnector_;
|
| +
|
| + std::unique_ptr<NetworkConnectionHandlerTetherDelegate> delegate_;
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(NetworkConnectionHandlerTetherDelegateTest);
|
| +};
|
| +
|
| +TEST_F(NetworkConnectionHandlerTetherDelegateTest, TestConnect) {
|
| + EXPECT_CALL(*mock_tether_connector_, ConnectToNetwork(_, _, _));
|
| +
|
| + test_network_connection_handler_->CallTetherConnect(
|
| + "tetherNetworkGuid", base::Closure(), network_handler::ErrorCallback());
|
| +}
|
| +
|
| +} // namespace tether
|
| +
|
| +} // namespace cryptauth
|
|
|