| OLD | NEW |
| 1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2015 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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
| 6 #include "base/command_line.h" | 6 #include "base/command_line.h" |
| 7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
| 8 #include "base/prefs/pref_service.h" | 8 #include "base/prefs/pref_service.h" |
| 9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
| 10 #include "chrome/browser/chrome_notification_types.h" | 10 #include "chrome/browser/chrome_notification_types.h" |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 130 } | 130 } |
| 131 | 131 |
| 132 IN_PROC_BROWSER_TEST_F(SingleClientWalletSyncTest, EnabledViaPreference) { | 132 IN_PROC_BROWSER_TEST_F(SingleClientWalletSyncTest, EnabledViaPreference) { |
| 133 SetPreexistingPreferencesFileContents(kWalletSyncEnabledPreferencesContents); | 133 SetPreexistingPreferencesFileContents(kWalletSyncEnabledPreferencesContents); |
| 134 ASSERT_TRUE(SetupSync()) << "SetupSync() failed"; | 134 ASSERT_TRUE(SetupSync()) << "SetupSync() failed"; |
| 135 // The type should not be enabled without the experiment enabled. | 135 // The type should not be enabled without the experiment enabled. |
| 136 ASSERT_TRUE(GetClient(0)->service()->GetActiveDataTypes().Has( | 136 ASSERT_TRUE(GetClient(0)->service()->GetActiveDataTypes().Has( |
| 137 syncer::AUTOFILL_WALLET_DATA)); | 137 syncer::AUTOFILL_WALLET_DATA)); |
| 138 // TODO(pvalenzuela): Assert that the local root node for AUTOFILL_WALLET_DATA | 138 // TODO(pvalenzuela): Assert that the local root node for AUTOFILL_WALLET_DATA |
| 139 // exists. | 139 // exists. |
| 140 ASSERT_FALSE(GetClient(0)->service()->GetActiveDataTypes().Has( | 140 ASSERT_TRUE(GetClient(0)->service()->GetActiveDataTypes().Has( |
| 141 syncer::AUTOFILL_WALLET_METADATA)); | 141 syncer::AUTOFILL_WALLET_METADATA)); |
| 142 } | 142 } |
| 143 | 143 |
| 144 // Tests that an experiment received at sync startup time (during sign-in) | 144 // Tests that an experiment received at sync startup time (during sign-in) |
| 145 // enables the wallet datatype. | 145 // enables the wallet datatype. |
| 146 IN_PROC_BROWSER_TEST_F(SingleClientWalletSyncTest, | 146 IN_PROC_BROWSER_TEST_F(SingleClientWalletSyncTest, |
| 147 EnabledViaExperimentStartup) { | 147 EnabledViaExperimentStartup) { |
| 148 sync_pb::EntitySpecifics experiment_entity; | 148 sync_pb::EntitySpecifics experiment_entity; |
| 149 sync_pb::ExperimentsSpecifics* experiment_specifics = | 149 sync_pb::ExperimentsSpecifics* experiment_specifics = |
| 150 experiment_entity.mutable_experiments(); | 150 experiment_entity.mutable_experiments(); |
| 151 experiment_specifics->mutable_wallet_sync()->set_enabled(true); | 151 experiment_specifics->mutable_wallet_sync()->set_enabled(true); |
| 152 GetFakeServer()->InjectEntity( | 152 GetFakeServer()->InjectEntity( |
| 153 fake_server::UniqueClientEntity::CreateForInjection( | 153 fake_server::UniqueClientEntity::CreateForInjection( |
| 154 kWalletSyncExperimentTag, | 154 kWalletSyncExperimentTag, |
| 155 experiment_entity)); | 155 experiment_entity)); |
| 156 | 156 |
| 157 ASSERT_TRUE(SetupSync()) << "SetupSync() failed"; | 157 ASSERT_TRUE(SetupSync()) << "SetupSync() failed"; |
| 158 ASSERT_TRUE(GetClient(0)->service()->GetActiveDataTypes().Has( | 158 ASSERT_TRUE(GetClient(0)->service()->GetActiveDataTypes().Has( |
| 159 syncer::AUTOFILL_WALLET_DATA)); | 159 syncer::AUTOFILL_WALLET_DATA)); |
| 160 ASSERT_FALSE(GetClient(0)->service()->GetActiveDataTypes().Has( | 160 ASSERT_TRUE(GetClient(0)->service()->GetActiveDataTypes().Has( |
| 161 syncer::AUTOFILL_WALLET_METADATA)); | 161 syncer::AUTOFILL_WALLET_METADATA)); |
| 162 } | 162 } |
| 163 | 163 |
| 164 // Tests receiving an enable experiment at runtime, followed by a disabled | 164 // Tests receiving an enable experiment at runtime, followed by a disabled |
| 165 // experiment, and verifies the datatype is enabled/disabled as necessary. | 165 // experiment, and verifies the datatype is enabled/disabled as necessary. |
| 166 IN_PROC_BROWSER_TEST_F(SingleClientWalletSyncTest, | 166 IN_PROC_BROWSER_TEST_F(SingleClientWalletSyncTest, |
| 167 EnabledDisabledViaExperiment) { | 167 EnabledDisabledViaExperiment) { |
| 168 ASSERT_TRUE(SetupSync()) << "SetupSync() failed"; | 168 ASSERT_TRUE(SetupSync()) << "SetupSync() failed"; |
| 169 ASSERT_FALSE(GetClient(0)->service()->GetActiveDataTypes(). | 169 ASSERT_FALSE(GetClient(0)->service()->GetActiveDataTypes(). |
| 170 Has(syncer::AUTOFILL_WALLET_DATA)); | 170 Has(syncer::AUTOFILL_WALLET_DATA)); |
| 171 | 171 |
| 172 sync_pb::EntitySpecifics experiment_entity; | 172 sync_pb::EntitySpecifics experiment_entity; |
| 173 sync_pb::ExperimentsSpecifics* experiment_specifics = | 173 sync_pb::ExperimentsSpecifics* experiment_specifics = |
| 174 experiment_entity.mutable_experiments(); | 174 experiment_entity.mutable_experiments(); |
| 175 | 175 |
| 176 // First enable the experiment. | 176 // First enable the experiment. |
| 177 experiment_specifics->mutable_wallet_sync()->set_enabled(true); | 177 experiment_specifics->mutable_wallet_sync()->set_enabled(true); |
| 178 GetFakeServer()->InjectEntity( | 178 GetFakeServer()->InjectEntity( |
| 179 fake_server::UniqueClientEntity::CreateForInjection( | 179 fake_server::UniqueClientEntity::CreateForInjection( |
| 180 kWalletSyncExperimentTag, experiment_entity)); | 180 kWalletSyncExperimentTag, experiment_entity)); |
| 181 TriggerSyncCycle(); | 181 TriggerSyncCycle(); |
| 182 | 182 |
| 183 WalletEnabledChecker enabled_checker; | 183 WalletEnabledChecker enabled_checker; |
| 184 enabled_checker.Wait(); | 184 enabled_checker.Wait(); |
| 185 ASSERT_FALSE(enabled_checker.TimedOut()); | 185 ASSERT_FALSE(enabled_checker.TimedOut()); |
| 186 ASSERT_TRUE(GetClient(0)->service()->GetActiveDataTypes().Has( | 186 ASSERT_TRUE(GetClient(0)->service()->GetActiveDataTypes().Has( |
| 187 syncer::AUTOFILL_WALLET_DATA)); | 187 syncer::AUTOFILL_WALLET_DATA)); |
| 188 ASSERT_FALSE(GetClient(0)->service()->GetActiveDataTypes().Has( | 188 ASSERT_TRUE(GetClient(0)->service()->GetActiveDataTypes().Has( |
| 189 syncer::AUTOFILL_WALLET_METADATA)); | 189 syncer::AUTOFILL_WALLET_METADATA)); |
| 190 | 190 |
| 191 // Then disable the experiment. | 191 // Then disable the experiment. |
| 192 experiment_specifics->mutable_wallet_sync()->set_enabled(false); | 192 experiment_specifics->mutable_wallet_sync()->set_enabled(false); |
| 193 GetFakeServer()->InjectEntity( | 193 GetFakeServer()->InjectEntity( |
| 194 fake_server::UniqueClientEntity::CreateForInjection( | 194 fake_server::UniqueClientEntity::CreateForInjection( |
| 195 kWalletSyncExperimentTag, experiment_entity)); | 195 kWalletSyncExperimentTag, experiment_entity)); |
| 196 TriggerSyncCycle(); | 196 TriggerSyncCycle(); |
| 197 | 197 |
| 198 WalletDisabledChecker disable_checker; | 198 WalletDisabledChecker disable_checker; |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 276 std::vector<autofill::CreditCard*> cards = pdm->GetCreditCards(); | 276 std::vector<autofill::CreditCard*> cards = pdm->GetCreditCards(); |
| 277 ASSERT_EQ(1uL, cards.size()); | 277 ASSERT_EQ(1uL, cards.size()); |
| 278 | 278 |
| 279 // Turn off the wallet autofill pref, the card should be gone as a side | 279 // Turn off the wallet autofill pref, the card should be gone as a side |
| 280 // effect of the wallet data type controller noticing. | 280 // effect of the wallet data type controller noticing. |
| 281 GetProfile(0)->GetPrefs()->SetBoolean( | 281 GetProfile(0)->GetPrefs()->SetBoolean( |
| 282 autofill::prefs::kAutofillWalletImportEnabled, false); | 282 autofill::prefs::kAutofillWalletImportEnabled, false); |
| 283 cards = pdm->GetCreditCards(); | 283 cards = pdm->GetCreditCards(); |
| 284 ASSERT_EQ(0uL, cards.size()); | 284 ASSERT_EQ(0uL, cards.size()); |
| 285 } | 285 } |
| OLD | NEW |