| Index: chromeos/network/network_device_handler_unittest.cc
|
| diff --git a/chromeos/network/network_device_handler_unittest.cc b/chromeos/network/network_device_handler_unittest.cc
|
| index 60a264bc6e9a34dbfd84ae38e3abf38bd60d21f4..8c12c10dfcc5f513cb8fb24a50ca21fece0607fa 100644
|
| --- a/chromeos/network/network_device_handler_unittest.cc
|
| +++ b/chromeos/network/network_device_handler_unittest.cc
|
| @@ -39,22 +39,14 @@ class NetworkDeviceHandlerTest : public testing::Test {
|
| scoped_ptr<ShillDeviceClient>(fake_device_client_));
|
| DBusThreadManager::InitializeForTesting(dbus_manager);
|
|
|
| - ShillDeviceClient::TestInterface* device_test =
|
| - fake_device_client_->GetTestInterface();
|
| - device_test->AddDevice(
|
| - kDefaultCellularDevicePath, shill::kTypeCellular, "cellular1");
|
| - device_test->AddDevice(kDefaultWifiDevicePath, shill::kTypeWifi, "wifi1");
|
| -
|
| - base::ListValue test_ip_configs;
|
| - test_ip_configs.AppendString("ip_config1");
|
| - device_test->SetDeviceProperty(
|
| - kDefaultWifiDevicePath, shill::kIPConfigsProperty, test_ip_configs);
|
| -
|
| success_callback_ = base::Bind(&NetworkDeviceHandlerTest::SuccessCallback,
|
| base::Unretained(this));
|
| properties_success_callback_ =
|
| base::Bind(&NetworkDeviceHandlerTest::PropertiesSuccessCallback,
|
| base::Unretained(this));
|
| + string_success_callback_ =
|
| + base::Bind(&NetworkDeviceHandlerTest::StringSuccessCallback,
|
| + base::Unretained(this));
|
| error_callback_ = base::Bind(&NetworkDeviceHandlerTest::ErrorCallback,
|
| base::Unretained(this));
|
|
|
| @@ -62,6 +54,20 @@ class NetworkDeviceHandlerTest : public testing::Test {
|
| NetworkDeviceHandlerImpl* device_handler = new NetworkDeviceHandlerImpl;
|
| device_handler->Init(network_state_handler_.get());
|
| network_device_handler_.reset(device_handler);
|
| +
|
| + // Add devices after handlers have been initialized.
|
| + ShillDeviceClient::TestInterface* device_test =
|
| + fake_device_client_->GetTestInterface();
|
| + device_test->AddDevice(
|
| + kDefaultCellularDevicePath, shill::kTypeCellular, "cellular1");
|
| + device_test->AddDevice(kDefaultWifiDevicePath, shill::kTypeWifi, "wifi1");
|
| +
|
| + base::ListValue test_ip_configs;
|
| + test_ip_configs.AppendString("ip_config1");
|
| + device_test->SetDeviceProperty(
|
| + kDefaultWifiDevicePath, shill::kIPConfigsProperty, test_ip_configs);
|
| +
|
| + message_loop_.RunUntilIdle();
|
| }
|
|
|
| virtual void TearDown() OVERRIDE {
|
| @@ -72,6 +78,7 @@ class NetworkDeviceHandlerTest : public testing::Test {
|
|
|
| void ErrorCallback(const std::string& error_name,
|
| scoped_ptr<base::DictionaryValue> error_data) {
|
| + LOG(ERROR) << "ErrorCallback: " << error_name;
|
| result_ = error_name;
|
| }
|
|
|
| @@ -85,6 +92,11 @@ class NetworkDeviceHandlerTest : public testing::Test {
|
| properties_.reset(properties.DeepCopy());
|
| }
|
|
|
| + void StringSuccessCallback(const std::string& result) {
|
| + LOG(ERROR) << "StringSuccessCallback: " << result;
|
| + result_ = kResultSuccess;
|
| + }
|
| +
|
| protected:
|
| std::string result_;
|
|
|
| @@ -94,6 +106,7 @@ class NetworkDeviceHandlerTest : public testing::Test {
|
| base::MessageLoopForUI message_loop_;
|
| base::Closure success_callback_;
|
| network_handler::DictionaryResultCallback properties_success_callback_;
|
| + network_handler::StringResultCallback string_success_callback_;
|
| network_handler::ErrorCallback error_callback_;
|
| scoped_ptr<base::DictionaryValue> properties_;
|
|
|
| @@ -209,6 +222,55 @@ TEST_F(NetworkDeviceHandlerTest, CellularAllowRoaming) {
|
| EXPECT_FALSE(allow_roaming);
|
| }
|
|
|
| +TEST_F(NetworkDeviceHandlerTest, SetWifiTDLSEnabled) {
|
| + // We add a wifi device by default, initial call should succeed.
|
| + network_device_handler_->SetWifiTDLSEnabled(
|
| + "fake_ip_address", true, string_success_callback_, error_callback_);
|
| + message_loop_.RunUntilIdle();
|
| + EXPECT_EQ(kResultSuccess, result_);
|
| +
|
| + // Remove the wifi device. Call should fail with "device missing" error.
|
| + fake_device_client_->GetTestInterface()->RemoveDevice(kDefaultWifiDevicePath);
|
| + message_loop_.RunUntilIdle();
|
| + network_device_handler_->SetWifiTDLSEnabled(
|
| + "fake_ip_address", true, string_success_callback_, error_callback_);
|
| + message_loop_.RunUntilIdle();
|
| + EXPECT_EQ(NetworkDeviceHandler::kErrorDeviceMissing, result_);
|
| +}
|
| +
|
| +TEST_F(NetworkDeviceHandlerTest, SetWifiTDLSEnabledBusy) {
|
| + // Set the busy count, call should succeed after repeat attempt.
|
| + fake_device_client_->set_tdls_busy_count(1);
|
| + network_device_handler_->SetWifiTDLSEnabled(
|
| + "fake_ip_address", true, string_success_callback_, error_callback_);
|
| + message_loop_.RunUntilIdle();
|
| + EXPECT_EQ(kResultSuccess, result_);
|
| +
|
| + // Set the busy count to a large number, call should fail after max number
|
| + // of repeat attempt.
|
| + fake_device_client_->set_tdls_busy_count(100000);
|
| + network_device_handler_->SetWifiTDLSEnabled(
|
| + "fake_ip_address", true, string_success_callback_, error_callback_);
|
| + message_loop_.RunUntilIdle();
|
| + EXPECT_EQ(NetworkDeviceHandler::kErrorTimeout, result_);
|
| +}
|
| +
|
| +TEST_F(NetworkDeviceHandlerTest, GetWifiTDLSStatus) {
|
| + // We add a wifi device by default, initial call should succeed.
|
| + network_device_handler_->GetWifiTDLSStatus(
|
| + "fake_ip_address", string_success_callback_, error_callback_);
|
| + message_loop_.RunUntilIdle();
|
| + EXPECT_EQ(kResultSuccess, result_);
|
| +
|
| + // Remove the wifi device. Call should fail with "device missing" error.
|
| + fake_device_client_->GetTestInterface()->RemoveDevice(kDefaultWifiDevicePath);
|
| + message_loop_.RunUntilIdle();
|
| + network_device_handler_->GetWifiTDLSStatus(
|
| + "fake_ip_address", string_success_callback_, error_callback_);
|
| + message_loop_.RunUntilIdle();
|
| + EXPECT_EQ(NetworkDeviceHandler::kErrorDeviceMissing, result_);
|
| +}
|
| +
|
| TEST_F(NetworkDeviceHandlerTest, RequestRefreshIPConfigs) {
|
| network_device_handler_->RequestRefreshIPConfigs(
|
| kDefaultWifiDevicePath, success_callback_, error_callback_);
|
|
|