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

Side by Side Diff: sync/engine/download_unittest.cc

Issue 161253002: sync: Add interfaces for per-type sync (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Another win compile fix Created 6 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 | Annotate | Revision Log
« no previous file with comments | « sync/engine/directory_update_handler_unittest.cc ('k') | sync/engine/get_updates_delegate.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "sync/engine/download.h" 5 #include "sync/engine/download.h"
6 6
7 #include "base/message_loop/message_loop.h" 7 #include "base/message_loop/message_loop.h"
8 #include "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "sync/engine/get_updates_delegate.h" 9 #include "sync/engine/get_updates_delegate.h"
10 #include "sync/engine/sync_directory_update_handler.h" 10 #include "sync/engine/update_handler.h"
11 #include "sync/internal_api/public/base/model_type_test_util.h" 11 #include "sync/internal_api/public/base/model_type_test_util.h"
12 #include "sync/protocol/sync.pb.h" 12 #include "sync/protocol/sync.pb.h"
13 #include "sync/sessions/debug_info_getter.h" 13 #include "sync/sessions/debug_info_getter.h"
14 #include "sync/sessions/nudge_tracker.h" 14 #include "sync/sessions/nudge_tracker.h"
15 #include "sync/sessions/status_controller.h" 15 #include "sync/sessions/status_controller.h"
16 #include "sync/syncable/directory.h"
17 #include "sync/test/engine/fake_model_worker.h" 16 #include "sync/test/engine/fake_model_worker.h"
18 #include "sync/test/engine/test_directory_setter_upper.h" 17 #include "sync/test/engine/mock_update_handler.h"
19 #include "sync/test/sessions/mock_debug_info_getter.h" 18 #include "sync/test/sessions/mock_debug_info_getter.h"
20 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
21 20
22 namespace syncer { 21 namespace syncer {
23 22
24 using sessions::MockDebugInfoGetter; 23 using sessions::MockDebugInfoGetter;
25 24
26 // A test fixture for tests exercising download updates functions. 25 // A test fixture for tests exercising download updates functions.
27 class DownloadUpdatesTest : public ::testing::Test { 26 class DownloadUpdatesTest : public ::testing::Test {
28 protected: 27 protected:
29 DownloadUpdatesTest() : 28 DownloadUpdatesTest() :
30 kTestStartTime(base::TimeTicks::Now()), 29 kTestStartTime(base::TimeTicks::Now()),
31 update_handler_deleter_(&update_handler_map_) {} 30 update_handler_deleter_(&update_handler_map_) {}
32 31
33 virtual void SetUp() { 32 virtual void SetUp() {
34 dir_maker_.SetUp(); 33 AddUpdateHandler(AUTOFILL);
35 34 AddUpdateHandler(BOOKMARKS);
36 AddUpdateHandler(AUTOFILL, GROUP_DB); 35 AddUpdateHandler(PREFERENCES);
37 AddUpdateHandler(BOOKMARKS, GROUP_UI);
38 AddUpdateHandler(PREFERENCES, GROUP_UI);
39 }
40
41 virtual void TearDown() {
42 dir_maker_.TearDown();
43 } 36 }
44 37
45 ModelTypeSet request_types() { 38 ModelTypeSet request_types() {
46 return request_types_; 39 return request_types_;
47 } 40 }
48 41
49 syncable::Directory* directory() {
50 return dir_maker_.directory();
51 }
52
53 scoped_ptr<GetUpdatesProcessor> BuildGetUpdatesProcessor( 42 scoped_ptr<GetUpdatesProcessor> BuildGetUpdatesProcessor(
54 const GetUpdatesDelegate& delegate) { 43 const GetUpdatesDelegate& delegate) {
55 return scoped_ptr<GetUpdatesProcessor>( 44 return scoped_ptr<GetUpdatesProcessor>(
56 new GetUpdatesProcessor(&update_handler_map_, delegate)); 45 new GetUpdatesProcessor(&update_handler_map_, delegate));
57 } 46 }
58 47
59 void InitFakeUpdateResponse(sync_pb::GetUpdatesResponse* response) { 48 void InitFakeUpdateResponse(sync_pb::GetUpdatesResponse* response) {
60 ModelTypeSet types = request_types(); 49 ModelTypeSet types = request_types();
61 50
62 for (ModelTypeSet::Iterator it = types.First(); it.Good(); it.Inc()) { 51 for (ModelTypeSet::Iterator it = types.First(); it.Good(); it.Inc()) {
63 sync_pb::DataTypeProgressMarker* marker = 52 sync_pb::DataTypeProgressMarker* marker =
64 response->add_new_progress_marker(); 53 response->add_new_progress_marker();
65 marker->set_data_type_id(GetSpecificsFieldNumberFromModelType(it.Get())); 54 marker->set_data_type_id(GetSpecificsFieldNumberFromModelType(it.Get()));
66 marker->set_token("foobarbaz"); 55 marker->set_token("foobarbaz");
67 } 56 }
68 57
69 response->set_changes_remaining(0); 58 response->set_changes_remaining(0);
70 } 59 }
71 60
72 const base::TimeTicks kTestStartTime; 61 const base::TimeTicks kTestStartTime;
73 62
74 private: 63 private:
75 void AddUpdateHandler(ModelType type, ModelSafeGroup group) { 64 void AddUpdateHandler(ModelType type) {
76 DCHECK(directory());
77
78 request_types_.Put(type); 65 request_types_.Put(type);
79 66
80 scoped_refptr<ModelSafeWorker> worker = new FakeModelWorker(group); 67 UpdateHandler* handler = new MockUpdateHandler(type);
81 SyncDirectoryUpdateHandler* handler =
82 new SyncDirectoryUpdateHandler(directory(), type, worker);
83 update_handler_map_.insert(std::make_pair(type, handler)); 68 update_handler_map_.insert(std::make_pair(type, handler));
84 } 69 }
85 70
86 base::MessageLoop loop_; // Needed for directory init.
87 TestDirectorySetterUpper dir_maker_;
88
89 ModelTypeSet request_types_; 71 ModelTypeSet request_types_;
90 UpdateHandlerMap update_handler_map_; 72 UpdateHandlerMap update_handler_map_;
91 STLValueDeleter<UpdateHandlerMap> update_handler_deleter_; 73 STLValueDeleter<UpdateHandlerMap> update_handler_deleter_;
92 scoped_ptr<GetUpdatesProcessor> get_updates_processor_; 74 scoped_ptr<GetUpdatesProcessor> get_updates_processor_;
93 75
94 DISALLOW_COPY_AND_ASSIGN(DownloadUpdatesTest); 76 DISALLOW_COPY_AND_ASSIGN(DownloadUpdatesTest);
95 }; 77 };
96 78
97 // Basic test to make sure nudges are expressed properly in the request. 79 // Basic test to make sure nudges are expressed properly in the request.
98 TEST_F(DownloadUpdatesTest, BookmarkNudge) { 80 TEST_F(DownloadUpdatesTest, BookmarkNudge) {
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 TEST_F(DownloadUpdatesDebugInfoTest, VerifyCopyOverwrites) { 346 TEST_F(DownloadUpdatesDebugInfoTest, VerifyCopyOverwrites) {
365 sync_pb::DebugInfo debug_info; 347 sync_pb::DebugInfo debug_info;
366 AddDebugEvent(); 348 AddDebugEvent();
367 download::CopyClientDebugInfo(debug_info_getter(), &debug_info); 349 download::CopyClientDebugInfo(debug_info_getter(), &debug_info);
368 EXPECT_EQ(1, debug_info.events_size()); 350 EXPECT_EQ(1, debug_info.events_size());
369 download::CopyClientDebugInfo(debug_info_getter(), &debug_info); 351 download::CopyClientDebugInfo(debug_info_getter(), &debug_info);
370 EXPECT_EQ(1, debug_info.events_size()); 352 EXPECT_EQ(1, debug_info.events_size());
371 } 353 }
372 354
373 } // namespace syncer 355 } // namespace syncer
OLDNEW
« no previous file with comments | « sync/engine/directory_update_handler_unittest.cc ('k') | sync/engine/get_updates_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698