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/test/integration/sync_test.h" | 5 #include "chrome/browser/sync/test/integration/sync_test.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <limits> | 10 #include <limits> |
| 11 #include <memory> |
11 #include <vector> | 12 #include <vector> |
12 | 13 |
13 #include "base/bind.h" | 14 #include "base/bind.h" |
14 #include "base/command_line.h" | 15 #include "base/command_line.h" |
15 #include "base/files/scoped_temp_dir.h" | 16 #include "base/files/scoped_temp_dir.h" |
16 #include "base/guid.h" | 17 #include "base/guid.h" |
| 18 #include "base/memory/ptr_util.h" |
17 #include "base/memory/ref_counted.h" | 19 #include "base/memory/ref_counted.h" |
18 #include "base/memory/scoped_ptr.h" | |
19 #include "base/message_loop/message_loop.h" | 20 #include "base/message_loop/message_loop.h" |
20 #include "base/path_service.h" | 21 #include "base/path_service.h" |
21 #include "base/process/launch.h" | 22 #include "base/process/launch.h" |
22 #include "base/strings/string_split.h" | 23 #include "base/strings/string_split.h" |
23 #include "base/strings/string_util.h" | 24 #include "base/strings/string_util.h" |
24 #include "base/strings/stringprintf.h" | 25 #include "base/strings/stringprintf.h" |
25 #include "base/strings/utf_string_conversions.h" | 26 #include "base/strings/utf_string_conversions.h" |
26 #include "base/synchronization/waitable_event.h" | 27 #include "base/synchronization/waitable_event.h" |
27 #include "base/test/test_timeouts.h" | 28 #include "base/test/test_timeouts.h" |
28 #include "base/threading/platform_thread.h" | 29 #include "base/threading/platform_thread.h" |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 explicit EncryptionChecker(ProfileSyncService* service) | 166 explicit EncryptionChecker(ProfileSyncService* service) |
166 : SingleClientStatusChangeChecker(service) {} | 167 : SingleClientStatusChangeChecker(service) {} |
167 | 168 |
168 bool IsExitConditionSatisfied() override { | 169 bool IsExitConditionSatisfied() override { |
169 return IsEncryptionComplete(service()); | 170 return IsEncryptionComplete(service()); |
170 } | 171 } |
171 | 172 |
172 std::string GetDebugMessage() const override { return "Encryption"; } | 173 std::string GetDebugMessage() const override { return "Encryption"; } |
173 }; | 174 }; |
174 | 175 |
175 scoped_ptr<KeyedService> BuildFakeServerProfileInvalidationProvider( | 176 std::unique_ptr<KeyedService> BuildFakeServerProfileInvalidationProvider( |
176 content::BrowserContext* context) { | 177 content::BrowserContext* context) { |
177 return make_scoped_ptr(new invalidation::ProfileInvalidationProvider( | 178 return base::WrapUnique(new invalidation::ProfileInvalidationProvider( |
178 scoped_ptr<invalidation::InvalidationService>( | 179 std::unique_ptr<invalidation::InvalidationService>( |
179 new fake_server::FakeServerInvalidationService))); | 180 new fake_server::FakeServerInvalidationService))); |
180 } | 181 } |
181 | 182 |
182 scoped_ptr<KeyedService> BuildP2PProfileInvalidationProvider( | 183 std::unique_ptr<KeyedService> BuildP2PProfileInvalidationProvider( |
183 content::BrowserContext* context, | 184 content::BrowserContext* context, |
184 syncer::P2PNotificationTarget notification_target) { | 185 syncer::P2PNotificationTarget notification_target) { |
185 Profile* profile = static_cast<Profile*>(context); | 186 Profile* profile = static_cast<Profile*>(context); |
186 return make_scoped_ptr(new invalidation::ProfileInvalidationProvider( | 187 return base::WrapUnique(new invalidation::ProfileInvalidationProvider( |
187 scoped_ptr<invalidation::InvalidationService>( | 188 std::unique_ptr<invalidation::InvalidationService>( |
188 new invalidation::P2PInvalidationService( | 189 new invalidation::P2PInvalidationService( |
189 scoped_ptr<IdentityProvider>(new ProfileIdentityProvider( | 190 std::unique_ptr<IdentityProvider>(new ProfileIdentityProvider( |
190 SigninManagerFactory::GetForProfile(profile), | 191 SigninManagerFactory::GetForProfile(profile), |
191 ProfileOAuth2TokenServiceFactory::GetForProfile(profile), | 192 ProfileOAuth2TokenServiceFactory::GetForProfile(profile), |
192 LoginUIServiceFactory::GetShowLoginPopupCallbackForProfile( | 193 LoginUIServiceFactory::GetShowLoginPopupCallbackForProfile( |
193 profile))), | 194 profile))), |
194 profile->GetRequestContext(), notification_target)))); | 195 profile->GetRequestContext(), notification_target)))); |
195 } | 196 } |
196 | 197 |
197 scoped_ptr<KeyedService> BuildSelfNotifyingP2PProfileInvalidationProvider( | 198 std::unique_ptr<KeyedService> BuildSelfNotifyingP2PProfileInvalidationProvider( |
198 content::BrowserContext* context) { | 199 content::BrowserContext* context) { |
199 return BuildP2PProfileInvalidationProvider(context, syncer::NOTIFY_ALL); | 200 return BuildP2PProfileInvalidationProvider(context, syncer::NOTIFY_ALL); |
200 } | 201 } |
201 | 202 |
202 scoped_ptr<KeyedService> BuildRealisticP2PProfileInvalidationProvider( | 203 std::unique_ptr<KeyedService> BuildRealisticP2PProfileInvalidationProvider( |
203 content::BrowserContext* context) { | 204 content::BrowserContext* context) { |
204 return BuildP2PProfileInvalidationProvider(context, syncer::NOTIFY_OTHERS); | 205 return BuildP2PProfileInvalidationProvider(context, syncer::NOTIFY_OTHERS); |
205 } | 206 } |
206 | 207 |
207 } // namespace | 208 } // namespace |
208 | 209 |
209 SyncTest::SyncTest(TestType test_type) | 210 SyncTest::SyncTest(TestType test_type) |
210 : test_type_(test_type), | 211 : test_type_(test_type), |
211 server_type_(SERVER_TYPE_UNDECIDED), | 212 server_type_(SERVER_TYPE_UNDECIDED), |
212 num_clients_(-1), | 213 num_clients_(-1), |
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
530 | 531 |
531 // Make sure the ProfileSyncService has been created before creating the | 532 // Make sure the ProfileSyncService has been created before creating the |
532 // ProfileSyncServiceHarness - some tests expect the ProfileSyncService to | 533 // ProfileSyncServiceHarness - some tests expect the ProfileSyncService to |
533 // already exist. | 534 // already exist. |
534 ProfileSyncService* profile_sync_service = | 535 ProfileSyncService* profile_sync_service = |
535 ProfileSyncServiceFactory::GetForProfile(GetProfile(index)); | 536 ProfileSyncServiceFactory::GetForProfile(GetProfile(index)); |
536 | 537 |
537 if (server_type_ == IN_PROCESS_FAKE_SERVER) { | 538 if (server_type_ == IN_PROCESS_FAKE_SERVER) { |
538 // TODO(pvalenzuela): Run the fake server via EmbeddedTestServer. | 539 // TODO(pvalenzuela): Run the fake server via EmbeddedTestServer. |
539 profile_sync_service->OverrideNetworkResourcesForTest( | 540 profile_sync_service->OverrideNetworkResourcesForTest( |
540 make_scoped_ptr<syncer::NetworkResources>( | 541 base::WrapUnique<syncer::NetworkResources>( |
541 new fake_server::FakeServerNetworkResources( | 542 new fake_server::FakeServerNetworkResources( |
542 fake_server_->AsWeakPtr()))); | 543 fake_server_->AsWeakPtr()))); |
543 } | 544 } |
544 | 545 |
545 ProfileSyncServiceHarness::SigninType singin_type = UsingExternalServers() | 546 ProfileSyncServiceHarness::SigninType singin_type = UsingExternalServers() |
546 ? ProfileSyncServiceHarness::SigninType::UI_SIGNIN | 547 ? ProfileSyncServiceHarness::SigninType::UI_SIGNIN |
547 : ProfileSyncServiceHarness::SigninType::FAKE_SIGNIN; | 548 : ProfileSyncServiceHarness::SigninType::FAKE_SIGNIN; |
548 | 549 |
549 clients_[index] = | 550 clients_[index] = |
550 ProfileSyncServiceHarness::Create(GetProfile(index), | 551 ProfileSyncServiceHarness::Create(GetProfile(index), |
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
965 base::PlatformThread::Sleep(wait / intervals); | 966 base::PlatformThread::Sleep(wait / intervals); |
966 } | 967 } |
967 return false; | 968 return false; |
968 } | 969 } |
969 | 970 |
970 bool SyncTest::IsTestServerRunning() { | 971 bool SyncTest::IsTestServerRunning() { |
971 base::CommandLine* cl = base::CommandLine::ForCurrentProcess(); | 972 base::CommandLine* cl = base::CommandLine::ForCurrentProcess(); |
972 std::string sync_url = cl->GetSwitchValueASCII(switches::kSyncServiceURL); | 973 std::string sync_url = cl->GetSwitchValueASCII(switches::kSyncServiceURL); |
973 GURL sync_url_status(sync_url.append("/healthz")); | 974 GURL sync_url_status(sync_url.append("/healthz")); |
974 SyncServerStatusChecker delegate; | 975 SyncServerStatusChecker delegate; |
975 scoped_ptr<net::URLFetcher> fetcher = | 976 std::unique_ptr<net::URLFetcher> fetcher = |
976 net::URLFetcher::Create(sync_url_status, net::URLFetcher::GET, &delegate); | 977 net::URLFetcher::Create(sync_url_status, net::URLFetcher::GET, &delegate); |
977 fetcher->SetLoadFlags(net::LOAD_DISABLE_CACHE | | 978 fetcher->SetLoadFlags(net::LOAD_DISABLE_CACHE | |
978 net::LOAD_DO_NOT_SEND_COOKIES | | 979 net::LOAD_DO_NOT_SEND_COOKIES | |
979 net::LOAD_DO_NOT_SAVE_COOKIES); | 980 net::LOAD_DO_NOT_SAVE_COOKIES); |
980 fetcher->SetRequestContext(g_browser_process->system_request_context()); | 981 fetcher->SetRequestContext(g_browser_process->system_request_context()); |
981 fetcher->Start(); | 982 fetcher->Start(); |
982 content::RunMessageLoop(); | 983 content::RunMessageLoop(); |
983 return delegate.running(); | 984 return delegate.running(); |
984 } | 985 } |
985 | 986 |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1128 | 1129 |
1129 void SyncTest::TriggerSyncForModelTypes(int index, | 1130 void SyncTest::TriggerSyncForModelTypes(int index, |
1130 syncer::ModelTypeSet model_types) { | 1131 syncer::ModelTypeSet model_types) { |
1131 GetSyncService(index)->TriggerRefresh(model_types); | 1132 GetSyncService(index)->TriggerRefresh(model_types); |
1132 } | 1133 } |
1133 | 1134 |
1134 void SyncTest::SetPreexistingPreferencesFileContents( | 1135 void SyncTest::SetPreexistingPreferencesFileContents( |
1135 const std::string& contents) { | 1136 const std::string& contents) { |
1136 preexisting_preferences_file_contents_ = contents; | 1137 preexisting_preferences_file_contents_ = contents; |
1137 } | 1138 } |
OLD | NEW |