OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 #ifndef CHROME_BROWSER_SYNC_ABSTRACT_PROFILE_SYNC_SERVICE_TEST_H_ | 5 #ifndef CHROME_BROWSER_SYNC_ABSTRACT_PROFILE_SYNC_SERVICE_TEST_H_ |
6 #define CHROME_BROWSER_SYNC_ABSTRACT_PROFILE_SYNC_SERVICE_TEST_H_ | 6 #define CHROME_BROWSER_SYNC_ABSTRACT_PROFILE_SYNC_SERVICE_TEST_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 using syncable::SERVER_IS_DIR; | 45 using syncable::SERVER_IS_DIR; |
46 using syncable::SERVER_VERSION; | 46 using syncable::SERVER_VERSION; |
47 using syncable::SPECIFICS; | 47 using syncable::SPECIFICS; |
48 using syncable::ScopedDirLookup; | 48 using syncable::ScopedDirLookup; |
49 using syncable::UNIQUE_SERVER_TAG; | 49 using syncable::UNIQUE_SERVER_TAG; |
50 using syncable::UNITTEST; | 50 using syncable::UNITTEST; |
51 using syncable::WriteTransaction; | 51 using syncable::WriteTransaction; |
52 | 52 |
53 class ProfileSyncServiceTestHelper { | 53 class ProfileSyncServiceTestHelper { |
54 public: | 54 public: |
| 55 static const std::string GetTagForType(ModelType model_type) { |
| 56 switch (model_type) { |
| 57 case syncable::AUTOFILL: |
| 58 return browser_sync::kAutofillTag; |
| 59 case syncable::AUTOFILL_PROFILE: |
| 60 return browser_sync::kAutofillProfileTag; |
| 61 case syncable::PREFERENCES: |
| 62 return browser_sync::kPreferencesTag; |
| 63 case syncable::PASSWORDS: |
| 64 return browser_sync::kPasswordTag; |
| 65 case syncable::NIGORI: |
| 66 return browser_sync::kNigoriTag; |
| 67 case syncable::TYPED_URLS: |
| 68 return browser_sync::kTypedUrlTag; |
| 69 case syncable::SESSIONS: |
| 70 return browser_sync::kSessionsTag; |
| 71 case syncable::BOOKMARKS: |
| 72 return "google_chrome_bookmarks"; |
| 73 default: |
| 74 NOTREACHED(); |
| 75 } |
| 76 return std::string(); |
| 77 } |
| 78 |
55 static bool CreateRoot(ModelType model_type, ProfileSyncService* service, | 79 static bool CreateRoot(ModelType model_type, ProfileSyncService* service, |
56 TestIdFactory* ids) { | 80 TestIdFactory* ids) { |
57 UserShare* user_share = service->backend()->GetUserShareHandle(); | 81 UserShare* user_share = service->backend()->GetUserShareHandle(); |
58 DirectoryManager* dir_manager = user_share->dir_manager.get(); | 82 DirectoryManager* dir_manager = user_share->dir_manager.get(); |
59 | 83 |
60 ScopedDirLookup dir(dir_manager, user_share->name); | 84 ScopedDirLookup dir(dir_manager, user_share->name); |
61 if (!dir.good()) | 85 if (!dir.good()) |
62 return false; | 86 return false; |
63 | 87 |
64 std::string tag_name; | 88 std::string tag_name = GetTagForType(model_type); |
65 switch (model_type) { | |
66 case syncable::AUTOFILL: | |
67 tag_name = browser_sync::kAutofillTag; | |
68 break; | |
69 case syncable::AUTOFILL_PROFILE: | |
70 tag_name = browser_sync::kAutofillProfileTag; | |
71 break; | |
72 case syncable::PREFERENCES: | |
73 tag_name = browser_sync::kPreferencesTag; | |
74 break; | |
75 case syncable::PASSWORDS: | |
76 tag_name = browser_sync::kPasswordTag; | |
77 break; | |
78 case syncable::NIGORI: | |
79 tag_name = browser_sync::kNigoriTag; | |
80 break; | |
81 case syncable::TYPED_URLS: | |
82 tag_name = browser_sync::kTypedUrlTag; | |
83 break; | |
84 case syncable::SESSIONS: | |
85 tag_name = browser_sync::kSessionsTag; | |
86 break; | |
87 default: | |
88 return false; | |
89 } | |
90 | 89 |
91 WriteTransaction wtrans(dir, UNITTEST, __FILE__, __LINE__); | 90 WriteTransaction wtrans(dir, UNITTEST, __FILE__, __LINE__); |
92 MutableEntry node(&wtrans, | 91 MutableEntry node(&wtrans, |
93 CREATE, | 92 CREATE, |
94 wtrans.root_id(), | 93 wtrans.root_id(), |
95 tag_name); | 94 tag_name); |
96 node.Put(UNIQUE_SERVER_TAG, tag_name); | 95 node.Put(UNIQUE_SERVER_TAG, tag_name); |
97 node.Put(IS_DIR, true); | 96 node.Put(IS_DIR, true); |
98 node.Put(SERVER_IS_DIR, false); | 97 node.Put(SERVER_IS_DIR, false); |
99 node.Put(IS_UNSYNCED, false); | 98 node.Put(IS_UNSYNCED, false); |
(...skipping 10 matching lines...) Expand all Loading... |
110 } | 109 } |
111 }; | 110 }; |
112 | 111 |
113 class AbstractProfileSyncServiceTest : public testing::Test { | 112 class AbstractProfileSyncServiceTest : public testing::Test { |
114 public: | 113 public: |
115 AbstractProfileSyncServiceTest() | 114 AbstractProfileSyncServiceTest() |
116 : ui_thread_(BrowserThread::UI, &message_loop_) {} | 115 : ui_thread_(BrowserThread::UI, &message_loop_) {} |
117 | 116 |
118 bool CreateRoot(ModelType model_type) { | 117 bool CreateRoot(ModelType model_type) { |
119 return ProfileSyncServiceTestHelper::CreateRoot(model_type, | 118 return ProfileSyncServiceTestHelper::CreateRoot(model_type, |
120 service_.get(), &ids_); | 119 service_.get(), |
| 120 service_->id_factory()); |
121 } | 121 } |
122 | 122 |
123 protected: | 123 protected: |
124 | 124 |
125 MessageLoopForUI message_loop_; | 125 MessageLoopForUI message_loop_; |
126 BrowserThread ui_thread_; | 126 BrowserThread ui_thread_; |
127 ProfileSyncFactoryMock factory_; | 127 ProfileSyncFactoryMock factory_; |
128 TokenService token_service_; | 128 TokenService token_service_; |
129 scoped_ptr<TestProfileSyncService> service_; | 129 scoped_ptr<TestProfileSyncService> service_; |
130 TestIdFactory ids_; | |
131 }; | 130 }; |
132 | 131 |
133 class CreateRootTask : public Task { | 132 class CreateRootTask : public Task { |
134 public: | 133 public: |
135 CreateRootTask(AbstractProfileSyncServiceTest* test, ModelType model_type) | 134 CreateRootTask(AbstractProfileSyncServiceTest* test, ModelType model_type) |
136 : test_(test), model_type_(model_type), success_(false) { | 135 : test_(test), model_type_(model_type), success_(false) { |
137 } | 136 } |
138 | 137 |
139 virtual ~CreateRootTask() {} | 138 virtual ~CreateRootTask() {} |
140 virtual void Run() { | 139 virtual void Run() { |
141 success_ = test_->CreateRoot(model_type_); | 140 success_ = test_->CreateRoot(model_type_); |
142 } | 141 } |
143 | 142 |
144 bool success() { return success_; } | 143 bool success() { return success_; } |
145 | 144 |
146 private: | 145 private: |
147 AbstractProfileSyncServiceTest* test_; | 146 AbstractProfileSyncServiceTest* test_; |
148 ModelType model_type_; | 147 ModelType model_type_; |
149 bool success_; | 148 bool success_; |
150 }; | 149 }; |
151 | 150 |
152 #endif // CHROME_BROWSER_SYNC_ABSTRACT_PROFILE_SYNC_SERVICE_TEST_H_ | 151 #endif // CHROME_BROWSER_SYNC_ABSTRACT_PROFILE_SYNC_SERVICE_TEST_H_ |
OLD | NEW |