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

Side by Side Diff: chromeos/network/auto_connect_handler_unittest.cc

Issue 1461823002: Handle device ONC AllowOnlyPolicyNetworksToConnect (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « chromeos/network/auto_connect_handler.cc ('k') | chromeos/network/network_connection_handler.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/auto_connect_handler.h" 5 #include "chromeos/network/auto_connect_handler.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 411
412 // Should not trigger any change until user policy is loaded 412 // Should not trigger any change until user policy is loaded
413 EXPECT_EQ(shill::kStateOnline, GetServiceState("wifi0")); 413 EXPECT_EQ(shill::kStateOnline, GetServiceState("wifi0"));
414 EXPECT_EQ(shill::kStateIdle, GetServiceState("wifi1")); 414 EXPECT_EQ(shill::kStateIdle, GetServiceState("wifi1"));
415 415
416 SetupPolicy(std::string(), base::DictionaryValue(), true); 416 SetupPolicy(std::string(), base::DictionaryValue(), true);
417 EXPECT_EQ(shill::kStateIdle, GetServiceState("wifi0")); 417 EXPECT_EQ(shill::kStateIdle, GetServiceState("wifi0"));
418 EXPECT_EQ(shill::kStateIdle, GetServiceState("wifi1")); 418 EXPECT_EQ(shill::kStateIdle, GetServiceState("wifi1"));
419 } 419 }
420 420
421 TEST_F(AutoConnectHandlerTest,
422 DisconnectOnPolicyLoadingAllowOnlyPolicyNetworksToConnect) {
423 EXPECT_TRUE(Configure(kConfigUnmanagedSharedConnected));
424 EXPECT_TRUE(Configure(kConfigManagedSharedConnectable));
425
426 // User login and certificate loading shouldn't trigger any change until the
427 // policy is loaded.
428 LoginToRegularUser();
429 StartCertLoader();
430 EXPECT_EQ(shill::kStateOnline, GetServiceState("wifi0"));
431 EXPECT_EQ(shill::kStateIdle, GetServiceState("wifi1"));
432
433 base::DictionaryValue global_config;
434 global_config.SetBooleanWithoutPathExpansion(
435 ::onc::global_network_config::kAllowOnlyPolicyNetworksToConnect, true);
436
437 // Applying the policy which restricts autoconnect should disconnect from the
438 // shared, unmanaged network.
439 // Because no best service is set, the fake implementation of
440 // ConnectToBestServices will be a no-op.
441 SetupPolicy(kPolicy, global_config, false /* load as device policy */);
442
443 // Should not trigger any change until user policy is loaded
444 EXPECT_EQ(shill::kStateOnline, GetServiceState("wifi0"));
445 EXPECT_EQ(shill::kStateIdle, GetServiceState("wifi1"));
446
447 SetupPolicy(std::string(), base::DictionaryValue(), true);
448 EXPECT_EQ(shill::kStateIdle, GetServiceState("wifi0"));
449 EXPECT_EQ(shill::kStateIdle, GetServiceState("wifi1"));
450 }
451
421 // After login a reconnect is triggered even if there is no managed network. 452 // After login a reconnect is triggered even if there is no managed network.
422 TEST_F(AutoConnectHandlerTest, ReconnectAfterLogin) { 453 TEST_F(AutoConnectHandlerTest, ReconnectAfterLogin) {
423 EXPECT_TRUE(Configure(kConfigUnmanagedSharedConnected)); 454 EXPECT_TRUE(Configure(kConfigUnmanagedSharedConnected));
424 EXPECT_TRUE(Configure(kConfigManagedSharedConnectable)); 455 EXPECT_TRUE(Configure(kConfigManagedSharedConnectable));
425 test_manager_client_->SetBestServiceToConnect("wifi1"); 456 test_manager_client_->SetBestServiceToConnect("wifi1");
426 457
427 // User login and certificate loading shouldn't trigger any change until the 458 // User login and certificate loading shouldn't trigger any change until the
428 // policy is loaded. 459 // policy is loaded.
429 LoginToRegularUser(); 460 LoginToRegularUser();
430 StartCertLoader(); 461 StartCertLoader();
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 // Applying the user policy after login would usually trigger connecting to 502 // Applying the user policy after login would usually trigger connecting to
472 // the 'best' network. But the manual connect prevents this. 503 // the 'best' network. But the manual connect prevents this.
473 SetupPolicy(std::string(), // no network configs 504 SetupPolicy(std::string(), // no network configs
474 base::DictionaryValue(), // no global config 505 base::DictionaryValue(), // no global config
475 true); // load as user policy 506 true); // load as user policy
476 EXPECT_EQ(shill::kStateOnline, GetServiceState("wifi0")); 507 EXPECT_EQ(shill::kStateOnline, GetServiceState("wifi0"));
477 EXPECT_EQ(shill::kStateIdle, GetServiceState("wifi1")); 508 EXPECT_EQ(shill::kStateIdle, GetServiceState("wifi1"));
478 } 509 }
479 510
480 } // namespace chromeos 511 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/network/auto_connect_handler.cc ('k') | chromeos/network/network_connection_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698