| Index: chrome/browser/ui/ash/session_controller_client_unittest.cc
|
| diff --git a/chrome/browser/ui/ash/session_state_delegate_chromeos_unittest.cc b/chrome/browser/ui/ash/session_controller_client_unittest.cc
|
| similarity index 73%
|
| rename from chrome/browser/ui/ash/session_state_delegate_chromeos_unittest.cc
|
| rename to chrome/browser/ui/ash/session_controller_client_unittest.cc
|
| index 3b6abfe15c2ca3037c7c318ed5059d5e84cc40f5..661034316ebb325e70607e8b50250f13ec14ac2b 100644
|
| --- a/chrome/browser/ui/ash/session_state_delegate_chromeos_unittest.cc
|
| +++ b/chrome/browser/ui/ash/session_controller_client_unittest.cc
|
| @@ -2,7 +2,7 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "chrome/browser/ui/ash/session_state_delegate_chromeos.h"
|
| +#include "chrome/browser/ui/ash/session_controller_client.h"
|
|
|
| #include <memory>
|
| #include <string>
|
| @@ -28,7 +28,7 @@
|
| #include "net/test/test_data_directory.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| -namespace chromeos {
|
| +using chromeos::FakeChromeUserManager;
|
|
|
| namespace {
|
|
|
| @@ -36,7 +36,7 @@ const char* kUser = "user@test.com";
|
|
|
| // Weak ptr to PolicyCertVerifier - object is freed in test destructor once
|
| // we've ensured the profile has been shut down.
|
| -policy::PolicyCertVerifier* g_policy_cert_verifier_for_factory = NULL;
|
| +policy::PolicyCertVerifier* g_policy_cert_verifier_for_factory = nullptr;
|
|
|
| std::unique_ptr<KeyedService> CreateTestPolicyCertService(
|
| content::BrowserContext* context) {
|
| @@ -47,12 +47,10 @@ std::unique_ptr<KeyedService> CreateTestPolicyCertService(
|
|
|
| } // namespace
|
|
|
| -class SessionStateDelegateChromeOSTest : public testing::Test {
|
| +class SessionControllerClientTest : public testing::Test {
|
| protected:
|
| - SessionStateDelegateChromeOSTest() : user_manager_(NULL) {
|
| - }
|
| -
|
| - ~SessionStateDelegateChromeOSTest() override {}
|
| + SessionControllerClientTest() {}
|
| + ~SessionControllerClientTest() override {}
|
|
|
| void SetUp() override {
|
| // Initialize the UserManager singleton to a fresh FakeChromeUserManager
|
| @@ -61,18 +59,15 @@ class SessionStateDelegateChromeOSTest : public testing::Test {
|
| user_manager_enabler_.reset(
|
| new chromeos::ScopedUserManagerEnabler(user_manager_));
|
|
|
| - // Create our SessionStateDelegate to experiment with.
|
| - session_state_delegate_.reset(new SessionStateDelegateChromeos());
|
| testing::Test::SetUp();
|
| }
|
|
|
| void TearDown() override {
|
| testing::Test::TearDown();
|
| - session_state_delegate_.reset();
|
| user_manager_enabler_.reset();
|
| - user_manager_ = NULL;
|
| + user_manager_ = nullptr;
|
| // Clear our cached pointer to the PolicyCertVerifier.
|
| - g_policy_cert_verifier_for_factory = NULL;
|
| + g_policy_cert_verifier_for_factory = nullptr;
|
| profile_manager_.reset();
|
|
|
| // We must ensure that the PolicyCertVerifier outlives the
|
| @@ -99,9 +94,6 @@ class SessionStateDelegateChromeOSTest : public testing::Test {
|
| }
|
|
|
| FakeChromeUserManager* user_manager() { return user_manager_; }
|
| - SessionStateDelegateChromeos* session_state_delegate() {
|
| - return session_state_delegate_.get();
|
| - }
|
|
|
| void InitForMultiProfile() {
|
| profile_manager_.reset(
|
| @@ -126,27 +118,26 @@ class SessionStateDelegateChromeOSTest : public testing::Test {
|
|
|
| private:
|
| std::unique_ptr<chromeos::ScopedUserManagerEnabler> user_manager_enabler_;
|
| - std::unique_ptr<SessionStateDelegateChromeos> session_state_delegate_;
|
|
|
| - // Not owned.
|
| - FakeChromeUserManager* user_manager_;
|
| + // Owned by |user_manager_enabler_|.
|
| + FakeChromeUserManager* user_manager_ = nullptr;
|
|
|
| - DISALLOW_COPY_AND_ASSIGN(SessionStateDelegateChromeOSTest);
|
| + DISALLOW_COPY_AND_ASSIGN(SessionControllerClientTest);
|
| };
|
|
|
| // Make sure that cycling one user does not cause any harm.
|
| -TEST_F(SessionStateDelegateChromeOSTest, CyclingOneUser) {
|
| +TEST_F(SessionControllerClientTest, CyclingOneUser) {
|
| UserAddedToSession("firstuser@test.com");
|
|
|
| EXPECT_EQ("firstuser@test.com", GetActiveUserEmail());
|
| - session_state_delegate()->CycleActiveUser(ash::CycleUserDirection::NEXT);
|
| + SessionControllerClient::DoCycleActiveUser(ash::CycleUserDirection::NEXT);
|
| EXPECT_EQ("firstuser@test.com", GetActiveUserEmail());
|
| - session_state_delegate()->CycleActiveUser(ash::CycleUserDirection::PREVIOUS);
|
| + SessionControllerClient::DoCycleActiveUser(ash::CycleUserDirection::PREVIOUS);
|
| EXPECT_EQ("firstuser@test.com", GetActiveUserEmail());
|
| }
|
|
|
| // Cycle three users forwards and backwards to see that it works.
|
| -TEST_F(SessionStateDelegateChromeOSTest, CyclingThreeUsers) {
|
| +TEST_F(SessionControllerClientTest, CyclingThreeUsers) {
|
| UserAddedToSession("firstuser@test.com");
|
| UserAddedToSession("seconduser@test.com");
|
| UserAddedToSession("thirduser@test.com");
|
| @@ -154,65 +145,73 @@ TEST_F(SessionStateDelegateChromeOSTest, CyclingThreeUsers) {
|
|
|
| // Cycle forward.
|
| EXPECT_EQ("firstuser@test.com", GetActiveUserEmail());
|
| - session_state_delegate()->CycleActiveUser(forward);
|
| + SessionControllerClient::DoCycleActiveUser(forward);
|
| EXPECT_EQ("seconduser@test.com", GetActiveUserEmail());
|
| - session_state_delegate()->CycleActiveUser(forward);
|
| + SessionControllerClient::DoCycleActiveUser(forward);
|
| EXPECT_EQ("thirduser@test.com", GetActiveUserEmail());
|
| - session_state_delegate()->CycleActiveUser(forward);
|
| + SessionControllerClient::DoCycleActiveUser(forward);
|
| EXPECT_EQ("firstuser@test.com", GetActiveUserEmail());
|
|
|
| // Cycle backwards.
|
| const ash::CycleUserDirection backward = ash::CycleUserDirection::PREVIOUS;
|
| - session_state_delegate()->CycleActiveUser(backward);
|
| + SessionControllerClient::DoCycleActiveUser(backward);
|
| EXPECT_EQ("thirduser@test.com", GetActiveUserEmail());
|
| - session_state_delegate()->CycleActiveUser(backward);
|
| + SessionControllerClient::DoCycleActiveUser(backward);
|
| EXPECT_EQ("seconduser@test.com", GetActiveUserEmail());
|
| - session_state_delegate()->CycleActiveUser(backward);
|
| + SessionControllerClient::DoCycleActiveUser(backward);
|
| EXPECT_EQ("firstuser@test.com", GetActiveUserEmail());
|
| }
|
|
|
| // Make sure MultiProfile disabled by primary user policy.
|
| -TEST_F(SessionStateDelegateChromeOSTest, MultiProfileDisallowedByUserPolicy) {
|
| +TEST_F(SessionControllerClientTest, MultiProfileDisallowedByUserPolicy) {
|
| InitForMultiProfile();
|
| - EXPECT_TRUE(
|
| - session_state_delegate()->IsMultiProfileAllowedByPrimaryUserPolicy());
|
| + EXPECT_EQ(ash::AddUserSessionPolicy::ALLOWED,
|
| + SessionControllerClient::GetAddUserSessionPolicy());
|
| const AccountId account_id(AccountId::FromUserEmail(kUser));
|
| user_manager()->LoginUser(account_id);
|
| - EXPECT_TRUE(
|
| - session_state_delegate()->IsMultiProfileAllowedByPrimaryUserPolicy());
|
| + EXPECT_EQ(ash::AddUserSessionPolicy::ERROR_NO_ELIGIBLE_USERS,
|
| + SessionControllerClient::GetAddUserSessionPolicy());
|
| +
|
| + user_manager()->AddUser(AccountId::FromUserEmail("bb@b.b"));
|
| + EXPECT_EQ(ash::AddUserSessionPolicy::ALLOWED,
|
| + SessionControllerClient::GetAddUserSessionPolicy());
|
|
|
| user_profile_->GetPrefs()->SetString(
|
| prefs::kMultiProfileUserBehavior,
|
| chromeos::MultiProfileUserController::kBehaviorNotAllowed);
|
| - EXPECT_FALSE(
|
| - session_state_delegate()->IsMultiProfileAllowedByPrimaryUserPolicy());
|
| + EXPECT_EQ(ash::AddUserSessionPolicy::ERROR_NOT_ALLOWED_PRIMARY_USER,
|
| + SessionControllerClient::GetAddUserSessionPolicy());
|
| }
|
|
|
| // Make sure MultiProfile disabled by primary user policy certificates.
|
| -TEST_F(SessionStateDelegateChromeOSTest,
|
| +TEST_F(SessionControllerClientTest,
|
| MultiProfileDisallowedByPolicyCertificates) {
|
| InitForMultiProfile();
|
| + user_manager()->AddUser(AccountId::FromUserEmail("bb@b.b"));
|
| +
|
| const AccountId account_id(AccountId::FromUserEmail(kUser));
|
| user_manager()->LoginUser(account_id);
|
| - EXPECT_TRUE(
|
| - session_state_delegate()->IsMultiProfileAllowedByPrimaryUserPolicy());
|
| + EXPECT_EQ(ash::AddUserSessionPolicy::ALLOWED,
|
| + SessionControllerClient::GetAddUserSessionPolicy());
|
| policy::PolicyCertServiceFactory::SetUsedPolicyCertificates(
|
| account_id.GetUserEmail());
|
| - EXPECT_FALSE(
|
| - session_state_delegate()->IsMultiProfileAllowedByPrimaryUserPolicy());
|
| + EXPECT_EQ(ash::AddUserSessionPolicy::ERROR_NOT_ALLOWED_PRIMARY_USER,
|
| + SessionControllerClient::GetAddUserSessionPolicy());
|
|
|
| // Flush tasks posted to IO.
|
| base::RunLoop().RunUntilIdle();
|
| }
|
|
|
| // Make sure MultiProfile disabled by primary user certificates in memory.
|
| -TEST_F(SessionStateDelegateChromeOSTest,
|
| +TEST_F(SessionControllerClientTest,
|
| MultiProfileDisallowedByPrimaryUserCertificatesInMemory) {
|
| InitForMultiProfile();
|
| + user_manager()->AddUser(AccountId::FromUserEmail("bb@b.b"));
|
| +
|
| const AccountId account_id(AccountId::FromUserEmail(kUser));
|
| user_manager()->LoginUser(account_id);
|
| - EXPECT_TRUE(
|
| - session_state_delegate()->IsMultiProfileAllowedByPrimaryUserPolicy());
|
| + EXPECT_EQ(ash::AddUserSessionPolicy::ALLOWED,
|
| + SessionControllerClient::GetAddUserSessionPolicy());
|
| cert_verifier_.reset(new policy::PolicyCertVerifier(base::Closure()));
|
| g_policy_cert_verifier_for_factory = cert_verifier_.get();
|
| ASSERT_TRUE(
|
| @@ -228,8 +227,8 @@ TEST_F(SessionStateDelegateChromeOSTest,
|
| net::ImportCertFromFile(net::GetTestCertsDirectory(), "ok_cert.pem"));
|
| service->OnTrustAnchorsChanged(certificates);
|
| EXPECT_TRUE(service->has_policy_certificates());
|
| - EXPECT_FALSE(
|
| - session_state_delegate()->IsMultiProfileAllowedByPrimaryUserPolicy());
|
| + EXPECT_EQ(ash::AddUserSessionPolicy::ERROR_NOT_ALLOWED_PRIMARY_USER,
|
| + SessionControllerClient::GetAddUserSessionPolicy());
|
|
|
| // Flush tasks posted to IO.
|
| base::RunLoop().RunUntilIdle();
|
| @@ -237,44 +236,44 @@ TEST_F(SessionStateDelegateChromeOSTest,
|
|
|
| // Make sure adding users to multiprofiles disabled by reaching maximum
|
| // number of users in sessions.
|
| -TEST_F(SessionStateDelegateChromeOSTest,
|
| +TEST_F(SessionControllerClientTest,
|
| AddUserToMultiprofileDisallowedByMaximumUsers) {
|
| InitForMultiProfile();
|
|
|
| EXPECT_EQ(ash::AddUserSessionPolicy::ALLOWED,
|
| - session_state_delegate()->GetAddUserSessionPolicy());
|
| + SessionControllerClient::GetAddUserSessionPolicy());
|
| const AccountId account_id(AccountId::FromUserEmail(kUser));
|
| user_manager()->LoginUser(account_id);
|
| - while (session_state_delegate()->NumberOfLoggedInUsers() <
|
| - session_state_delegate()->GetMaximumNumberOfLoggedInUsers()) {
|
| + while (user_manager()->GetLoggedInUsers().size() <
|
| + session_manager::kMaxmiumNumberOfUserSessions) {
|
| UserAddedToSession("bb@b.b");
|
| }
|
| EXPECT_EQ(ash::AddUserSessionPolicy::ERROR_MAXIMUM_USERS_REACHED,
|
| - session_state_delegate()->GetAddUserSessionPolicy());
|
| + SessionControllerClient::GetAddUserSessionPolicy());
|
| }
|
|
|
| // Make sure adding users to multiprofiles disabled by logging in all possible
|
| // users.
|
| -TEST_F(SessionStateDelegateChromeOSTest,
|
| +TEST_F(SessionControllerClientTest,
|
| AddUserToMultiprofileDisallowedByAllUsersLogged) {
|
| InitForMultiProfile();
|
|
|
| EXPECT_EQ(ash::AddUserSessionPolicy::ALLOWED,
|
| - session_state_delegate()->GetAddUserSessionPolicy());
|
| + SessionControllerClient::GetAddUserSessionPolicy());
|
| const AccountId account_id(AccountId::FromUserEmail(kUser));
|
| user_manager()->LoginUser(account_id);
|
| UserAddedToSession("bb@b.b");
|
| EXPECT_EQ(ash::AddUserSessionPolicy::ERROR_NO_ELIGIBLE_USERS,
|
| - session_state_delegate()->GetAddUserSessionPolicy());
|
| + SessionControllerClient::GetAddUserSessionPolicy());
|
| }
|
|
|
| // Make sure adding users to multiprofiles disabled by primary user policy.
|
| -TEST_F(SessionStateDelegateChromeOSTest,
|
| +TEST_F(SessionControllerClientTest,
|
| AddUserToMultiprofileDisallowedByPrimaryUserPolicy) {
|
| InitForMultiProfile();
|
|
|
| EXPECT_EQ(ash::AddUserSessionPolicy::ALLOWED,
|
| - session_state_delegate()->GetAddUserSessionPolicy());
|
| + SessionControllerClient::GetAddUserSessionPolicy());
|
| const AccountId account_id(AccountId::FromUserEmail(kUser));
|
| user_manager()->LoginUser(account_id);
|
| user_profile_->GetPrefs()->SetString(
|
| @@ -282,7 +281,5 @@ TEST_F(SessionStateDelegateChromeOSTest,
|
| chromeos::MultiProfileUserController::kBehaviorNotAllowed);
|
| user_manager()->AddUser(AccountId::FromUserEmail("bb@b.b"));
|
| EXPECT_EQ(ash::AddUserSessionPolicy::ERROR_NOT_ALLOWED_PRIMARY_USER,
|
| - session_state_delegate()->GetAddUserSessionPolicy());
|
| + SessionControllerClient::GetAddUserSessionPolicy());
|
| }
|
| -
|
| -} // namespace chromeos
|
|
|