Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(146)

Unified Diff: chromeos/network/network_device_handler_unittest.cc

Issue 156353002: Implement networkingPrivate.setWifiTDLSEnabledState (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix params passing and add unit test. Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_);

Powered by Google App Engine
This is Rietveld 408576698