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

Unified Diff: chrome/browser/chromeos/login/saml/saml_offline_signin_limiter_unittest.cc

Issue 1132523002: UMA to track the reason for re-auth (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: initialize local state Created 5 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/login/saml/saml_offline_signin_limiter_unittest.cc
diff --git a/chrome/browser/chromeos/login/saml/saml_offline_signin_limiter_unittest.cc b/chrome/browser/chromeos/login/saml/saml_offline_signin_limiter_unittest.cc
index beaf843eb41a1b80c6f4e193eb45764e82f4ccdb..c82a398527e186847fceb99997862475f7a39127 100644
--- a/chrome/browser/chromeos/login/saml/saml_offline_signin_limiter_unittest.cc
+++ b/chrome/browser/chromeos/login/saml/saml_offline_signin_limiter_unittest.cc
@@ -6,6 +6,7 @@
#include "base/memory/ref_counted.h"
#include "base/prefs/pref_service.h"
+#include "base/prefs/testing_pref_service.h"
#include "base/test/simple_test_clock.h"
#include "base/test/test_simple_task_runner.h"
#include "base/thread_task_runner_handle.h"
@@ -22,7 +23,7 @@
#include "testing/gtest/include/gtest/gtest.h"
using testing::Mock;
-using testing::ReturnRef;
+using testing::Return;
using testing::Sequence;
using testing::_;
@@ -44,6 +45,9 @@ class SAMLOfflineSigninLimiterTest : public testing::Test {
void DestroyLimiter();
void CreateLimiter();
+ void SetUpUserManager();
+ TestingPrefServiceSimple* GetTestingLocalState();
+
scoped_refptr<base::TestSimpleTaskRunner> runner_;
base::ThreadTaskRunnerHandle runner_handle_;
@@ -55,6 +59,8 @@ class SAMLOfflineSigninLimiterTest : public testing::Test {
SAMLOfflineSigninLimiter* limiter_; // Owned.
+ TestingPrefServiceSimple testing_local_state_;
+
DISALLOW_COPY_AND_ASSIGN(SAMLOfflineSigninLimiterTest);
};
@@ -88,6 +94,11 @@ void SAMLOfflineSigninLimiterTest::CreateLimiter() {
limiter_ = new SAMLOfflineSigninLimiter(profile_.get(), &clock_);
}
+void SAMLOfflineSigninLimiterTest::SetUpUserManager() {
+ EXPECT_CALL(*user_manager_, GetLocalState())
+ .WillRepeatedly(Return(GetTestingLocalState()));
+}
+
void SAMLOfflineSigninLimiterTest::SetUp() {
profile_.reset(new TestingProfile);
@@ -95,6 +106,13 @@ void SAMLOfflineSigninLimiterTest::SetUp() {
user_manager_->AddUser(kTestUser);
profile_->set_profile_name(kTestUser);
clock_.Advance(base::TimeDelta::FromHours(1));
+
+ user_manager_->RegisterPrefs(GetTestingLocalState()->registry());
+ SetUpUserManager();
+}
+
+TestingPrefServiceSimple* SAMLOfflineSigninLimiterTest::GetTestingLocalState() {
+ return &testing_local_state_;
}
void SAMLOfflineSigninLimiterTest::TearDown() {
@@ -130,6 +148,7 @@ TEST_F(SAMLOfflineSigninLimiterTest, NoSAMLDefaultLimit) {
// changed and the time of last login with SAML is not set.
CreateLimiter();
Mock::VerifyAndClearExpectations(user_manager_);
+ SetUpUserManager();
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, false)).Times(0);
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, true)).Times(0);
limiter_->SignedIn(UserContext::AUTH_FLOW_OFFLINE);
@@ -174,6 +193,7 @@ TEST_F(SAMLOfflineSigninLimiterTest, NoSAMLNoLimit) {
// changed and the time of last login with SAML is not set.
CreateLimiter();
Mock::VerifyAndClearExpectations(user_manager_);
+ SetUpUserManager();
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, false)).Times(0);
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, true)).Times(0);
limiter_->SignedIn(UserContext::AUTH_FLOW_OFFLINE);
@@ -218,6 +238,7 @@ TEST_F(SAMLOfflineSigninLimiterTest, NoSAMLZeroLimit) {
// changed and the time of last login with SAML is not set.
CreateLimiter();
Mock::VerifyAndClearExpectations(user_manager_);
+ SetUpUserManager();
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, false)).Times(0);
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, true)).Times(0);
limiter_->SignedIn(UserContext::AUTH_FLOW_OFFLINE);
@@ -344,6 +365,7 @@ TEST_F(SAMLOfflineSigninLimiterTest, SAMLDefaultLimit) {
// login is cleared and the time of last login with SAML is updated.
CreateLimiter();
Mock::VerifyAndClearExpectations(user_manager_);
+ SetUpUserManager();
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, false)).Times(1);
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, true)).Times(0);
limiter_->SignedIn(UserContext::AUTH_FLOW_GAIA_WITH_SAML);
@@ -366,6 +388,7 @@ TEST_F(SAMLOfflineSigninLimiterTest, SAMLDefaultLimit) {
// time of last login with SAML are not changed.
CreateLimiter();
Mock::VerifyAndClearExpectations(user_manager_);
+ SetUpUserManager();
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, false)).Times(0);
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, true)).Times(0);
limiter_->SignedIn(UserContext::AUTH_FLOW_OFFLINE);
@@ -383,6 +406,7 @@ TEST_F(SAMLOfflineSigninLimiterTest, SAMLDefaultLimit) {
// Allow the timer to fire. Verify that the flag enforcing online login is
// set.
Mock::VerifyAndClearExpectations(user_manager_);
+ SetUpUserManager();
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, false)).Times(0);
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, true)).Times(1);
runner_->RunPendingTasks();
@@ -418,6 +442,7 @@ TEST_F(SAMLOfflineSigninLimiterTest, SAMLNoLimit) {
// login is cleared and the time of last login with SAML is updated.
CreateLimiter();
Mock::VerifyAndClearExpectations(user_manager_);
+ SetUpUserManager();
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, false)).Times(1);
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, true)).Times(0);
limiter_->SignedIn(UserContext::AUTH_FLOW_GAIA_WITH_SAML);
@@ -440,6 +465,7 @@ TEST_F(SAMLOfflineSigninLimiterTest, SAMLNoLimit) {
// time of last login with SAML are not changed.
CreateLimiter();
Mock::VerifyAndClearExpectations(user_manager_);
+ SetUpUserManager();
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, false)).Times(0);
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, true)).Times(0);
limiter_->SignedIn(UserContext::AUTH_FLOW_OFFLINE);
@@ -498,6 +524,7 @@ TEST_F(SAMLOfflineSigninLimiterTest, SAMLSetLimitWhileLoggedIn) {
// Set a zero time limit. Verify that the flag enforcing online login is set.
Mock::VerifyAndClearExpectations(user_manager_);
+ SetUpUserManager();
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, false)).Times(0);
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, true)).Times(1);
prefs->SetInteger(prefs::kSAMLOfflineSigninTimeLimit, 0);
@@ -526,6 +553,7 @@ TEST_F(SAMLOfflineSigninLimiterTest, SAMLRemoveLimit) {
// Allow the timer to fire. Verify that the flag enforcing online login is not
// changed.
Mock::VerifyAndClearExpectations(user_manager_);
+ SetUpUserManager();
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, false)).Times(0);
EXPECT_CALL(*user_manager_, SaveForceOnlineSignin(kTestUser, true)).Times(0);
runner_->RunUntilIdle();

Powered by Google App Engine
This is Rietveld 408576698