diff options
Diffstat (limited to 'chromium/chrome/browser/signin/signin_util_unittest.cc')
-rw-r--r-- | chromium/chrome/browser/signin/signin_util_unittest.cc | 90 |
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"); |