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

Side by Side Diff: chrome/browser/ui/ash/session_controller_client_unittest.cc

Issue 2923083002: chromeos: Convert system tray session length limit to mojo (Closed)
Patch Set: Created 3 years, 6 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
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 #include "chrome/browser/ui/ash/session_controller_client.h" 5 #include "chrome/browser/ui/ash/session_controller_client.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
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/time/time.h"
13 #include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h" 14 #include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
14 #include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h" 15 #include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h"
15 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h" 16 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
16 #include "chrome/browser/chromeos/policy/policy_cert_service.h" 17 #include "chrome/browser/chromeos/policy/policy_cert_service.h"
17 #include "chrome/browser/chromeos/policy/policy_cert_service_factory.h" 18 #include "chrome/browser/chromeos/policy/policy_cert_service_factory.h"
18 #include "chrome/browser/chromeos/policy/policy_cert_verifier.h" 19 #include "chrome/browser/chromeos/policy/policy_cert_verifier.h"
19 #include "chrome/browser/chromeos/profiles/profile_helper.h" 20 #include "chrome/browser/chromeos/profiles/profile_helper.h"
20 #include "chrome/browser/supervised_user/supervised_user_service.h" 21 #include "chrome/browser/supervised_user/supervised_user_service.h"
21 #include "chrome/browser/supervised_user/supervised_user_service_factory.h" 22 #include "chrome/browser/supervised_user/supervised_user_service_factory.h"
22 #include "chrome/common/pref_names.h" 23 #include "chrome/common/pref_names.h"
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 void UpdateUserSession(ash::mojom::UserSessionPtr user_session) override { 119 void UpdateUserSession(ash::mojom::UserSessionPtr user_session) override {
119 last_user_session_ = user_session->Clone(); 120 last_user_session_ = user_session->Clone();
120 update_user_session_count_++; 121 update_user_session_count_++;
121 } 122 }
122 void SetUserSessionOrder( 123 void SetUserSessionOrder(
123 const std::vector<uint32_t>& user_session_order) override {} 124 const std::vector<uint32_t>& user_session_order) override {}
124 void StartLock(StartLockCallback callback) override {} 125 void StartLock(StartLockCallback callback) override {}
125 void NotifyChromeLockAnimationsComplete() override {} 126 void NotifyChromeLockAnimationsComplete() override {}
126 void RunUnlockAnimation(RunUnlockAnimationCallback callback) override {} 127 void RunUnlockAnimation(RunUnlockAnimationCallback callback) override {}
127 void NotifyChromeTerminating() override {} 128 void NotifyChromeTerminating() override {}
129 void SetSessionLengthLimit(base::TimeDelta length_limit,
130 base::TimeTicks start_time) override {
131 last_session_length_limit_ = length_limit;
132 last_session_start_time_ = start_time;
133 }
134
135 base::TimeDelta last_session_length_limit_;
136 base::TimeTicks last_session_start_time_;
128 137
129 private: 138 private:
130 mojo::Binding<ash::mojom::SessionController> binding_; 139 mojo::Binding<ash::mojom::SessionController> binding_;
131 140
132 ash::mojom::SessionInfoPtr last_session_info_; 141 ash::mojom::SessionInfoPtr last_session_info_;
133 ash::mojom::UserSessionPtr last_user_session_; 142 ash::mojom::UserSessionPtr last_user_session_;
134 int update_user_session_count_ = 0; 143 int update_user_session_count_ = 0;
135 144
136 DISALLOW_COPY_AND_ASSIGN(TestSessionController); 145 DISALLOW_COPY_AND_ASSIGN(TestSessionController);
137 }; 146 };
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 520
512 user_prefs->SetBoolean(prefs::kEnableAutoScreenLock, true); 521 user_prefs->SetBoolean(prefs::kEnableAutoScreenLock, true);
513 SessionControllerClient::FlushForTesting(); 522 SessionControllerClient::FlushForTesting();
514 EXPECT_TRUE( 523 EXPECT_TRUE(
515 session_controller.last_session_info()->should_lock_screen_automatically); 524 session_controller.last_session_info()->should_lock_screen_automatically);
516 user_prefs->SetBoolean(prefs::kEnableAutoScreenLock, false); 525 user_prefs->SetBoolean(prefs::kEnableAutoScreenLock, false);
517 SessionControllerClient::FlushForTesting(); 526 SessionControllerClient::FlushForTesting();
518 EXPECT_FALSE( 527 EXPECT_FALSE(
519 session_controller.last_session_info()->should_lock_screen_automatically); 528 session_controller.last_session_info()->should_lock_screen_automatically);
520 } 529 }
530
531 TEST_F(SessionControllerClientTest, SessionLengthLimit) {
532 // Create an object to test and connect it to our test interface.
533 SessionControllerClient client;
534 TestSessionController session_controller;
535 client.session_controller_ = session_controller.CreateInterfacePtrAndBind();
536 client.Init();
537 SessionControllerClient::FlushForTesting();
538
539 // By default there is no session length limit.
540 EXPECT_TRUE(session_controller.last_session_length_limit_.is_zero());
541 EXPECT_TRUE(session_controller.last_session_start_time_.is_null());
542
543 // Setting a session length limit in local state sends it to ash.
544 const base::TimeDelta length_limit = base::TimeDelta::FromHours(1);
545 const base::TimeTicks start_time = base::TimeTicks::Now();
546 PrefService* local_state = TestingBrowserProcess::GetGlobal()->local_state();
547 local_state->SetInteger(prefs::kSessionLengthLimit,
548 length_limit.InMilliseconds());
549 local_state->SetInt64(prefs::kSessionStartTime, start_time.ToInternalValue());
550 SessionControllerClient::FlushForTesting();
551 EXPECT_EQ(length_limit, session_controller.last_session_length_limit_);
552 EXPECT_EQ(start_time, session_controller.last_session_start_time_);
553 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698