summaryrefslogtreecommitdiffstats
path: root/chromium/chrome/browser/signin/signin_util_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/signin/signin_util_unittest.cc')
-rw-r--r--chromium/chrome/browser/signin/signin_util_unittest.cc90
1 files changed, 90 insertions, 0 deletions
diff --git a/chromium/chrome/browser/signin/signin_util_unittest.cc b/chromium/chrome/browser/signin/signin_util_unittest.cc
index 6facd0ab069..131af1ceb86 100644
--- a/chromium/chrome/browser/signin/signin_util_unittest.cc
+++ b/chromium/chrome/browser/signin/signin_util_unittest.cc
@@ -73,6 +73,68 @@ TEST_F(SigninUtilTest, GetProfileSeparationPolicyState) {
ProfileSeparationPolicyState::kStrict,
ProfileSeparationPolicyState::kKeepsBrowsingData));
+ // Active profile has "none" as a user level policy.
+ profile->GetPrefs()->SetString(prefs::kManagedAccountsSigninRestriction,
+ "none");
+ profile->GetPrefs()->SetBoolean(
+ prefs::kManagedAccountsSigninRestrictionScopeMachine, false);
+ EXPECT_TRUE(
+ signin_util::GetProfileSeparationPolicyState(profile.get()).Empty());
+ EXPECT_TRUE(
+ signin_util::GetProfileSeparationPolicyState(profile.get(), "none")
+ .Empty());
+ EXPECT_EQ(signin_util::GetProfileSeparationPolicyState(profile.get(),
+ "primary_account"),
+ ProfileSeparationPolicyStateSet(
+ ProfileSeparationPolicyState::kEnforcedByInterceptedAccount));
+ EXPECT_EQ(signin_util::GetProfileSeparationPolicyState(
+ profile.get(), "primary_account_strict"),
+ ProfileSeparationPolicyStateSet(
+ ProfileSeparationPolicyState::kStrict,
+ ProfileSeparationPolicyState::kEnforcedByInterceptedAccount));
+ EXPECT_EQ(signin_util::GetProfileSeparationPolicyState(
+ profile.get(), "primary_account_keep_existing_data"),
+ ProfileSeparationPolicyStateSet(
+ ProfileSeparationPolicyState::kEnforcedByInterceptedAccount,
+ ProfileSeparationPolicyState::kKeepsBrowsingData));
+ EXPECT_EQ(signin_util::GetProfileSeparationPolicyState(
+ profile.get(), "primary_account_strict_keep_existing_data"),
+ ProfileSeparationPolicyStateSet(
+ ProfileSeparationPolicyState::kEnforcedByInterceptedAccount,
+ ProfileSeparationPolicyState::kKeepsBrowsingData,
+ ProfileSeparationPolicyState::kStrict));
+
+ // Active profile has "none" as a machine level policy.
+ profile->GetPrefs()->SetString(prefs::kManagedAccountsSigninRestriction,
+ "none");
+ profile->GetPrefs()->SetBoolean(
+ prefs::kManagedAccountsSigninRestrictionScopeMachine, true);
+ EXPECT_TRUE(
+ signin_util::GetProfileSeparationPolicyState(profile.get()).Empty());
+ EXPECT_TRUE(
+ signin_util::GetProfileSeparationPolicyState(profile.get(), "none")
+ .Empty());
+ EXPECT_EQ(signin_util::GetProfileSeparationPolicyState(profile.get(),
+ "primary_account"),
+ ProfileSeparationPolicyStateSet(
+ ProfileSeparationPolicyState::kEnforcedByInterceptedAccount));
+ EXPECT_EQ(signin_util::GetProfileSeparationPolicyState(
+ profile.get(), "primary_account_strict"),
+ ProfileSeparationPolicyStateSet(
+ ProfileSeparationPolicyState::kStrict,
+ ProfileSeparationPolicyState::kEnforcedByInterceptedAccount));
+ EXPECT_EQ(signin_util::GetProfileSeparationPolicyState(
+ profile.get(), "primary_account_keep_existing_data"),
+ ProfileSeparationPolicyStateSet(
+ ProfileSeparationPolicyState::kEnforcedByInterceptedAccount,
+ ProfileSeparationPolicyState::kKeepsBrowsingData));
+ EXPECT_EQ(signin_util::GetProfileSeparationPolicyState(
+ profile.get(), "primary_account_strict_keep_existing_data"),
+ ProfileSeparationPolicyStateSet(
+ ProfileSeparationPolicyState::kEnforcedByInterceptedAccount,
+ ProfileSeparationPolicyState::kKeepsBrowsingData,
+ ProfileSeparationPolicyState::kStrict));
+
// Active profile has "primary_account" as a user level policy.
profile->GetPrefs()->SetString(prefs::kManagedAccountsSigninRestriction,
"primary_account");
@@ -339,6 +401,34 @@ TEST_F(SigninUtilTest, ProfileSeparationEnforcedByPolicy) {
EXPECT_TRUE(signin_util::ProfileSeparationEnforcedByPolicy(
profile.get(), "primary_account_strict"));
+ // Active profile has "none" as a user level policy.
+ profile->GetPrefs()->SetString(prefs::kManagedAccountsSigninRestriction,
+ "none");
+ profile->GetPrefs()->SetBoolean(
+ prefs::kManagedAccountsSigninRestrictionScopeMachine, false);
+ EXPECT_FALSE(signin_util::ProfileSeparationEnforcedByPolicy(profile.get(),
+ std::string()));
+ EXPECT_FALSE(
+ signin_util::ProfileSeparationEnforcedByPolicy(profile.get(), "none"));
+ EXPECT_TRUE(signin_util::ProfileSeparationEnforcedByPolicy(
+ profile.get(), "primary_account"));
+ EXPECT_TRUE(signin_util::ProfileSeparationEnforcedByPolicy(
+ profile.get(), "primary_account_strict"));
+
+ // Active profile has "none" as a machine level policy.
+ profile->GetPrefs()->SetString(prefs::kManagedAccountsSigninRestriction,
+ "none");
+ profile->GetPrefs()->SetBoolean(
+ prefs::kManagedAccountsSigninRestrictionScopeMachine, true);
+ EXPECT_FALSE(signin_util::ProfileSeparationEnforcedByPolicy(profile.get(),
+ std::string()));
+ EXPECT_FALSE(
+ signin_util::ProfileSeparationEnforcedByPolicy(profile.get(), "none"));
+ EXPECT_TRUE(signin_util::ProfileSeparationEnforcedByPolicy(
+ profile.get(), "primary_account"));
+ EXPECT_TRUE(signin_util::ProfileSeparationEnforcedByPolicy(
+ profile.get(), "primary_account_strict"));
+
// Active profile has "primary_account" as a user level policy.
profile->GetPrefs()->SetString(prefs::kManagedAccountsSigninRestriction,
"primary_account");