Index: chrome/browser/policy/network_configuration_updater_unittest.cc |
diff --git a/chrome/browser/policy/network_configuration_updater_unittest.cc b/chrome/browser/policy/network_configuration_updater_unittest.cc |
deleted file mode 100644 |
index b58b60378faa7fffd3b178995063b4768046dd89..0000000000000000000000000000000000000000 |
--- a/chrome/browser/policy/network_configuration_updater_unittest.cc |
+++ /dev/null |
@@ -1,187 +0,0 @@ |
-// Copyright (c) 2012 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 "chrome/browser/policy/network_configuration_updater.h" |
- |
-#include "base/memory/scoped_ptr.h" |
-#include "base/message_loop.h" |
-#include "base/run_loop.h" |
-#include "chrome/browser/chromeos/cros/mock_network_library.h" |
-#include "chrome/browser/policy/mock_configuration_policy_provider.h" |
-#include "chrome/browser/policy/policy_map.h" |
-#include "chrome/browser/policy/policy_service_impl.h" |
-#include "chromeos/network/onc/onc_constants.h" |
-#include "chromeos/network/onc/onc_utils.h" |
-#include "policy/policy_constants.h" |
-#include "testing/gmock/include/gmock/gmock.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-using testing::AtLeast; |
-using testing::Mock; |
-using testing::Ne; |
-using testing::Return; |
-using testing::_; |
- |
-namespace policy { |
- |
-static const char kFakeONC[] = "{ \"GUID\": \"1234\" }"; |
- |
-class NetworkConfigurationUpdaterTest |
- : public testing::TestWithParam<const char*>{ |
- protected: |
- virtual void SetUp() OVERRIDE { |
- EXPECT_CALL(provider_, IsInitializationComplete(_)) |
- .WillRepeatedly(Return(true)); |
- provider_.Init(); |
- PolicyServiceImpl::Providers providers; |
- providers.push_back(&provider_); |
- policy_service_.reset(new PolicyServiceImpl(providers)); |
- } |
- |
- virtual void TearDown() OVERRIDE { |
- provider_.Shutdown(); |
- } |
- |
- void UpdateProviderPolicy(const PolicyMap& policy) { |
- provider_.UpdateChromePolicy(policy); |
- base::RunLoop loop; |
- loop.RunUntilIdle(); |
- } |
- |
- // Maps configuration policy name to corresponding ONC source. |
- static chromeos::onc::ONCSource NameToONCSource( |
- const std::string& name) { |
- if (name == key::kDeviceOpenNetworkConfiguration) |
- return chromeos::onc::ONC_SOURCE_DEVICE_POLICY; |
- if (name == key::kOpenNetworkConfiguration) |
- return chromeos::onc::ONC_SOURCE_USER_POLICY; |
- return chromeos::onc::ONC_SOURCE_NONE; |
- } |
- |
- chromeos::MockNetworkLibrary network_library_; |
- MockConfigurationPolicyProvider provider_; |
- scoped_ptr<PolicyServiceImpl> policy_service_; |
- MessageLoop loop_; |
-}; |
- |
-TEST_P(NetworkConfigurationUpdaterTest, InitialUpdates) { |
- PolicyMap policy; |
- policy.Set(GetParam(), POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
- Value::CreateStringValue(kFakeONC)); |
- UpdateProviderPolicy(policy); |
- |
- EXPECT_CALL(network_library_, AddNetworkProfileObserver(_)); |
- |
- // Initially, only the device policy is applied. The user policy is only |
- // applied after the user profile was initialized. |
- const char* device_onc = GetParam() == key::kDeviceOpenNetworkConfiguration ? |
- kFakeONC : chromeos::onc::kEmptyUnencryptedConfiguration; |
- EXPECT_CALL(network_library_, LoadOncNetworks( |
- device_onc, "", chromeos::onc::ONC_SOURCE_DEVICE_POLICY, _)); |
- |
- { |
- NetworkConfigurationUpdater updater(policy_service_.get(), |
- &network_library_); |
- Mock::VerifyAndClearExpectations(&network_library_); |
- |
- // After the user policy is initialized, we always push both policies to the |
- // NetworkLibrary. |
- EXPECT_CALL(network_library_, LoadOncNetworks( |
- kFakeONC, "", NameToONCSource(GetParam()), _)); |
- EXPECT_CALL(network_library_, LoadOncNetworks( |
- chromeos::onc::kEmptyUnencryptedConfiguration, |
- "", |
- Ne(NameToONCSource(GetParam())), |
- _)); |
- |
- EXPECT_CALL(network_library_, RemoveNetworkProfileObserver(_)); |
- |
- updater.OnUserPolicyInitialized(); |
- } |
- Mock::VerifyAndClearExpectations(&network_library_); |
-} |
- |
-TEST_P(NetworkConfigurationUpdaterTest, AllowWebTrust) { |
- { |
- EXPECT_CALL(network_library_, AddNetworkProfileObserver(_)); |
- |
- // Initially web trust is disabled. |
- EXPECT_CALL(network_library_, LoadOncNetworks(_, _, _, false)) |
- .Times(AtLeast(0)); |
- NetworkConfigurationUpdater updater(policy_service_.get(), |
- &network_library_); |
- updater.OnUserPolicyInitialized(); |
- Mock::VerifyAndClearExpectations(&network_library_); |
- |
- // Web trust should be forwarded to LoadOncNetworks. |
- EXPECT_CALL(network_library_, LoadOncNetworks(_, _, _, true)) |
- .Times(AtLeast(0)); |
- |
- updater.set_allow_web_trust(true); |
- |
- PolicyMap policy; |
- policy.Set(GetParam(), POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
- Value::CreateStringValue(kFakeONC)); |
- UpdateProviderPolicy(policy); |
- Mock::VerifyAndClearExpectations(&network_library_); |
- |
- EXPECT_CALL(network_library_, RemoveNetworkProfileObserver(_)); |
- } |
- Mock::VerifyAndClearExpectations(&network_library_); |
-} |
- |
-TEST_P(NetworkConfigurationUpdaterTest, PolicyChange) { |
- { |
- EXPECT_CALL(network_library_, AddNetworkProfileObserver(_)); |
- |
- // Ignore the initial updates. |
- EXPECT_CALL(network_library_, LoadOncNetworks(_, _, _, _)) |
- .Times(AtLeast(0)); |
- NetworkConfigurationUpdater updater(policy_service_.get(), |
- &network_library_); |
- updater.OnUserPolicyInitialized(); |
- Mock::VerifyAndClearExpectations(&network_library_); |
- |
- // We should update if policy changes. |
- EXPECT_CALL(network_library_, LoadOncNetworks( |
- kFakeONC, "", NameToONCSource(GetParam()), _)); |
- |
- // In the current implementation, we always apply both policies. |
- EXPECT_CALL(network_library_, LoadOncNetworks( |
- chromeos::onc::kEmptyUnencryptedConfiguration, |
- "", |
- Ne(NameToONCSource(GetParam())), |
- _)); |
- |
- PolicyMap policy; |
- policy.Set(GetParam(), POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
- Value::CreateStringValue(kFakeONC)); |
- UpdateProviderPolicy(policy); |
- Mock::VerifyAndClearExpectations(&network_library_); |
- |
- // Another update is expected if the policy goes away. In the current |
- // implementation, we always apply both policies. |
- EXPECT_CALL(network_library_, LoadOncNetworks( |
- chromeos::onc::kEmptyUnencryptedConfiguration, "", |
- chromeos::onc::ONC_SOURCE_DEVICE_POLICY, _)); |
- |
- EXPECT_CALL(network_library_, LoadOncNetworks( |
- chromeos::onc::kEmptyUnencryptedConfiguration, "", |
- chromeos::onc::ONC_SOURCE_USER_POLICY, _)); |
- |
- EXPECT_CALL(network_library_, RemoveNetworkProfileObserver(_)); |
- |
- policy.Erase(GetParam()); |
- UpdateProviderPolicy(policy); |
- } |
- Mock::VerifyAndClearExpectations(&network_library_); |
-} |
- |
-INSTANTIATE_TEST_CASE_P( |
- NetworkConfigurationUpdaterTestInstance, |
- NetworkConfigurationUpdaterTest, |
- testing::Values(key::kDeviceOpenNetworkConfiguration, |
- key::kOpenNetworkConfiguration)); |
- |
-} // namespace policy |