OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/sync/driver/generic_change_processor.h" | 5 #include "components/sync/driver/generic_change_processor.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 }; | 117 }; |
118 | 118 |
119 class SyncGenericChangeProcessorTest : public testing::Test { | 119 class SyncGenericChangeProcessorTest : public testing::Test { |
120 public: | 120 public: |
121 // Most test cases will use this type. For those that need a | 121 // Most test cases will use this type. For those that need a |
122 // GenericChangeProcessor for a different type, use |InitializeForType|. | 122 // GenericChangeProcessor for a different type, use |InitializeForType|. |
123 static const ModelType kType = PREFERENCES; | 123 static const ModelType kType = PREFERENCES; |
124 | 124 |
125 SyncGenericChangeProcessorTest() | 125 SyncGenericChangeProcessorTest() |
126 : syncable_service_ptr_factory_(&fake_syncable_service_), | 126 : syncable_service_ptr_factory_(&fake_syncable_service_), |
127 mock_attachment_service_(nullptr) {} | 127 mock_attachment_service_(nullptr), |
| 128 sync_client_(&sync_factory_) {} |
128 | 129 |
129 void SetUp() override { | 130 void SetUp() override { |
130 // Use kType by default, but allow test cases to re-initialize with whatever | 131 // Use kType by default, but allow test cases to re-initialize with whatever |
131 // type they choose. Therefore, it's important that all type dependent | 132 // type they choose. Therefore, it's important that all type dependent |
132 // initialization occurs in InitializeForType. | 133 // initialization occurs in InitializeForType. |
133 InitializeForType(kType); | 134 InitializeForType(kType); |
134 } | 135 } |
135 | 136 |
136 void TearDown() override { | 137 void TearDown() override { |
137 mock_attachment_service_ = nullptr; | 138 mock_attachment_service_ = nullptr; |
(...skipping 21 matching lines...) Expand all Loading... |
159 ConstructGenericChangeProcessor(type); | 160 ConstructGenericChangeProcessor(type); |
160 } | 161 } |
161 | 162 |
162 void ConstructGenericChangeProcessor(ModelType type) { | 163 void ConstructGenericChangeProcessor(ModelType type) { |
163 std::unique_ptr<AttachmentStore> attachment_store = | 164 std::unique_ptr<AttachmentStore> attachment_store = |
164 AttachmentStore::CreateInMemoryStore(); | 165 AttachmentStore::CreateInMemoryStore(); |
165 change_processor_ = base::MakeUnique<GenericChangeProcessor>( | 166 change_processor_ = base::MakeUnique<GenericChangeProcessor>( |
166 type, base::MakeUnique<DataTypeErrorHandlerMock>(), | 167 type, base::MakeUnique<DataTypeErrorHandlerMock>(), |
167 syncable_service_ptr_factory_.GetWeakPtr(), | 168 syncable_service_ptr_factory_.GetWeakPtr(), |
168 merge_result_ptr_factory_->GetWeakPtr(), test_user_share_->user_share(), | 169 merge_result_ptr_factory_->GetWeakPtr(), test_user_share_->user_share(), |
169 &sync_factory_, attachment_store->CreateAttachmentStoreForSync()); | 170 &sync_client_, attachment_store->CreateAttachmentStoreForSync()); |
170 mock_attachment_service_ = sync_factory_.GetMockAttachmentService(); | 171 mock_attachment_service_ = sync_factory_.GetMockAttachmentService(); |
171 } | 172 } |
172 | 173 |
173 void BuildChildNodes(ModelType type, int n) { | 174 void BuildChildNodes(ModelType type, int n) { |
174 WriteTransaction trans(FROM_HERE, user_share()); | 175 WriteTransaction trans(FROM_HERE, user_share()); |
175 for (int i = 0; i < n; ++i) { | 176 for (int i = 0; i < n; ++i) { |
176 WriteNode node(&trans); | 177 WriteNode node(&trans); |
177 node.InitUniqueByCreation(type, base::StringPrintf("node%05d", i)); | 178 node.InitUniqueByCreation(type, base::StringPrintf("node%05d", i)); |
178 } | 179 } |
179 } | 180 } |
(...skipping 16 matching lines...) Expand all Loading... |
196 | 197 |
197 std::unique_ptr<SyncMergeResult> sync_merge_result_; | 198 std::unique_ptr<SyncMergeResult> sync_merge_result_; |
198 std::unique_ptr<base::WeakPtrFactory<SyncMergeResult>> | 199 std::unique_ptr<base::WeakPtrFactory<SyncMergeResult>> |
199 merge_result_ptr_factory_; | 200 merge_result_ptr_factory_; |
200 | 201 |
201 FakeSyncableService fake_syncable_service_; | 202 FakeSyncableService fake_syncable_service_; |
202 base::WeakPtrFactory<FakeSyncableService> syncable_service_ptr_factory_; | 203 base::WeakPtrFactory<FakeSyncableService> syncable_service_ptr_factory_; |
203 | 204 |
204 std::unique_ptr<TestUserShare> test_user_share_; | 205 std::unique_ptr<TestUserShare> test_user_share_; |
205 MockAttachmentService* mock_attachment_service_; | 206 MockAttachmentService* mock_attachment_service_; |
| 207 FakeSyncClient sync_client_; |
206 MockSyncApiComponentFactory sync_factory_; | 208 MockSyncApiComponentFactory sync_factory_; |
207 | 209 |
208 std::unique_ptr<GenericChangeProcessor> change_processor_; | 210 std::unique_ptr<GenericChangeProcessor> change_processor_; |
209 }; | 211 }; |
210 | 212 |
211 // Similar to above, but focused on the method that implements sync/api | 213 // Similar to above, but focused on the method that implements sync/api |
212 // interfaces and is hence exposed to datatypes directly. | 214 // interfaces and is hence exposed to datatypes directly. |
213 TEST_F(SyncGenericChangeProcessorTest, StressGetAllSyncData) { | 215 TEST_F(SyncGenericChangeProcessorTest, StressGetAllSyncData) { |
214 const int kNumChildNodes = 1000; | 216 const int kNumChildNodes = 1000; |
215 const int kRepeatCount = 1; | 217 const int kRepeatCount = 1; |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
499 SyncDataList sync_data = change_processor()->GetAllSyncData(SESSIONS); | 501 SyncDataList sync_data = change_processor()->GetAllSyncData(SESSIONS); |
500 ASSERT_EQ(sync_data.size(), 1U); | 502 ASSERT_EQ(sync_data.size(), 1U); |
501 ASSERT_EQ("session tag 2", | 503 ASSERT_EQ("session tag 2", |
502 sync_data[0].GetSpecifics().session().session_tag()); | 504 sync_data[0].GetSpecifics().session().session_tag()); |
503 EXPECT_FALSE(SyncDataRemote(sync_data[0]).GetClientTagHash().empty()); | 505 EXPECT_FALSE(SyncDataRemote(sync_data[0]).GetClientTagHash().empty()); |
504 } | 506 } |
505 | 507 |
506 } // namespace | 508 } // namespace |
507 | 509 |
508 } // namespace syncer | 510 } // namespace syncer |
OLD | NEW |