OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chromeos/network/network_connection_handler.h" | 5 #include "chromeos/network/network_connection_handler.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <set> | 8 #include <set> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
326 "{ \"GUID\": \"wifi0\", \"Type\": \"wifi\", \"State\": \"idle\", " | 326 "{ \"GUID\": \"wifi0\", \"Type\": \"wifi\", \"State\": \"idle\", " |
327 " \"Connectable\": true }"; | 327 " \"Connectable\": true }"; |
328 const char* kConfigConnected = | 328 const char* kConfigConnected = |
329 "{ \"GUID\": \"wifi1\", \"Type\": \"wifi\", \"State\": \"online\" }"; | 329 "{ \"GUID\": \"wifi1\", \"Type\": \"wifi\", \"State\": \"online\" }"; |
330 const char* kConfigConnecting = | 330 const char* kConfigConnecting = |
331 "{ \"GUID\": \"wifi2\", \"Type\": \"wifi\", \"State\": \"association\" }"; | 331 "{ \"GUID\": \"wifi2\", \"Type\": \"wifi\", \"State\": \"association\" }"; |
332 const char* kConfigRequiresPassphrase = | 332 const char* kConfigRequiresPassphrase = |
333 "{ \"GUID\": \"wifi3\", \"Type\": \"wifi\", " | 333 "{ \"GUID\": \"wifi3\", \"Type\": \"wifi\", " |
334 " \"PassphraseRequired\": true }"; | 334 " \"PassphraseRequired\": true }"; |
335 | 335 |
| 336 const char* kPolicyWifi0 = |
| 337 "[{ \"GUID\": \"wifi0\", \"IPAddressConfigType\": \"DHCP\", " |
| 338 " \"Type\": \"WiFi\", \"Name\": \"My WiFi Network\"," |
| 339 " \"WiFi\": { \"SSID\": \"wifi0\"}}]"; |
| 340 |
336 } // namespace | 341 } // namespace |
337 | 342 |
338 TEST_F(NetworkConnectionHandlerTest, NetworkConnectionHandlerConnectSuccess) { | 343 TEST_F(NetworkConnectionHandlerTest, NetworkConnectionHandlerConnectSuccess) { |
339 EXPECT_TRUE(Configure(kConfigConnectable)); | 344 EXPECT_TRUE(Configure(kConfigConnectable)); |
340 Connect(kWifi0); | 345 Connect(kWifi0); |
341 EXPECT_EQ(kSuccessResult, GetResultAndReset()); | 346 EXPECT_EQ(kSuccessResult, GetResultAndReset()); |
342 EXPECT_EQ(shill::kStateOnline, | 347 EXPECT_EQ(shill::kStateOnline, |
343 GetServiceStringProperty(kWifi0, shill::kStateProperty)); | 348 GetServiceStringProperty(kWifi0, shill::kStateProperty)); |
344 // Observer expectations | 349 // Observer expectations |
345 EXPECT_TRUE(network_connection_observer_->GetRequested(kWifi0)); | 350 EXPECT_TRUE(network_connection_observer_->GetRequested(kWifi0)); |
346 EXPECT_EQ(kSuccessResult, network_connection_observer_->GetResult(kWifi0)); | 351 EXPECT_EQ(kSuccessResult, network_connection_observer_->GetResult(kWifi0)); |
347 } | 352 } |
348 | 353 |
| 354 TEST_F(NetworkConnectionHandlerTest, |
| 355 NetworkConnectionHandlerConnectProhibited) { |
| 356 EXPECT_TRUE(Configure(kConfigConnectable)); |
| 357 base::DictionaryValue global_config; |
| 358 global_config.SetBooleanWithoutPathExpansion( |
| 359 ::onc::global_network_config::kAllowOnlyPolicyNetworksToConnect, true); |
| 360 SetupPolicy("[]", global_config, false /* load as device policy */); |
| 361 LoginToRegularUser(); |
| 362 Connect(kWifi0); |
| 363 EXPECT_EQ(NetworkConnectionHandler::kErrorUnmanagedNetwork, |
| 364 GetResultAndReset()); |
| 365 |
| 366 SetupPolicy(kPolicyWifi0, global_config, false /* load as device policy */); |
| 367 Connect(kWifi0); |
| 368 EXPECT_EQ(kSuccessResult, GetResultAndReset()); |
| 369 } |
| 370 |
349 // Handles basic failure cases. | 371 // Handles basic failure cases. |
350 TEST_F(NetworkConnectionHandlerTest, NetworkConnectionHandlerConnectFailure) { | 372 TEST_F(NetworkConnectionHandlerTest, NetworkConnectionHandlerConnectFailure) { |
351 Connect(kNoNetwork); | 373 Connect(kNoNetwork); |
352 EXPECT_EQ(NetworkConnectionHandler::kErrorConfigureFailed, | 374 EXPECT_EQ(NetworkConnectionHandler::kErrorConfigureFailed, |
353 GetResultAndReset()); | 375 GetResultAndReset()); |
354 EXPECT_TRUE(network_connection_observer_->GetRequested(kNoNetwork)); | 376 EXPECT_TRUE(network_connection_observer_->GetRequested(kNoNetwork)); |
355 EXPECT_EQ(NetworkConnectionHandler::kErrorConfigureFailed, | 377 EXPECT_EQ(NetworkConnectionHandler::kErrorConfigureFailed, |
356 network_connection_observer_->GetResult(kNoNetwork)); | 378 network_connection_observer_->GetResult(kNoNetwork)); |
357 | 379 |
358 EXPECT_TRUE(Configure(kConfigConnected)); | 380 EXPECT_TRUE(Configure(kConfigConnected)); |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
466 Connect(kNoNetwork); | 488 Connect(kNoNetwork); |
467 EXPECT_EQ(NetworkConnectionHandler::kErrorConfigureFailed, | 489 EXPECT_EQ(NetworkConnectionHandler::kErrorConfigureFailed, |
468 GetResultAndReset()); | 490 GetResultAndReset()); |
469 | 491 |
470 EXPECT_TRUE(Configure(kConfigConnectable)); | 492 EXPECT_TRUE(Configure(kConfigConnectable)); |
471 Disconnect(kWifi0); | 493 Disconnect(kWifi0); |
472 EXPECT_EQ(NetworkConnectionHandler::kErrorNotConnected, GetResultAndReset()); | 494 EXPECT_EQ(NetworkConnectionHandler::kErrorNotConnected, GetResultAndReset()); |
473 } | 495 } |
474 | 496 |
475 } // namespace chromeos | 497 } // namespace chromeos |
OLD | NEW |