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

Side by Side Diff: chrome/browser/sync/glue/autofill_data_type_controller_unittest.cc

Issue 408003002: [Sync] Fix namespace for sync_driver component (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/bind.h" 5 #include "base/bind.h"
6 #include "base/callback.h" 6 #include "base/callback.h"
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/memory/weak_ptr.h" 9 #include "base/memory/weak_ptr.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 131
132 private: 132 private:
133 DISALLOW_COPY_AND_ASSIGN(MockWebDataServiceWrapperSyncable); 133 DISALLOW_COPY_AND_ASSIGN(MockWebDataServiceWrapperSyncable);
134 }; 134 };
135 135
136 class SyncAutofillDataTypeControllerTest : public testing::Test { 136 class SyncAutofillDataTypeControllerTest : public testing::Test {
137 public: 137 public:
138 SyncAutofillDataTypeControllerTest() 138 SyncAutofillDataTypeControllerTest()
139 : thread_bundle_(content::TestBrowserThreadBundle::REAL_DB_THREAD), 139 : thread_bundle_(content::TestBrowserThreadBundle::REAL_DB_THREAD),
140 service_(&profile_), 140 service_(&profile_),
141 last_start_result_(DataTypeController::OK), 141 last_start_result_(sync_driver::DataTypeController::OK),
142 weak_ptr_factory_(this) {} 142 weak_ptr_factory_(this) {}
143 143
144 virtual ~SyncAutofillDataTypeControllerTest() {} 144 virtual ~SyncAutofillDataTypeControllerTest() {}
145 145
146 virtual void SetUp() { 146 virtual void SetUp() {
147 EXPECT_CALL(profile_sync_factory_, 147 EXPECT_CALL(profile_sync_factory_,
148 GetSyncableServiceForType(_)). 148 GetSyncableServiceForType(_)).
149 WillRepeatedly(Return(base::WeakPtr<syncer::SyncableService>())); 149 WillRepeatedly(Return(base::WeakPtr<syncer::SyncableService>()));
150 150
151 WebDataServiceFactory::GetInstance()->SetTestingFactory( 151 WebDataServiceFactory::GetInstance()->SetTestingFactory(
152 &profile_, MockWebDataServiceWrapperSyncable::Build); 152 &profile_, MockWebDataServiceWrapperSyncable::Build);
153 153
154 autofill_dtc_ = 154 autofill_dtc_ =
155 new AutofillDataTypeController( 155 new AutofillDataTypeController(
156 &profile_sync_factory_, &profile_, 156 &profile_sync_factory_, &profile_,
157 DataTypeController::DisableTypeCallback()); 157 sync_driver::DataTypeController::DisableTypeCallback());
158 } 158 }
159 159
160 // Passed to AutofillDTC::Start(). 160 // Passed to AutofillDTC::Start().
161 void OnStartFinished(DataTypeController::StartResult result, 161 void OnStartFinished(sync_driver::DataTypeController::StartResult result,
162 const syncer::SyncMergeResult& local_merge_result, 162 const syncer::SyncMergeResult& local_merge_result,
163 const syncer::SyncMergeResult& syncer_merge_result) { 163 const syncer::SyncMergeResult& syncer_merge_result) {
164 last_start_result_ = result; 164 last_start_result_ = result;
165 last_start_error_ = local_merge_result.error(); 165 last_start_error_ = local_merge_result.error();
166 } 166 }
167 167
168 void OnLoadFinished(syncer::ModelType type, syncer::SyncError error) { 168 void OnLoadFinished(syncer::ModelType type, syncer::SyncError error) {
169 EXPECT_FALSE(error.IsSet()); 169 EXPECT_FALSE(error.IsSet());
170 EXPECT_EQ(type, syncer::AUTOFILL); 170 EXPECT_EQ(type, syncer::AUTOFILL);
171 } 171 }
(...skipping 10 matching lines...) Expand all
182 } 182 }
183 183
184 protected: 184 protected:
185 content::TestBrowserThreadBundle thread_bundle_; 185 content::TestBrowserThreadBundle thread_bundle_;
186 ProfileSyncComponentsFactoryMock profile_sync_factory_; 186 ProfileSyncComponentsFactoryMock profile_sync_factory_;
187 TestingProfile profile_; 187 TestingProfile profile_;
188 ProfileSyncServiceMock service_; 188 ProfileSyncServiceMock service_;
189 scoped_refptr<AutofillDataTypeController> autofill_dtc_; 189 scoped_refptr<AutofillDataTypeController> autofill_dtc_;
190 190
191 // Stores arguments of most recent call of OnStartFinished(). 191 // Stores arguments of most recent call of OnStartFinished().
192 DataTypeController::StartResult last_start_result_; 192 sync_driver::DataTypeController::StartResult last_start_result_;
193 syncer::SyncError last_start_error_; 193 syncer::SyncError last_start_error_;
194 base::WeakPtrFactory<SyncAutofillDataTypeControllerTest> weak_ptr_factory_; 194 base::WeakPtrFactory<SyncAutofillDataTypeControllerTest> weak_ptr_factory_;
195 }; 195 };
196 196
197 // Load the WDS's database, then start the Autofill DTC. It should 197 // Load the WDS's database, then start the Autofill DTC. It should
198 // immediately try to start association and fail (due to missing DB 198 // immediately try to start association and fail (due to missing DB
199 // thread). 199 // thread).
200 TEST_F(SyncAutofillDataTypeControllerTest, StartWDSReady) { 200 TEST_F(SyncAutofillDataTypeControllerTest, StartWDSReady) {
201 FakeWebDataService* web_db = 201 FakeWebDataService* web_db =
202 static_cast<FakeWebDataService*>( 202 static_cast<FakeWebDataService*>(
203 WebDataServiceFactory::GetAutofillWebDataForProfile( 203 WebDataServiceFactory::GetAutofillWebDataForProfile(
204 &profile_, Profile::EXPLICIT_ACCESS).get()); 204 &profile_, Profile::EXPLICIT_ACCESS).get());
205 web_db->LoadDatabase(); 205 web_db->LoadDatabase();
206 autofill_dtc_->LoadModels( 206 autofill_dtc_->LoadModels(
207 base::Bind(&SyncAutofillDataTypeControllerTest::OnLoadFinished, 207 base::Bind(&SyncAutofillDataTypeControllerTest::OnLoadFinished,
208 weak_ptr_factory_.GetWeakPtr())); 208 weak_ptr_factory_.GetWeakPtr()));
209 209
210 autofill_dtc_->StartAssociating( 210 autofill_dtc_->StartAssociating(
211 base::Bind(&SyncAutofillDataTypeControllerTest::OnStartFinished, 211 base::Bind(&SyncAutofillDataTypeControllerTest::OnStartFinished,
212 weak_ptr_factory_.GetWeakPtr())); 212 weak_ptr_factory_.GetWeakPtr()));
213 BlockForDBThread(); 213 BlockForDBThread();
214 214
215 EXPECT_EQ(DataTypeController::ASSOCIATION_FAILED, last_start_result_); 215 EXPECT_EQ(sync_driver::DataTypeController::ASSOCIATION_FAILED,
216 last_start_result_);
216 EXPECT_TRUE(last_start_error_.IsSet()); 217 EXPECT_TRUE(last_start_error_.IsSet());
217 EXPECT_EQ(DataTypeController::DISABLED, autofill_dtc_->state()); 218 EXPECT_EQ(sync_driver::DataTypeController::DISABLED, autofill_dtc_->state());
218 } 219 }
219 220
220 // Start the autofill DTC without the WDS's database loaded, then 221 // Start the autofill DTC without the WDS's database loaded, then
221 // start the DB. The Autofill DTC should be in the MODEL_STARTING 222 // start the DB. The Autofill DTC should be in the MODEL_STARTING
222 // state until the database in loaded, when it should try to start 223 // state until the database in loaded, when it should try to start
223 // association and fail (due to missing DB thread). 224 // association and fail (due to missing DB thread).
224 TEST_F(SyncAutofillDataTypeControllerTest, StartWDSNotReady) { 225 TEST_F(SyncAutofillDataTypeControllerTest, StartWDSNotReady) {
225 autofill_dtc_->LoadModels( 226 autofill_dtc_->LoadModels(
226 base::Bind(&SyncAutofillDataTypeControllerTest::OnLoadFinished, 227 base::Bind(&SyncAutofillDataTypeControllerTest::OnLoadFinished,
227 weak_ptr_factory_.GetWeakPtr())); 228 weak_ptr_factory_.GetWeakPtr()));
228 229
229 EXPECT_EQ(DataTypeController::OK, last_start_result_); 230 EXPECT_EQ(sync_driver::DataTypeController::OK, last_start_result_);
230 EXPECT_FALSE(last_start_error_.IsSet()); 231 EXPECT_FALSE(last_start_error_.IsSet());
231 EXPECT_EQ(DataTypeController::MODEL_STARTING, autofill_dtc_->state()); 232 EXPECT_EQ(sync_driver::DataTypeController::MODEL_STARTING,
233 autofill_dtc_->state());
232 234
233 FakeWebDataService* web_db = 235 FakeWebDataService* web_db = static_cast<FakeWebDataService*>(
234 static_cast<FakeWebDataService*>( 236 WebDataServiceFactory::GetAutofillWebDataForProfile(
235 WebDataServiceFactory::GetAutofillWebDataForProfile( 237 &profile_, Profile::EXPLICIT_ACCESS).get());
236 &profile_, Profile::EXPLICIT_ACCESS).get());
237 web_db->LoadDatabase(); 238 web_db->LoadDatabase();
238 239
239 autofill_dtc_->StartAssociating( 240 autofill_dtc_->StartAssociating(
240 base::Bind(&SyncAutofillDataTypeControllerTest::OnStartFinished, 241 base::Bind(&SyncAutofillDataTypeControllerTest::OnStartFinished,
241 weak_ptr_factory_.GetWeakPtr())); 242 weak_ptr_factory_.GetWeakPtr()));
242 BlockForDBThread(); 243 BlockForDBThread();
243 244
244 EXPECT_EQ(DataTypeController::ASSOCIATION_FAILED, last_start_result_); 245 EXPECT_EQ(sync_driver::DataTypeController::ASSOCIATION_FAILED,
246 last_start_result_);
245 EXPECT_TRUE(last_start_error_.IsSet()); 247 EXPECT_TRUE(last_start_error_.IsSet());
246 248
247 EXPECT_EQ(DataTypeController::DISABLED, autofill_dtc_->state()); 249 EXPECT_EQ(sync_driver::DataTypeController::DISABLED, autofill_dtc_->state());
248 } 250 }
249 251
250 } // namespace 252 } // namespace
251 253
252 } // namespace browser_sync 254 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698