| OLD | NEW |
| 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 "chrome/browser/sync/abstract_profile_sync_service_test.h" | 5 #include "chrome/browser/sync/abstract_profile_sync_service_test.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
| 9 #include "base/location.h" | 9 #include "base/location.h" |
| 10 #include "chrome/browser/sync/test_profile_sync_service.h" | 10 #include "chrome/browser/sync/test_profile_sync_service.h" |
| 11 #include "sync/internal_api/public/test/test_user_share.h" |
| 11 #include "sync/internal_api/public/write_transaction.h" | 12 #include "sync/internal_api/public/write_transaction.h" |
| 12 #include "sync/protocol/sync.pb.h" | 13 #include "sync/protocol/sync.pb.h" |
| 13 #include "sync/syncable/entry.h" | 14 #include "sync/syncable/entry.h" |
| 14 #include "sync/syncable/mutable_entry.h" | 15 #include "sync/syncable/mutable_entry.h" |
| 15 #include "sync/syncable/write_transaction.h" | 16 #include "sync/syncable/write_transaction.h" |
| 16 #include "sync/test/engine/test_id_factory.h" | 17 #include "sync/test/engine/test_id_factory.h" |
| 17 #include "sync/util/cryptographer.h" | 18 #include "sync/util/cryptographer.h" |
| 18 | 19 |
| 19 using syncer::TestIdFactory; | 20 using syncer::TestIdFactory; |
| 20 using content::BrowserThread; | 21 using content::BrowserThread; |
| 21 using syncer::ModelType; | 22 using syncer::ModelType; |
| 22 using syncer::UserShare; | 23 using syncer::UserShare; |
| 23 using syncer::syncable::BASE_VERSION; | 24 using syncer::syncable::BASE_VERSION; |
| 24 using syncer::syncable::CREATE; | 25 using syncer::syncable::CREATE; |
| 25 using syncer::syncable::IS_DEL; | 26 using syncer::syncable::IS_DEL; |
| 26 using syncer::syncable::IS_DIR; | 27 using syncer::syncable::IS_DIR; |
| 27 using syncer::syncable::IS_UNAPPLIED_UPDATE; | 28 using syncer::syncable::IS_UNAPPLIED_UPDATE; |
| 28 using syncer::syncable::IS_UNSYNCED; | 29 using syncer::syncable::IS_UNSYNCED; |
| 29 using syncer::syncable::MutableEntry; | 30 using syncer::syncable::MutableEntry; |
| 30 using syncer::syncable::SERVER_IS_DIR; | 31 using syncer::syncable::SERVER_IS_DIR; |
| 31 using syncer::syncable::SERVER_VERSION; | 32 using syncer::syncable::SERVER_VERSION; |
| 32 using syncer::syncable::SPECIFICS; | 33 using syncer::syncable::SPECIFICS; |
| 33 using syncer::syncable::UNIQUE_SERVER_TAG; | 34 using syncer::syncable::UNIQUE_SERVER_TAG; |
| 34 using syncer::syncable::UNITTEST; | 35 using syncer::syncable::UNITTEST; |
| 35 using syncer::syncable::WriteTransaction; | 36 using syncer::syncable::WriteTransaction; |
| 36 | 37 |
| 37 /* static */ | 38 /* static */ |
| 38 const std::string ProfileSyncServiceTestHelper::GetTagForType( | |
| 39 ModelType model_type) { | |
| 40 return syncer::ModelTypeToRootTag(model_type); | |
| 41 } | |
| 42 | |
| 43 /* static */ | |
| 44 bool ProfileSyncServiceTestHelper::CreateRoot(ModelType model_type, | |
| 45 UserShare* user_share, | |
| 46 TestIdFactory* ids) { | |
| 47 syncer::syncable::Directory* directory = user_share->directory.get(); | |
| 48 | |
| 49 std::string tag_name = GetTagForType(model_type); | |
| 50 | |
| 51 WriteTransaction wtrans(FROM_HERE, UNITTEST, directory); | |
| 52 MutableEntry node(&wtrans, | |
| 53 CREATE, | |
| 54 wtrans.root_id(), | |
| 55 tag_name); | |
| 56 node.Put(UNIQUE_SERVER_TAG, tag_name); | |
| 57 node.Put(IS_DIR, true); | |
| 58 node.Put(SERVER_IS_DIR, false); | |
| 59 node.Put(IS_UNSYNCED, false); | |
| 60 node.Put(IS_UNAPPLIED_UPDATE, false); | |
| 61 node.Put(SERVER_VERSION, 20); | |
| 62 node.Put(BASE_VERSION, 20); | |
| 63 node.Put(IS_DEL, false); | |
| 64 node.Put(syncer::syncable::ID, ids->MakeServer(tag_name)); | |
| 65 sync_pb::EntitySpecifics specifics; | |
| 66 syncer::AddDefaultFieldValue(model_type, &specifics); | |
| 67 node.Put(SPECIFICS, specifics); | |
| 68 | |
| 69 return true; | |
| 70 } | |
| 71 | |
| 72 /* static */ | |
| 73 syncer::ImmutableChangeRecordList | 39 syncer::ImmutableChangeRecordList |
| 74 ProfileSyncServiceTestHelper::MakeSingletonChangeRecordList( | 40 ProfileSyncServiceTestHelper::MakeSingletonChangeRecordList( |
| 75 int64 node_id, syncer::ChangeRecord::Action action) { | 41 int64 node_id, syncer::ChangeRecord::Action action) { |
| 76 syncer::ChangeRecord record; | 42 syncer::ChangeRecord record; |
| 77 record.action = action; | 43 record.action = action; |
| 78 record.id = node_id; | 44 record.id = node_id; |
| 79 syncer::ChangeRecordList records(1, record); | 45 syncer::ChangeRecordList records(1, record); |
| 80 return syncer::ImmutableChangeRecordList(&records); | 46 return syncer::ImmutableChangeRecordList(&records); |
| 81 } | 47 } |
| 82 | 48 |
| (...skipping 28 matching lines...) Expand all Loading... |
| 111 // Pump messages posted by the sync core thread (which may end up | 77 // Pump messages posted by the sync core thread (which may end up |
| 112 // posting on the IO thread). | 78 // posting on the IO thread). |
| 113 ui_loop_.RunAllPending(); | 79 ui_loop_.RunAllPending(); |
| 114 io_thread_.Stop(); | 80 io_thread_.Stop(); |
| 115 file_thread_.Stop(); | 81 file_thread_.Stop(); |
| 116 db_thread_.Stop(); | 82 db_thread_.Stop(); |
| 117 ui_loop_.RunAllPending(); | 83 ui_loop_.RunAllPending(); |
| 118 } | 84 } |
| 119 | 85 |
| 120 bool AbstractProfileSyncServiceTest::CreateRoot(ModelType model_type) { | 86 bool AbstractProfileSyncServiceTest::CreateRoot(ModelType model_type) { |
| 121 return ProfileSyncServiceTestHelper::CreateRoot( | 87 return syncer::TestUserShare::CreateRoot(model_type, |
| 122 model_type, | 88 service_->GetUserShare()); |
| 123 service_->GetUserShare(), | |
| 124 service_->id_factory()); | |
| 125 } | 89 } |
| 126 | 90 |
| 127 // static | 91 // static |
| 128 ProfileKeyedService* AbstractProfileSyncServiceTest::BuildTokenService( | 92 ProfileKeyedService* AbstractProfileSyncServiceTest::BuildTokenService( |
| 129 Profile* profile) { | 93 Profile* profile) { |
| 130 return new TokenService; | 94 return new TokenService; |
| 131 } | 95 } |
| 132 | 96 |
| 133 CreateRootHelper::CreateRootHelper(AbstractProfileSyncServiceTest* test, | 97 CreateRootHelper::CreateRootHelper(AbstractProfileSyncServiceTest* test, |
| 134 ModelType model_type) | 98 ModelType model_type) |
| (...skipping 12 matching lines...) Expand all Loading... |
| 147 return callback_; | 111 return callback_; |
| 148 } | 112 } |
| 149 | 113 |
| 150 bool CreateRootHelper::success() { | 114 bool CreateRootHelper::success() { |
| 151 return success_; | 115 return success_; |
| 152 } | 116 } |
| 153 | 117 |
| 154 void CreateRootHelper::CreateRootCallback() { | 118 void CreateRootHelper::CreateRootCallback() { |
| 155 success_ = test_->CreateRoot(model_type_); | 119 success_ = test_->CreateRoot(model_type_); |
| 156 } | 120 } |
| OLD | NEW |