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

Unified Diff: components/password_manager/core/browser/password_bubble_experiment_unittest.cc

Issue 2579823003: Remove Finch support for PasswordBranding (Closed)
Patch Set: More succinct Created 4 years 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: components/password_manager/core/browser/password_bubble_experiment_unittest.cc
diff --git a/components/password_manager/core/browser/password_bubble_experiment_unittest.cc b/components/password_manager/core/browser/password_bubble_experiment_unittest.cc
index 4f4baa8cd4fb8764050fc85ba26ae281ac59eabc..b9ba0531ceed07d93e0b1824343016931e9ae907 100644
--- a/components/password_manager/core/browser/password_bubble_experiment_unittest.cc
+++ b/components/password_manager/core/browser/password_bubble_experiment_unittest.cc
@@ -12,6 +12,7 @@
#include "components/prefs/pref_registry_simple.h"
#include "components/prefs/pref_service.h"
#include "components/prefs/testing_pref_service.h"
+#include "components/sync/base/model_type.h"
#include "components/sync/driver/fake_sync_service.h"
#include "components/variations/variations_associated_data.h"
#include "testing/gmock/include/gmock/gmock.h"
@@ -21,50 +22,8 @@ namespace password_bubble_experiment {
namespace {
-const char kSmartLockNoBrandingGroupName[] = "NoSmartLockBranding";
-
enum class CustomPassphraseState { NONE, SET };
-enum class SavePromptFirstRunExperience { NONE, PRESENT };
-
-enum class UserType { SMARTLOCK, NOT_SMARTLOCK };
-
-struct IsSmartLockBrandingEnabledTestcase {
- CustomPassphraseState passphrase_state;
- syncer::ModelType type;
- SmartLockBranding expected_branding;
- UserType expected_user_type;
-};
-
-std::ostream& operator<<(std::ostream& os,
- const IsSmartLockBrandingEnabledTestcase& testcase) {
- os << (testcase.passphrase_state == CustomPassphraseState::SET ? "{SET, "
- : "{NONE, ");
- os << (testcase.type == syncer::PASSWORDS ? "syncer::PASSWORDS, "
- : "not syncer::PASSWORDS, ");
- switch (testcase.expected_branding) {
- case SmartLockBranding::NONE:
- os << "NONE, ";
- break;
- case SmartLockBranding::FULL:
- os << "FULL, ";
- break;
- case SmartLockBranding::SAVE_PROMPT_ONLY:
- os << "SAVE_PROMPT_ONLY, ";
- break;
- }
- os << (testcase.expected_user_type == UserType::SMARTLOCK ? "SMARTLOCK}"
- : "NOT_SMARTLOCK}");
- return os;
-}
-
-struct ShouldShowSavePromptFirstRunExperienceTestcase {
- CustomPassphraseState passphrase_state;
- syncer::ModelType type;
- bool pref_value;
- SavePromptFirstRunExperience first_run_experience;
-};
-
class TestSyncService : public syncer::FakeSyncService {
public:
// FakeSyncService overrides.
@@ -128,39 +87,9 @@ class PasswordManagerPasswordBubbleExperimentTest : public testing::Test {
PrefService* prefs() { return &pref_service_; }
- void EnforceExperimentGroup(const char* group_name) {
- ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial(kBrandingExperimentName,
- group_name));
- }
-
TestSyncService* sync_service() { return &fake_sync_service_; }
- void TestIsSmartLockBrandingEnabledTestcase(
- const IsSmartLockBrandingEnabledTestcase& test_case) {
- SetupFakeSyncServiceForTestCase(test_case.type, test_case.passphrase_state);
- EXPECT_EQ(test_case.expected_branding,
- GetSmartLockBrandingState(sync_service()));
- EXPECT_EQ(test_case.expected_user_type == UserType::SMARTLOCK,
- IsSmartLockUser(sync_service()));
- }
-
- void TestShouldShowSavePromptFirstRunExperienceTestcase(
- const ShouldShowSavePromptFirstRunExperienceTestcase& test_case) {
- SetupFakeSyncServiceForTestCase(test_case.type, test_case.passphrase_state);
- prefs()->SetBoolean(
- password_manager::prefs::kWasSavePrompFirstRunExperienceShown,
- test_case.pref_value);
- bool should_show_first_run_experience =
- ShouldShowSavePromptFirstRunExperience(sync_service(), prefs());
- if (test_case.first_run_experience ==
- SavePromptFirstRunExperience::PRESENT) {
- EXPECT_FALSE(should_show_first_run_experience);
- } else {
- EXPECT_FALSE(should_show_first_run_experience);
- }
- }
-
- private:
+ protected:
void SetupFakeSyncServiceForTestCase(syncer::ModelType type,
CustomPassphraseState passphrase_state) {
syncer::ModelTypeSet active_types;
@@ -171,164 +100,17 @@ class PasswordManagerPasswordBubbleExperimentTest : public testing::Test {
passphrase_state == CustomPassphraseState::SET);
}
+ private:
TestSyncService fake_sync_service_;
base::FieldTrialList field_trial_list_;
TestingPrefServiceSimple pref_service_;
};
TEST_F(PasswordManagerPasswordBubbleExperimentTest,
- IsSmartLockBrandingEnabledTestNoBranding) {
- const IsSmartLockBrandingEnabledTestcase kTestData[] = {
- {CustomPassphraseState::SET, syncer::PASSWORDS, SmartLockBranding::NONE,
- UserType::NOT_SMARTLOCK},
- {CustomPassphraseState::SET, syncer::BOOKMARKS, SmartLockBranding::NONE,
- UserType::NOT_SMARTLOCK},
- {CustomPassphraseState::NONE, syncer::PASSWORDS, SmartLockBranding::NONE,
- UserType::SMARTLOCK},
- {CustomPassphraseState::NONE, syncer::BOOKMARKS, SmartLockBranding::NONE,
- UserType::NOT_SMARTLOCK},
- };
-
- EnforceExperimentGroup(kSmartLockNoBrandingGroupName);
- for (const auto& test_case : kTestData) {
- SCOPED_TRACE(testing::Message("test_case = ") << test_case);
- TestIsSmartLockBrandingEnabledTestcase(test_case);
- }
-}
-
-TEST_F(PasswordManagerPasswordBubbleExperimentTest,
- IsSmartLockBrandingEnabledTest_FULL) {
- const IsSmartLockBrandingEnabledTestcase kTestData[] = {
- {CustomPassphraseState::SET, syncer::PASSWORDS, SmartLockBranding::NONE,
- UserType::NOT_SMARTLOCK},
- {CustomPassphraseState::SET, syncer::BOOKMARKS, SmartLockBranding::NONE,
- UserType::NOT_SMARTLOCK},
- {CustomPassphraseState::NONE, syncer::PASSWORDS, SmartLockBranding::FULL,
- UserType::SMARTLOCK},
- {CustomPassphraseState::NONE, syncer::BOOKMARKS, SmartLockBranding::NONE,
- UserType::NOT_SMARTLOCK},
- };
-
- EnforceExperimentGroup(kSmartLockBrandingGroupName);
- for (const auto& test_case : kTestData) {
- SCOPED_TRACE(testing::Message("test_case = ") << test_case);
- TestIsSmartLockBrandingEnabledTestcase(test_case);
- }
-}
-
-TEST_F(PasswordManagerPasswordBubbleExperimentTest,
- IsSmartLockBrandingEnabledTest_SAVE_PROMPT_ONLY) {
- const IsSmartLockBrandingEnabledTestcase kTestData[] = {
- {CustomPassphraseState::SET, syncer::PASSWORDS, SmartLockBranding::NONE,
- UserType::NOT_SMARTLOCK},
- {CustomPassphraseState::SET, syncer::BOOKMARKS, SmartLockBranding::NONE,
- UserType::NOT_SMARTLOCK},
- {CustomPassphraseState::NONE, syncer::PASSWORDS,
- SmartLockBranding::SAVE_PROMPT_ONLY, UserType::SMARTLOCK},
- {CustomPassphraseState::NONE, syncer::BOOKMARKS, SmartLockBranding::NONE,
- UserType::NOT_SMARTLOCK},
- };
-
- EnforceExperimentGroup(kSmartLockBrandingSavePromptOnlyGroupName);
- for (const auto& test_case : kTestData) {
- SCOPED_TRACE(testing::Message("test_case = ") << test_case);
- TestIsSmartLockBrandingEnabledTestcase(test_case);
- }
-}
-
-TEST_F(PasswordManagerPasswordBubbleExperimentTest,
- ShoulShowSavePrompBrandingGroup) {
- const struct ShouldShowSavePromptFirstRunExperienceTestcase kTestData[] = {
- {CustomPassphraseState::SET, syncer::PASSWORDS, true,
- SavePromptFirstRunExperience::NONE},
- {CustomPassphraseState::SET, syncer::PASSWORDS, false,
- SavePromptFirstRunExperience::NONE},
- {CustomPassphraseState::SET, syncer::BOOKMARKS, true,
- SavePromptFirstRunExperience::NONE},
- {CustomPassphraseState::SET, syncer::BOOKMARKS, false,
- SavePromptFirstRunExperience::NONE},
- {CustomPassphraseState::NONE, syncer::PASSWORDS, true,
- SavePromptFirstRunExperience::NONE},
- {CustomPassphraseState::NONE, syncer::PASSWORDS, false,
- SavePromptFirstRunExperience::NONE},
- {CustomPassphraseState::NONE, syncer::BOOKMARKS, true,
- SavePromptFirstRunExperience::NONE},
- {CustomPassphraseState::NONE, syncer::BOOKMARKS, false,
- SavePromptFirstRunExperience::NONE},
- };
-
- EnforceExperimentGroup(kSmartLockBrandingGroupName);
- for (const auto& test_case : kTestData) {
- TestShouldShowSavePromptFirstRunExperienceTestcase(test_case);
- }
-}
-
-TEST_F(PasswordManagerPasswordBubbleExperimentTest,
- ShoulShowSavePrompNoBrandingGroup) {
- const struct ShouldShowSavePromptFirstRunExperienceTestcase kTestData[] = {
- {CustomPassphraseState::SET, syncer::PASSWORDS, true,
- SavePromptFirstRunExperience::NONE},
- {CustomPassphraseState::SET, syncer::PASSWORDS, false,
- SavePromptFirstRunExperience::NONE},
- {CustomPassphraseState::SET, syncer::BOOKMARKS, true,
- SavePromptFirstRunExperience::NONE},
- {CustomPassphraseState::SET, syncer::BOOKMARKS, false,
- SavePromptFirstRunExperience::NONE},
- {CustomPassphraseState::NONE, syncer::PASSWORDS, true,
- SavePromptFirstRunExperience::NONE},
- {CustomPassphraseState::NONE, syncer::PASSWORDS, false,
- SavePromptFirstRunExperience::NONE},
- {CustomPassphraseState::NONE, syncer::BOOKMARKS, true,
- SavePromptFirstRunExperience::NONE},
- {CustomPassphraseState::NONE, syncer::BOOKMARKS, false,
- SavePromptFirstRunExperience::NONE},
- };
-
- EnforceExperimentGroup(kSmartLockNoBrandingGroupName);
- for (const auto& test_case : kTestData) {
- TestShouldShowSavePromptFirstRunExperienceTestcase(test_case);
- }
-}
-
-TEST_F(PasswordManagerPasswordBubbleExperimentTest,
- RecordFirstRunExperienceWasShownTest) {
- const struct {
- bool initial_pref_value;
- bool result_pref_value;
- } kTestData[] = {
- {false, true}, {true, true},
- };
- for (const auto& test_case : kTestData) {
- // Record Save prompt first run experience.
- prefs()->SetBoolean(
- password_manager::prefs::kWasSavePrompFirstRunExperienceShown,
- test_case.initial_pref_value);
- RecordSavePromptFirstRunExperienceWasShown(prefs());
- EXPECT_EQ(
- test_case.result_pref_value,
- prefs()->GetBoolean(
- password_manager::prefs::kWasSavePrompFirstRunExperienceShown));
- // Record Auto sign-in first run experience.
- prefs()->SetBoolean(
- password_manager::prefs::kWasAutoSignInFirstRunExperienceShown,
- test_case.initial_pref_value);
- EXPECT_EQ(!test_case.initial_pref_value,
- ShouldShowAutoSignInPromptFirstRunExperience(prefs()));
- RecordAutoSignInPromptFirstRunExperienceWasShown(prefs());
- EXPECT_EQ(
- test_case.result_pref_value,
- prefs()->GetBoolean(
- password_manager::prefs::kWasAutoSignInFirstRunExperienceShown));
- EXPECT_EQ(!test_case.result_pref_value,
- ShouldShowAutoSignInPromptFirstRunExperience(prefs()));
- }
-}
-
-TEST_F(PasswordManagerPasswordBubbleExperimentTest,
ShouldShowChromeSignInPasswordPromo) {
// By default the promo is off.
EXPECT_FALSE(ShouldShowChromeSignInPasswordPromo(prefs(), nullptr));
- const struct {
+ constexpr struct {
bool was_already_clicked;
bool is_sync_allowed;
bool is_first_setup_complete;
@@ -362,4 +144,24 @@ TEST_F(PasswordManagerPasswordBubbleExperimentTest,
}
}
+TEST_F(PasswordManagerPasswordBubbleExperimentTest, IsSmartLockUser) {
+ constexpr struct {
+ syncer::ModelType type;
+ CustomPassphraseState passphrase_state;
+ bool expected_smart_lock_user;
+ } kTestData[] = {
+ {syncer::ModelType::BOOKMARKS, CustomPassphraseState::NONE, false},
+ {syncer::ModelType::BOOKMARKS, CustomPassphraseState::SET, false},
+ {syncer::ModelType::PASSWORDS, CustomPassphraseState::NONE, true},
+ {syncer::ModelType::PASSWORDS, CustomPassphraseState::SET, false},
+ };
+ for (const auto& test_case : kTestData) {
+ SCOPED_TRACE(testing::Message("#test_case = ") << (&test_case - kTestData));
+ SetupFakeSyncServiceForTestCase(test_case.type, test_case.passphrase_state);
+
+ EXPECT_EQ(test_case.expected_smart_lock_user,
+ IsSmartLockUser(sync_service()));
+ }
+}
+
} // namespace password_bubble_experiment

Powered by Google App Engine
This is Rietveld 408576698