OLD | NEW |
---|---|
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/policy/cloud_policy_controller.h" | 5 #include "chrome/browser/policy/cloud_policy_controller.h" |
6 | 6 |
7 #include "base/message_loop.h" | 7 #include "base/message_loop.h" |
8 #include "base/scoped_temp_dir.h" | 8 #include "base/scoped_temp_dir.h" |
9 #include "chrome/browser/policy/cloud_policy_provider_impl.h" | |
10 #include "chrome/browser/policy/configuration_policy_pref_store.h" | |
9 #include "chrome/browser/policy/device_management_service.h" | 11 #include "chrome/browser/policy/device_management_service.h" |
10 #include "chrome/browser/policy/device_token_fetcher.h" | 12 #include "chrome/browser/policy/device_token_fetcher.h" |
11 #include "chrome/browser/policy/logging_work_scheduler.h" | 13 #include "chrome/browser/policy/logging_work_scheduler.h" |
12 #include "chrome/browser/policy/mock_configuration_policy_store.h" | 14 #include "chrome/browser/policy/mock_configuration_policy_store.h" |
13 #include "chrome/browser/policy/mock_device_management_backend.h" | 15 #include "chrome/browser/policy/mock_device_management_backend.h" |
14 #include "chrome/browser/policy/mock_device_management_service.h" | 16 #include "chrome/browser/policy/mock_device_management_service.h" |
15 #include "chrome/browser/policy/policy_notifier.h" | 17 #include "chrome/browser/policy/policy_notifier.h" |
16 #include "chrome/browser/policy/proto/device_management_backend.pb.h" | 18 #include "chrome/browser/policy/proto/device_management_backend.pb.h" |
17 #include "chrome/browser/policy/user_policy_cache.h" | 19 #include "chrome/browser/policy/user_policy_cache.h" |
18 #include "content/browser/browser_thread.h" | 20 #include "content/browser/browser_thread.h" |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
79 CloudPolicyControllerTest() | 81 CloudPolicyControllerTest() |
80 : ui_thread_(BrowserThread::UI, &loop_), | 82 : ui_thread_(BrowserThread::UI, &loop_), |
81 file_thread_(BrowserThread::FILE, &loop_) {} | 83 file_thread_(BrowserThread::FILE, &loop_) {} |
82 | 84 |
83 virtual ~CloudPolicyControllerTest() {} | 85 virtual ~CloudPolicyControllerTest() {} |
84 | 86 |
85 virtual void SetUp() { | 87 virtual void SetUp() { |
86 ASSERT_TRUE(temp_user_data_dir_.CreateUniqueTempDir()); | 88 ASSERT_TRUE(temp_user_data_dir_.CreateUniqueTempDir()); |
87 cache_.reset(new UserPolicyCache( | 89 cache_.reset(new UserPolicyCache( |
88 temp_user_data_dir_.path().AppendASCII("CloudPolicyControllerTest"))); | 90 temp_user_data_dir_.path().AppendASCII("CloudPolicyControllerTest"))); |
91 mandatory_cloud_provider_.reset(new CloudPolicyProviderImpl( | |
92 policy::ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList(), | |
93 CloudPolicyCacheBase::POLICY_LEVEL_MANDATORY)); | |
94 recommended_cloud_provider_.reset(new CloudPolicyProviderImpl( | |
95 policy::ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList(), | |
96 CloudPolicyCacheBase::POLICY_LEVEL_RECOMMENDED)); | |
97 mandatory_cloud_provider_->AppendCache(cache_.get()); | |
98 recommended_cloud_provider_->AppendCache(cache_.get()); | |
Mattias Nissler (ping if slow)
2011/06/21 20:09:56
As mentioned earlier, I think we should just remov
gfeher
2011/06/22 19:18:34
Done.
| |
89 token_fetcher_.reset(new MockDeviceTokenFetcher(cache_.get())); | 99 token_fetcher_.reset(new MockDeviceTokenFetcher(cache_.get())); |
90 service_.set_backend(&backend_); | 100 service_.set_backend(&backend_); |
91 } | 101 } |
92 | 102 |
93 virtual void TearDown() { | 103 virtual void TearDown() { |
94 controller_.reset(); // Unregisters observers. | 104 controller_.reset(); // Unregisters observers. |
95 } | 105 } |
96 | 106 |
97 // Takes ownership of |backend|. | 107 // Takes ownership of |backend|. |
98 void CreateNewController() { | 108 void CreateNewController() { |
99 controller_.reset(new CloudPolicyController( | 109 controller_.reset(new CloudPolicyController( |
100 &service_, cache_.get(), token_fetcher_.get(), &identity_strategy_, | 110 &service_, cache_.get(), token_fetcher_.get(), &identity_strategy_, |
101 ¬ifier_, new DummyWorkScheduler)); | 111 ¬ifier_, new DummyWorkScheduler)); |
102 } | 112 } |
103 | 113 |
104 void ExpectHasSpdyPolicy() { | 114 void ExpectHasSpdyPolicy() { |
105 MockConfigurationPolicyStore store; | 115 MockConfigurationPolicyStore store; |
106 EXPECT_CALL(store, Apply(_, _)).Times(AtLeast(1)); | 116 EXPECT_CALL(store, Apply(_, _)).Times(AtLeast(1)); |
107 cache_->GetManagedPolicyProvider()->Provide(&store); | 117 mandatory_cloud_provider_.get()->Provide(&store); |
108 FundamentalValue expected(true); | 118 FundamentalValue expected(true); |
109 ASSERT_TRUE(store.Get(kPolicyDisableSpdy) != NULL); | 119 const PolicyMap* policy_map = cache_->policy( |
110 EXPECT_TRUE(store.Get(kPolicyDisableSpdy)->Equals(&expected)); | 120 CloudPolicyCacheBase::POLICY_LEVEL_MANDATORY); |
121 ASSERT_TRUE(policy_map->Get(kPolicyDisableSpdy)); | |
122 EXPECT_TRUE(policy_map->Get(kPolicyDisableSpdy)->Equals(&expected)); | |
111 } | 123 } |
112 | 124 |
113 void SetupIdentityStrategy( | 125 void SetupIdentityStrategy( |
114 const std::string& device_token, | 126 const std::string& device_token, |
115 const std::string& device_id, | 127 const std::string& device_id, |
116 const std::string& machine_id, | 128 const std::string& machine_id, |
117 const std::string& machine_model, | 129 const std::string& machine_model, |
118 const std::string& policy_type, | 130 const std::string& policy_type, |
119 const em::DeviceRegisterRequest_Type& policy_register_type, | 131 const em::DeviceRegisterRequest_Type& policy_register_type, |
120 const std::string& user_name, | 132 const std::string& user_name, |
(...skipping 15 matching lines...) Expand all Loading... | |
136 MockCloudPolicyIdentityStrategyGetCredentials(user_name, auth_token)); | 148 MockCloudPolicyIdentityStrategyGetCredentials(user_name, auth_token)); |
137 } | 149 } |
138 } | 150 } |
139 | 151 |
140 void StopMessageLoop() { | 152 void StopMessageLoop() { |
141 loop_.QuitNow(); | 153 loop_.QuitNow(); |
142 } | 154 } |
143 | 155 |
144 protected: | 156 protected: |
145 scoped_ptr<CloudPolicyCacheBase> cache_; | 157 scoped_ptr<CloudPolicyCacheBase> cache_; |
158 scoped_ptr<CloudPolicyProvider> recommended_cloud_provider_; | |
159 scoped_ptr<CloudPolicyProvider> mandatory_cloud_provider_; | |
146 scoped_ptr<CloudPolicyController> controller_; | 160 scoped_ptr<CloudPolicyController> controller_; |
147 scoped_ptr<MockDeviceTokenFetcher> token_fetcher_; | 161 scoped_ptr<MockDeviceTokenFetcher> token_fetcher_; |
148 MockCloudPolicyIdentityStrategy identity_strategy_; | 162 MockCloudPolicyIdentityStrategy identity_strategy_; |
149 MockDeviceManagementBackend backend_; | 163 MockDeviceManagementBackend backend_; |
150 MockDeviceManagementService service_; | 164 MockDeviceManagementService service_; |
151 PolicyNotifier notifier_; | 165 PolicyNotifier notifier_; |
152 ScopedTempDir temp_user_data_dir_; | 166 ScopedTempDir temp_user_data_dir_; |
153 MessageLoop loop_; | 167 MessageLoop loop_; |
154 | 168 |
155 private: | 169 private: |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
277 "who@what.com", "auth"); | 291 "who@what.com", "auth"); |
278 EXPECT_CALL(backend_, ProcessPolicyRequest(_, _, _, _)).WillOnce( | 292 EXPECT_CALL(backend_, ProcessPolicyRequest(_, _, _, _)).WillOnce( |
279 MockDeviceManagementBackendFailPolicy( | 293 MockDeviceManagementBackendFailPolicy( |
280 DeviceManagementBackend::kErrorServiceManagementNotSupported)); | 294 DeviceManagementBackend::kErrorServiceManagementNotSupported)); |
281 EXPECT_CALL(*token_fetcher_.get(), SetUnmanagedState()).Times(1); | 295 EXPECT_CALL(*token_fetcher_.get(), SetUnmanagedState()).Times(1); |
282 CreateNewController(); | 296 CreateNewController(); |
283 loop_.RunAllPending(); | 297 loop_.RunAllPending(); |
284 } | 298 } |
285 | 299 |
286 } // namespace policy | 300 } // namespace policy |
OLD | NEW |