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

Side by Side Diff: chrome/browser/chromeos/policy/network_configuration_updater_unittest.cc

Issue 24153012: Fix cyclic dependency between ProfilePolicyConnector and PrefService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Use callback_list in PolicyCertVerifier. Created 7 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 5
6 #include "base/callback.h" 6 #include "base/callback.h"
7 #include "base/files/file_path.h" 7 #include "base/files/file_path.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/run_loop.h" 9 #include "base/run_loop.h"
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 SetPolicy(onc::ONC_SOURCE_USER_POLICY, _, _)); 239 SetPolicy(onc::ONC_SOURCE_USER_POLICY, _, _));
240 EXPECT_CALL(*certificate_importer_, ImportCertificates(_, _, _)) 240 EXPECT_CALL(*certificate_importer_, ImportCertificates(_, _, _))
241 .WillRepeatedly(SetCertificateList(cert_list)); 241 .WillRepeatedly(SetCertificateList(cert_list));
242 242
243 UserNetworkConfigurationUpdater* updater = 243 UserNetworkConfigurationUpdater* updater =
244 CreateNetworkConfigurationUpdaterForUserPolicy( 244 CreateNetworkConfigurationUpdaterForUserPolicy(
245 false /* do not allow trusted certs from policy */); 245 false /* do not allow trusted certs from policy */);
246 246
247 // Certificates with the "Web" trust flag set should not be forwarded to the 247 // Certificates with the "Web" trust flag set should not be forwarded to the
248 // trust provider. 248 // trust provider.
249 policy::PolicyCertVerifier cert_verifier(( 249 policy::PolicyCertVerifier cert_verifier;
250 base::Closure() /* no policy cert trusted callback */));
251 updater->SetPolicyCertVerifier(&cert_verifier); 250 updater->SetPolicyCertVerifier(&cert_verifier);
252 base::RunLoop().RunUntilIdle(); 251 base::RunLoop().RunUntilIdle();
253 EXPECT_TRUE(cert_verifier.GetAdditionalTrustAnchors().empty()); 252 EXPECT_TRUE(cert_verifier.GetAdditionalTrustAnchors().empty());
254 253
255 // |cert_verifier| must outlive the updater. 254 // |cert_verifier| must outlive the updater.
256 network_configuration_updater_.reset(); 255 network_configuration_updater_.reset();
256 cert_verifier.ShutdownOnUIThread();
257 } 257 }
258 258
259 TEST_F(NetworkConfigurationUpdaterTest, AllowTrustedCertificatesFromPolicy) { 259 TEST_F(NetworkConfigurationUpdaterTest, AllowTrustedCertificatesFromPolicy) {
260 net::CertificateList cert_list; 260 net::CertificateList cert_list;
261 cert_list = 261 cert_list =
262 net::CreateCertificateListFromFile(net::GetTestCertsDirectory(), 262 net::CreateCertificateListFromFile(net::GetTestCertsDirectory(),
263 "ok_cert.pem", 263 "ok_cert.pem",
264 net::X509Certificate::FORMAT_AUTO); 264 net::X509Certificate::FORMAT_AUTO);
265 ASSERT_EQ(1u, cert_list.size()); 265 ASSERT_EQ(1u, cert_list.size());
266 266
267 EXPECT_CALL(network_config_handler_, 267 EXPECT_CALL(network_config_handler_,
268 SetPolicy(onc::ONC_SOURCE_USER_POLICY, _, _)); 268 SetPolicy(onc::ONC_SOURCE_USER_POLICY, _, _));
269 EXPECT_CALL(*certificate_importer_, 269 EXPECT_CALL(*certificate_importer_,
270 ImportCertificates(_, onc::ONC_SOURCE_USER_POLICY, _)) 270 ImportCertificates(_, onc::ONC_SOURCE_USER_POLICY, _))
271 .WillRepeatedly(SetCertificateList(cert_list)); 271 .WillRepeatedly(SetCertificateList(cert_list));
272 272
273 UserNetworkConfigurationUpdater* updater = 273 UserNetworkConfigurationUpdater* updater =
274 CreateNetworkConfigurationUpdaterForUserPolicy( 274 CreateNetworkConfigurationUpdaterForUserPolicy(
275 true /* allow trusted certs from policy */); 275 true /* allow trusted certs from policy */);
276 276
277 // Certificates with the "Web" trust flag set should be forwarded to the 277 // Certificates with the "Web" trust flag set should be forwarded to the
278 // trust provider. 278 // trust provider.
279 policy::PolicyCertVerifier cert_verifier(( 279 policy::PolicyCertVerifier cert_verifier;
280 base::Closure() /* no policy cert trusted callback */));
281 updater->SetPolicyCertVerifier(&cert_verifier); 280 updater->SetPolicyCertVerifier(&cert_verifier);
282 base::RunLoop().RunUntilIdle(); 281 base::RunLoop().RunUntilIdle();
283 EXPECT_EQ(1u, cert_verifier.GetAdditionalTrustAnchors().size()); 282 EXPECT_EQ(1u, cert_verifier.GetAdditionalTrustAnchors().size());
284 283
285 // |cert_verifier| must outlive the updater. 284 // |cert_verifier| must outlive the updater.
286 network_configuration_updater_.reset(); 285 network_configuration_updater_.reset();
286 cert_verifier.ShutdownOnUIThread();
287 } 287 }
288 288
289 class NetworkConfigurationUpdaterTestWithParam 289 class NetworkConfigurationUpdaterTestWithParam
290 : public NetworkConfigurationUpdaterTest, 290 : public NetworkConfigurationUpdaterTest,
291 public testing::WithParamInterface<const char*> { 291 public testing::WithParamInterface<const char*> {
292 protected: 292 protected:
293 // Returns the currently tested ONC source. 293 // Returns the currently tested ONC source.
294 onc::ONCSource CurrentONCSource() { 294 onc::ONCSource CurrentONCSource() {
295 if (GetParam() == key::kOpenNetworkConfiguration) 295 if (GetParam() == key::kOpenNetworkConfiguration)
296 return onc::ONC_SOURCE_USER_POLICY; 296 return onc::ONC_SOURCE_USER_POLICY;
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 policy.Erase(GetParam()); 370 policy.Erase(GetParam());
371 UpdateProviderPolicy(policy); 371 UpdateProviderPolicy(policy);
372 } 372 }
373 373
374 INSTANTIATE_TEST_CASE_P(NetworkConfigurationUpdaterTestWithParamInstance, 374 INSTANTIATE_TEST_CASE_P(NetworkConfigurationUpdaterTestWithParamInstance,
375 NetworkConfigurationUpdaterTestWithParam, 375 NetworkConfigurationUpdaterTestWithParam,
376 testing::Values(key::kDeviceOpenNetworkConfiguration, 376 testing::Values(key::kDeviceOpenNetworkConfiguration,
377 key::kOpenNetworkConfiguration)); 377 key::kOpenNetworkConfiguration));
378 378
379 } // namespace policy 379 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698