Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 "chrome/browser/chromeos/login/users/multi_profile_user_controller.h" | 5 #include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| 11 #include "base/macros.h" | 11 #include "base/macros.h" |
| 12 #include "base/run_loop.h" | 12 #include "base/run_loop.h" |
| 13 #include "base/strings/utf_string_conversions.h" | 13 #include "base/strings/utf_string_conversions.h" |
| 14 #include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h" | 14 #include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h" |
| 15 #include "chrome/browser/chromeos/login/users/multi_profile_user_controller_dele gate.h" | 15 #include "chrome/browser/chromeos/login/users/multi_profile_user_controller_dele gate.h" |
| 16 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h" | 16 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h" |
| 17 #include "chrome/browser/chromeos/policy/policy_cert_service.h" | 17 #include "chrome/browser/chromeos/policy/policy_cert_service.h" |
| 18 #include "chrome/browser/chromeos/policy/policy_cert_service_factory.h" | 18 #include "chrome/browser/chromeos/policy/policy_cert_service_factory.h" |
| 19 #include "chrome/browser/chromeos/policy/policy_cert_verifier.h" | 19 #include "chrome/browser/chromeos/policy/policy_cert_verifier.h" |
| 20 #include "chrome/browser/chromeos/profiles/profile_helper.h" | 20 #include "chrome/browser/chromeos/profiles/profile_helper.h" |
| 21 #include "chrome/browser/prefs/browser_prefs.h" | 21 #include "chrome/browser/prefs/browser_prefs.h" |
| 22 #include "chrome/common/pref_names.h" | 22 #include "chrome/common/pref_names.h" |
| 23 #include "chrome/test/base/scoped_testing_local_state.h" | 23 #include "chrome/test/base/scoped_testing_local_state.h" |
| 24 #include "chrome/test/base/testing_browser_process.h" | 24 #include "chrome/test/base/testing_browser_process.h" |
| 25 #include "chrome/test/base/testing_profile.h" | 25 #include "chrome/test/base/testing_profile.h" |
| 26 #include "chrome/test/base/testing_profile_manager.h" | 26 #include "chrome/test/base/testing_profile_manager.h" |
| 27 #include "components/syncable_prefs/testing_pref_service_syncable.h" | 27 #include "components/syncable_prefs/testing_pref_service_syncable.h" |
| 28 #include "components/user_manager/user_manager.h" | 28 #include "components/user_manager/user_manager.h" |
| 29 #include "content/public/test/test_browser_thread_bundle.h" | 29 #include "content/public/test/test_browser_thread_bundle.h" |
| 30 #include "net/base/test_data_directory.h" | |
| 30 #include "net/cert/x509_certificate.h" | 31 #include "net/cert/x509_certificate.h" |
| 32 #include "net/test/cert_test_util.h" | |
| 31 #include "testing/gtest/include/gtest/gtest.h" | 33 #include "testing/gtest/include/gtest/gtest.h" |
| 32 | 34 |
| 33 namespace chromeos { | 35 namespace chromeos { |
| 34 | 36 |
| 35 namespace { | 37 namespace { |
| 36 | 38 |
| 37 const char* const kUsers[] = {"a@gmail.com", "b@gmail.com" }; | 39 const char* const kUsers[] = {"a@gmail.com", "b@gmail.com" }; |
| 38 | 40 |
| 39 struct BehaviorTestCase { | 41 struct BehaviorTestCase { |
| 40 const char* primary; | 42 const char* primary; |
| (...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 432 | 434 |
| 433 EXPECT_FALSE(service->has_policy_certificates()); | 435 EXPECT_FALSE(service->has_policy_certificates()); |
| 434 MultiProfileUserController::UserAllowedInSessionReason reason; | 436 MultiProfileUserController::UserAllowedInSessionReason reason; |
| 435 EXPECT_TRUE(controller()->IsUserAllowedInSession( | 437 EXPECT_TRUE(controller()->IsUserAllowedInSession( |
| 436 test_users_[1].GetUserEmail(), &reason)); | 438 test_users_[1].GetUserEmail(), &reason)); |
| 437 EXPECT_EQ(MultiProfileUserController::ALLOWED, reason); | 439 EXPECT_EQ(MultiProfileUserController::ALLOWED, reason); |
| 438 EXPECT_EQ(MultiProfileUserController::ALLOWED, | 440 EXPECT_EQ(MultiProfileUserController::ALLOWED, |
| 439 MultiProfileUserController::GetPrimaryUserPolicy()); | 441 MultiProfileUserController::GetPrimaryUserPolicy()); |
| 440 | 442 |
| 441 net::CertificateList certificates; | 443 net::CertificateList certificates; |
| 442 certificates.push_back(new net::X509Certificate( | 444 certificates.push_back( |
| 443 "subject", "issuer", base::Time(), base::Time())); | 445 net::ImportCertFromFile(net::GetTestCertsDirectory(), "ok_cert.pem")); |
|
Nico
2016/06/22 14:12:11
(is there a bug somewhere for making CertificateLi
Ryan Sleevi
2016/06/22 15:22:26
CertificateList takes scoped_refptr<>s
| |
| 444 service->OnTrustAnchorsChanged(certificates); | 446 service->OnTrustAnchorsChanged(certificates); |
| 445 EXPECT_TRUE(service->has_policy_certificates()); | 447 EXPECT_TRUE(service->has_policy_certificates()); |
| 446 EXPECT_FALSE(controller()->IsUserAllowedInSession( | 448 EXPECT_FALSE(controller()->IsUserAllowedInSession( |
| 447 test_users_[1].GetUserEmail(), &reason)); | 449 test_users_[1].GetUserEmail(), &reason)); |
| 448 EXPECT_EQ(MultiProfileUserController::NOT_ALLOWED_PRIMARY_POLICY_CERT_TAINTED, | 450 EXPECT_EQ(MultiProfileUserController::NOT_ALLOWED_PRIMARY_POLICY_CERT_TAINTED, |
| 449 reason); | 451 reason); |
| 450 EXPECT_EQ(MultiProfileUserController::NOT_ALLOWED_PRIMARY_POLICY_CERT_TAINTED, | 452 EXPECT_EQ(MultiProfileUserController::NOT_ALLOWED_PRIMARY_POLICY_CERT_TAINTED, |
| 451 MultiProfileUserController::GetPrimaryUserPolicy()); | 453 MultiProfileUserController::GetPrimaryUserPolicy()); |
| 452 | 454 |
| 453 // Flush tasks posted to IO. | 455 // Flush tasks posted to IO. |
| 454 base::RunLoop().RunUntilIdle(); | 456 base::RunLoop().RunUntilIdle(); |
| 455 } | 457 } |
| 456 | 458 |
| 457 } // namespace chromeos | 459 } // namespace chromeos |
| OLD | NEW |