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

Side by Side Diff: components/offline_pages/offline_page_metadata_store_impl_unittest.cc

Issue 1694863003: Refactor the offline page storage to include client namespace and id. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: move id generation to C++, add DB migration Created 4 years, 10 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 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 "components/offline_pages/offline_page_metadata_store_impl.h" 5 #include "components/offline_pages/offline_page_metadata_store_impl.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 138
139 // Close the store first to ensure file lock is removed. 139 // Close the store first to ensure file lock is removed.
140 store.reset(); 140 store.reset();
141 store = BuildStore(); 141 store = BuildStore();
142 PumpLoop(); 142 PumpLoop();
143 143
144 EXPECT_EQ(LOAD, last_called_callback_); 144 EXPECT_EQ(LOAD, last_called_callback_);
145 EXPECT_EQ(STATUS_TRUE, last_status_); 145 EXPECT_EQ(STATUS_TRUE, last_status_);
146 EXPECT_EQ(1U, offline_pages_.size()); 146 EXPECT_EQ(1U, offline_pages_.size());
147 EXPECT_EQ(offline_page.url, offline_pages_[0].url); 147 EXPECT_EQ(offline_page.url, offline_pages_[0].url);
148 EXPECT_EQ(offline_page.bookmark_id, offline_pages_[0].bookmark_id); 148 EXPECT_EQ(offline_page.offline_id, offline_pages_[0].offline_id);
149 EXPECT_EQ(offline_page.version, offline_pages_[0].version); 149 EXPECT_EQ(offline_page.version, offline_pages_[0].version);
150 EXPECT_EQ(offline_page.file_path, offline_pages_[0].file_path); 150 EXPECT_EQ(offline_page.file_path, offline_pages_[0].file_path);
151 EXPECT_EQ(offline_page.file_size, offline_pages_[0].file_size); 151 EXPECT_EQ(offline_page.file_size, offline_pages_[0].file_size);
152 EXPECT_EQ(offline_page.creation_time, offline_pages_[0].creation_time); 152 EXPECT_EQ(offline_page.creation_time, offline_pages_[0].creation_time);
153 EXPECT_EQ(offline_page.last_access_time, offline_pages_[0].last_access_time); 153 EXPECT_EQ(offline_page.last_access_time, offline_pages_[0].last_access_time);
154 EXPECT_EQ(offline_page.access_count, offline_pages_[0].access_count); 154 EXPECT_EQ(offline_page.access_count, offline_pages_[0].access_count);
155 EXPECT_EQ(offline_page.client_id, offline_pages_[0].client_id);
156 EXPECT_EQ(offline_page.client_id_name_space,
157 offline_pages_[0].client_id_name_space);
155 } 158 }
156 159
157 // Tests removing offline page metadata from the store, for which it first adds 160 // Tests removing offline page metadata from the store, for which it first adds
158 // metadata of an offline page. 161 // metadata of an offline page.
159 TEST_F(OfflinePageMetadataStoreImplTest, RemoveOfflinePage) { 162 TEST_F(OfflinePageMetadataStoreImplTest, RemoveOfflinePage) {
160 scoped_ptr<OfflinePageMetadataStoreImpl> store(BuildStore()); 163 scoped_ptr<OfflinePageMetadataStoreImpl> store(BuildStore());
161 164
162 // Add an offline page. 165 // Add an offline page.
163 OfflinePageItem offline_page(GURL(kTestURL), kTestBookmarkId, 166 OfflinePageItem offline_page(GURL(kTestURL), kTestBookmarkId,
164 base::FilePath(kFilePath), kFileSize); 167 base::FilePath(kFilePath), kFileSize);
165 store->AddOrUpdateOfflinePage( 168 store->AddOrUpdateOfflinePage(
166 offline_page, 169 offline_page,
167 base::Bind(&OfflinePageMetadataStoreImplTest::UpdateCallback, 170 base::Bind(&OfflinePageMetadataStoreImplTest::UpdateCallback,
168 base::Unretained(this), ADD)); 171 base::Unretained(this), ADD));
169 PumpLoop(); 172 PumpLoop();
170 EXPECT_EQ(ADD, last_called_callback_); 173 EXPECT_EQ(ADD, last_called_callback_);
171 EXPECT_EQ(STATUS_TRUE, last_status_); 174 EXPECT_EQ(STATUS_TRUE, last_status_);
172 175
173 ClearResults(); 176 ClearResults();
174 177
175 // Load the store. 178 // Load the store.
176 store->Load(base::Bind(&OfflinePageMetadataStoreImplTest::LoadCallback, 179 store->Load(base::Bind(&OfflinePageMetadataStoreImplTest::LoadCallback,
177 base::Unretained(this))); 180 base::Unretained(this)));
178 PumpLoop(); 181 PumpLoop();
179 EXPECT_EQ(LOAD, last_called_callback_); 182 EXPECT_EQ(LOAD, last_called_callback_);
180 EXPECT_EQ(1U, offline_pages_.size()); 183 EXPECT_EQ(1U, offline_pages_.size());
181 184
182 // Remove the offline page. 185 // Remove the offline page.
183 std::vector<int64_t> ids_to_remove; 186 std::vector<int64_t> ids_to_remove;
184 ids_to_remove.push_back(offline_page.bookmark_id); 187 ids_to_remove.push_back(offline_page.offline_id);
185 store->RemoveOfflinePages( 188 store->RemoveOfflinePages(
186 ids_to_remove, 189 ids_to_remove,
187 base::Bind(&OfflinePageMetadataStoreImplTest::UpdateCallback, 190 base::Bind(&OfflinePageMetadataStoreImplTest::UpdateCallback,
188 base::Unretained(this), REMOVE)); 191 base::Unretained(this), REMOVE));
189 PumpLoop(); 192 PumpLoop();
190 EXPECT_EQ(REMOVE, last_called_callback_); 193 EXPECT_EQ(REMOVE, last_called_callback_);
191 EXPECT_EQ(STATUS_TRUE, last_status_); 194 EXPECT_EQ(STATUS_TRUE, last_status_);
192 195
193 ClearResults(); 196 ClearResults();
194 197
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 store->Load(base::Bind(&OfflinePageMetadataStoreImplTest::LoadCallback, 248 store->Load(base::Bind(&OfflinePageMetadataStoreImplTest::LoadCallback,
246 base::Unretained(this))); 249 base::Unretained(this)));
247 PumpLoop(); 250 PumpLoop();
248 251
249 EXPECT_EQ(LOAD, last_called_callback_); 252 EXPECT_EQ(LOAD, last_called_callback_);
250 EXPECT_EQ(STATUS_TRUE, last_status_); 253 EXPECT_EQ(STATUS_TRUE, last_status_);
251 EXPECT_EQ(2U, offline_pages_.size()); 254 EXPECT_EQ(2U, offline_pages_.size());
252 255
253 // Remove the offline page. 256 // Remove the offline page.
254 std::vector<int64_t> ids_to_remove; 257 std::vector<int64_t> ids_to_remove;
255 ids_to_remove.push_back(offline_page_1.bookmark_id); 258 ids_to_remove.push_back(offline_page_1.offline_id);
256 store->RemoveOfflinePages( 259 store->RemoveOfflinePages(
257 ids_to_remove, 260 ids_to_remove,
258 base::Bind(&OfflinePageMetadataStoreImplTest::UpdateCallback, 261 base::Bind(&OfflinePageMetadataStoreImplTest::UpdateCallback,
259 base::Unretained(this), REMOVE)); 262 base::Unretained(this), REMOVE));
260 PumpLoop(); 263 PumpLoop();
261 EXPECT_EQ(REMOVE, last_called_callback_); 264 EXPECT_EQ(REMOVE, last_called_callback_);
262 EXPECT_EQ(STATUS_TRUE, last_status_); 265 EXPECT_EQ(STATUS_TRUE, last_status_);
263 266
264 ClearResults(); 267 ClearResults();
265 268
266 // Close and reload the store. 269 // Close and reload the store.
267 store.reset(); 270 store.reset();
268 store = BuildStore(); 271 store = BuildStore();
269 store->Load(base::Bind(&OfflinePageMetadataStoreImplTest::LoadCallback, 272 store->Load(base::Bind(&OfflinePageMetadataStoreImplTest::LoadCallback,
270 base::Unretained(this))); 273 base::Unretained(this)));
271 PumpLoop(); 274 PumpLoop();
272 275
273 EXPECT_EQ(LOAD, last_called_callback_); 276 EXPECT_EQ(LOAD, last_called_callback_);
274 EXPECT_EQ(STATUS_TRUE, last_status_); 277 EXPECT_EQ(STATUS_TRUE, last_status_);
275 EXPECT_EQ(1U, offline_pages_.size()); 278 EXPECT_EQ(1U, offline_pages_.size());
276 EXPECT_EQ(offline_page_2.url, offline_pages_[0].url); 279 EXPECT_EQ(offline_page_2.url, offline_pages_[0].url);
277 EXPECT_EQ(offline_page_2.bookmark_id, offline_pages_[0].bookmark_id); 280 EXPECT_EQ(offline_page_2.offline_id, offline_pages_[0].offline_id);
278 EXPECT_EQ(offline_page_2.version, offline_pages_[0].version); 281 EXPECT_EQ(offline_page_2.version, offline_pages_[0].version);
279 EXPECT_EQ(offline_page_2.file_path, offline_pages_[0].file_path); 282 EXPECT_EQ(offline_page_2.file_path, offline_pages_[0].file_path);
280 EXPECT_EQ(offline_page_2.file_size, offline_pages_[0].file_size); 283 EXPECT_EQ(offline_page_2.file_size, offline_pages_[0].file_size);
281 EXPECT_EQ(offline_page_2.creation_time, offline_pages_[0].creation_time); 284 EXPECT_EQ(offline_page_2.creation_time, offline_pages_[0].creation_time);
282 EXPECT_EQ(offline_page_2.last_access_time, 285 EXPECT_EQ(offline_page_2.last_access_time,
283 offline_pages_[0].last_access_time); 286 offline_pages_[0].last_access_time);
284 EXPECT_EQ(offline_page_2.access_count, offline_pages_[0].access_count); 287 EXPECT_EQ(offline_page_2.access_count, offline_pages_[0].access_count);
288 EXPECT_EQ(offline_page_2.client_id, offline_pages_[0].client_id);
289 EXPECT_EQ(offline_page_2.client_id_name_space,
290 offline_pages_[0].client_id_name_space);
285 } 291 }
286 292
287 // Tests updating offline page metadata from the store. 293 // Tests updating offline page metadata from the store.
288 TEST_F(OfflinePageMetadataStoreImplTest, UpdateOfflinePage) { 294 TEST_F(OfflinePageMetadataStoreImplTest, UpdateOfflinePage) {
289 scoped_ptr<OfflinePageMetadataStoreImpl> store(BuildStore()); 295 scoped_ptr<OfflinePageMetadataStoreImpl> store(BuildStore());
290 296
291 // First, adds a fresh page. 297 // First, adds a fresh page.
292 OfflinePageItem offline_page(GURL(kTestURL), kTestBookmarkId, 298 OfflinePageItem offline_page(GURL(kTestURL), kTestBookmarkId,
293 base::FilePath(kFilePath), kFileSize); 299 base::FilePath(kFilePath), kFileSize);
294 store->AddOrUpdateOfflinePage( 300 store->AddOrUpdateOfflinePage(
295 offline_page, 301 offline_page,
296 base::Bind(&OfflinePageMetadataStoreImplTest::UpdateCallback, 302 base::Bind(&OfflinePageMetadataStoreImplTest::UpdateCallback,
297 base::Unretained(this), ADD)); 303 base::Unretained(this), ADD));
298 PumpLoop(); 304 PumpLoop();
299 EXPECT_EQ(ADD, last_called_callback_); 305 EXPECT_EQ(ADD, last_called_callback_);
300 EXPECT_EQ(STATUS_TRUE, last_status_); 306 EXPECT_EQ(STATUS_TRUE, last_status_);
301 307
302 ClearResults(); 308 ClearResults();
303 store->Load(base::Bind(&OfflinePageMetadataStoreImplTest::LoadCallback, 309 store->Load(base::Bind(&OfflinePageMetadataStoreImplTest::LoadCallback,
304 base::Unretained(this))); 310 base::Unretained(this)));
305 PumpLoop(); 311 PumpLoop();
306 312
307 EXPECT_EQ(LOAD, last_called_callback_); 313 EXPECT_EQ(LOAD, last_called_callback_);
308 EXPECT_EQ(STATUS_TRUE, last_status_); 314 EXPECT_EQ(STATUS_TRUE, last_status_);
309 EXPECT_EQ(1U, offline_pages_.size()); 315 EXPECT_EQ(1U, offline_pages_.size());
310 EXPECT_EQ(offline_page.url, offline_pages_[0].url); 316 EXPECT_EQ(offline_page.url, offline_pages_[0].url);
311 EXPECT_EQ(offline_page.bookmark_id, offline_pages_[0].bookmark_id); 317 EXPECT_EQ(offline_page.offline_id, offline_pages_[0].offline_id);
312 EXPECT_EQ(offline_page.version, offline_pages_[0].version); 318 EXPECT_EQ(offline_page.version, offline_pages_[0].version);
313 EXPECT_EQ(offline_page.file_path, offline_pages_[0].file_path); 319 EXPECT_EQ(offline_page.file_path, offline_pages_[0].file_path);
314 EXPECT_EQ(offline_page.file_size, offline_pages_[0].file_size); 320 EXPECT_EQ(offline_page.file_size, offline_pages_[0].file_size);
315 EXPECT_EQ(offline_page.creation_time, offline_pages_[0].creation_time); 321 EXPECT_EQ(offline_page.creation_time, offline_pages_[0].creation_time);
316 EXPECT_EQ(offline_page.last_access_time, offline_pages_[0].last_access_time); 322 EXPECT_EQ(offline_page.last_access_time, offline_pages_[0].last_access_time);
317 EXPECT_EQ(offline_page.access_count, offline_pages_[0].access_count); 323 EXPECT_EQ(offline_page.access_count, offline_pages_[0].access_count);
324 EXPECT_EQ(offline_page.client_id, offline_pages_[0].client_id);
325 EXPECT_EQ(offline_page.client_id_name_space,
326 offline_pages_[0].client_id_name_space);
318 327
319 // Then updates some data. 328 // Then updates some data.
320 offline_page.file_size = kFileSize + 1; 329 offline_page.file_size = kFileSize + 1;
321 offline_page.access_count++; 330 offline_page.access_count++;
322 store->AddOrUpdateOfflinePage( 331 store->AddOrUpdateOfflinePage(
323 offline_page, 332 offline_page,
324 base::Bind(&OfflinePageMetadataStoreImplTest::UpdateCallback, 333 base::Bind(&OfflinePageMetadataStoreImplTest::UpdateCallback,
325 base::Unretained(this), ADD)); 334 base::Unretained(this), ADD));
326 PumpLoop(); 335 PumpLoop();
327 EXPECT_EQ(ADD, last_called_callback_); 336 EXPECT_EQ(ADD, last_called_callback_);
328 EXPECT_EQ(STATUS_TRUE, last_status_); 337 EXPECT_EQ(STATUS_TRUE, last_status_);
329 338
330 ClearResults(); 339 ClearResults();
331 store->Load(base::Bind(&OfflinePageMetadataStoreImplTest::LoadCallback, 340 store->Load(base::Bind(&OfflinePageMetadataStoreImplTest::LoadCallback,
332 base::Unretained(this))); 341 base::Unretained(this)));
333 PumpLoop(); 342 PumpLoop();
334 343
335 EXPECT_EQ(LOAD, last_called_callback_); 344 EXPECT_EQ(LOAD, last_called_callback_);
336 EXPECT_EQ(STATUS_TRUE, last_status_); 345 EXPECT_EQ(STATUS_TRUE, last_status_);
337 EXPECT_EQ(1U, offline_pages_.size()); 346 EXPECT_EQ(1U, offline_pages_.size());
338 EXPECT_EQ(offline_page.url, offline_pages_[0].url); 347 EXPECT_EQ(offline_page.url, offline_pages_[0].url);
339 EXPECT_EQ(offline_page.bookmark_id, offline_pages_[0].bookmark_id); 348 EXPECT_EQ(offline_page.offline_id, offline_pages_[0].offline_id);
340 EXPECT_EQ(offline_page.version, offline_pages_[0].version); 349 EXPECT_EQ(offline_page.version, offline_pages_[0].version);
341 EXPECT_EQ(offline_page.file_path, offline_pages_[0].file_path); 350 EXPECT_EQ(offline_page.file_path, offline_pages_[0].file_path);
342 EXPECT_EQ(offline_page.file_size, offline_pages_[0].file_size); 351 EXPECT_EQ(offline_page.file_size, offline_pages_[0].file_size);
343 EXPECT_EQ(offline_page.creation_time, offline_pages_[0].creation_time); 352 EXPECT_EQ(offline_page.creation_time, offline_pages_[0].creation_time);
344 EXPECT_EQ(offline_page.last_access_time, offline_pages_[0].last_access_time); 353 EXPECT_EQ(offline_page.last_access_time, offline_pages_[0].last_access_time);
345 EXPECT_EQ(offline_page.access_count, offline_pages_[0].access_count); 354 EXPECT_EQ(offline_page.access_count, offline_pages_[0].access_count);
355 EXPECT_EQ(offline_page.client_id, offline_pages_[0].client_id);
356 EXPECT_EQ(offline_page.client_id_name_space,
357 offline_pages_[0].client_id_name_space);
346 } 358 }
347 359
348 } // namespace 360 } // namespace
349 361
350 } // namespace offline_pages 362 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698