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/extensions/extension_service_unittest.h" | 5 #include "chrome/browser/extensions/extension_service_unittest.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <set> | 8 #include <set> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 4187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4198 | 4198 |
4199 // Reload all extensions, and make sure it comes back. | 4199 // Reload all extensions, and make sure it comes back. |
4200 std::string extension_id = (*service_->extensions()->begin())->id(); | 4200 std::string extension_id = (*service_->extensions()->begin())->id(); |
4201 loaded_.clear(); | 4201 loaded_.clear(); |
4202 service_->ReloadExtensions(); | 4202 service_->ReloadExtensions(); |
4203 ASSERT_EQ(1u, service_->extensions()->size()); | 4203 ASSERT_EQ(1u, service_->extensions()->size()); |
4204 EXPECT_EQ(extension_id, (*service_->extensions()->begin())->id()); | 4204 EXPECT_EQ(extension_id, (*service_->extensions()->begin())->id()); |
4205 } | 4205 } |
4206 | 4206 |
4207 namespace { | 4207 namespace { |
4208 class TestSyncProcessorStub : public SyncChangeProcessor { | 4208 class TestSyncProcessorStub : public csync::SyncChangeProcessor { |
4209 virtual SyncError ProcessSyncChanges( | 4209 virtual csync::SyncError ProcessSyncChanges( |
4210 const tracked_objects::Location& from_here, | 4210 const tracked_objects::Location& from_here, |
4211 const SyncChangeList& change_list) OVERRIDE { | 4211 const csync::SyncChangeList& change_list) OVERRIDE { |
4212 return SyncError(); | 4212 return csync::SyncError(); |
4213 } | 4213 } |
4214 }; | 4214 }; |
4215 } | 4215 } |
4216 | 4216 |
4217 TEST_F(ExtensionServiceTest, GetSyncData) { | 4217 TEST_F(ExtensionServiceTest, GetSyncData) { |
4218 InitializeEmptyExtensionService(); | 4218 InitializeEmptyExtensionService(); |
4219 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 4219 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
4220 const Extension* extension = service_->GetInstalledExtension(good_crx); | 4220 const Extension* extension = service_->GetInstalledExtension(good_crx); |
4221 ASSERT_TRUE(extension); | 4221 ASSERT_TRUE(extension); |
4222 | 4222 |
4223 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(), | 4223 service_->MergeDataAndStartSyncing( |
4224 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub), | 4224 syncable::EXTENSIONS, csync::SyncDataList(), |
4225 scoped_ptr<SyncErrorFactory>(new SyncErrorFactoryMock())); | 4225 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4226 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); |
4226 | 4227 |
4227 SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); | 4228 csync::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); |
4228 ASSERT_EQ(list.size(), 1U); | 4229 ASSERT_EQ(list.size(), 1U); |
4229 extensions::ExtensionSyncData data(list[0]); | 4230 extensions::ExtensionSyncData data(list[0]); |
4230 EXPECT_EQ(extension->id(), data.id()); | 4231 EXPECT_EQ(extension->id(), data.id()); |
4231 EXPECT_FALSE(data.uninstalled()); | 4232 EXPECT_FALSE(data.uninstalled()); |
4232 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled()); | 4233 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled()); |
4233 EXPECT_EQ(service_->IsIncognitoEnabled(good_crx), data.incognito_enabled()); | 4234 EXPECT_EQ(service_->IsIncognitoEnabled(good_crx), data.incognito_enabled()); |
4234 EXPECT_TRUE(data.version().Equals(*extension->version())); | 4235 EXPECT_TRUE(data.version().Equals(*extension->version())); |
4235 EXPECT_EQ(extension->update_url(), data.update_url()); | 4236 EXPECT_EQ(extension->update_url(), data.update_url()); |
4236 EXPECT_EQ(extension->name(), data.name()); | 4237 EXPECT_EQ(extension->name(), data.name()); |
4237 } | 4238 } |
4238 | 4239 |
4239 TEST_F(ExtensionServiceTest, GetSyncDataTerminated) { | 4240 TEST_F(ExtensionServiceTest, GetSyncDataTerminated) { |
4240 InitializeEmptyExtensionService(); | 4241 InitializeEmptyExtensionService(); |
4241 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 4242 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
4242 TerminateExtension(good_crx); | 4243 TerminateExtension(good_crx); |
4243 const Extension* extension = service_->GetInstalledExtension(good_crx); | 4244 const Extension* extension = service_->GetInstalledExtension(good_crx); |
4244 ASSERT_TRUE(extension); | 4245 ASSERT_TRUE(extension); |
4245 | 4246 |
4246 TestSyncProcessorStub processor; | 4247 TestSyncProcessorStub processor; |
4247 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(), | 4248 service_->MergeDataAndStartSyncing( |
4248 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub), | 4249 syncable::EXTENSIONS, csync::SyncDataList(), |
4249 scoped_ptr<SyncErrorFactory>(new SyncErrorFactoryMock())); | 4250 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4251 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); |
4250 | 4252 |
4251 SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); | 4253 csync::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); |
4252 ASSERT_EQ(list.size(), 1U); | 4254 ASSERT_EQ(list.size(), 1U); |
4253 extensions::ExtensionSyncData data(list[0]); | 4255 extensions::ExtensionSyncData data(list[0]); |
4254 EXPECT_EQ(extension->id(), data.id()); | 4256 EXPECT_EQ(extension->id(), data.id()); |
4255 EXPECT_FALSE(data.uninstalled()); | 4257 EXPECT_FALSE(data.uninstalled()); |
4256 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled()); | 4258 EXPECT_EQ(service_->IsExtensionEnabled(good_crx), data.enabled()); |
4257 EXPECT_EQ(service_->IsIncognitoEnabled(good_crx), data.incognito_enabled()); | 4259 EXPECT_EQ(service_->IsIncognitoEnabled(good_crx), data.incognito_enabled()); |
4258 EXPECT_TRUE(data.version().Equals(*extension->version())); | 4260 EXPECT_TRUE(data.version().Equals(*extension->version())); |
4259 EXPECT_EQ(extension->update_url(), data.update_url()); | 4261 EXPECT_EQ(extension->update_url(), data.update_url()); |
4260 EXPECT_EQ(extension->name(), data.name()); | 4262 EXPECT_EQ(extension->name(), data.name()); |
4261 } | 4263 } |
4262 | 4264 |
4263 TEST_F(ExtensionServiceTest, GetSyncDataFilter) { | 4265 TEST_F(ExtensionServiceTest, GetSyncDataFilter) { |
4264 InitializeEmptyExtensionService(); | 4266 InitializeEmptyExtensionService(); |
4265 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 4267 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
4266 const Extension* extension = service_->GetInstalledExtension(good_crx); | 4268 const Extension* extension = service_->GetInstalledExtension(good_crx); |
4267 ASSERT_TRUE(extension); | 4269 ASSERT_TRUE(extension); |
4268 | 4270 |
4269 TestSyncProcessorStub processor; | 4271 TestSyncProcessorStub processor; |
4270 service_->MergeDataAndStartSyncing(syncable::APPS, SyncDataList(), | 4272 service_->MergeDataAndStartSyncing(syncable::APPS, csync::SyncDataList(), |
4271 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub), | 4273 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), |
4272 scoped_ptr<SyncErrorFactory>(new SyncErrorFactoryMock())); | 4274 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); |
4273 | 4275 |
4274 SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); | 4276 csync::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); |
4275 ASSERT_EQ(list.size(), 0U); | 4277 ASSERT_EQ(list.size(), 0U); |
4276 } | 4278 } |
4277 | 4279 |
4278 TEST_F(ExtensionServiceTest, GetSyncExtensionDataUserSettings) { | 4280 TEST_F(ExtensionServiceTest, GetSyncExtensionDataUserSettings) { |
4279 InitializeEmptyExtensionService(); | 4281 InitializeEmptyExtensionService(); |
4280 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 4282 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
4281 const Extension* extension = service_->GetInstalledExtension(good_crx); | 4283 const Extension* extension = service_->GetInstalledExtension(good_crx); |
4282 ASSERT_TRUE(extension); | 4284 ASSERT_TRUE(extension); |
4283 | 4285 |
4284 TestSyncProcessorStub processor; | 4286 TestSyncProcessorStub processor; |
4285 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(), | 4287 service_->MergeDataAndStartSyncing( |
4286 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub), | 4288 syncable::EXTENSIONS, csync::SyncDataList(), |
4287 scoped_ptr<SyncErrorFactory>(new SyncErrorFactoryMock())); | 4289 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4290 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); |
4288 | 4291 |
4289 { | 4292 { |
4290 SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); | 4293 csync::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); |
4291 ASSERT_EQ(list.size(), 1U); | 4294 ASSERT_EQ(list.size(), 1U); |
4292 extensions::ExtensionSyncData data(list[0]); | 4295 extensions::ExtensionSyncData data(list[0]); |
4293 EXPECT_TRUE(data.enabled()); | 4296 EXPECT_TRUE(data.enabled()); |
4294 EXPECT_FALSE(data.incognito_enabled()); | 4297 EXPECT_FALSE(data.incognito_enabled()); |
4295 } | 4298 } |
4296 | 4299 |
4297 service_->DisableExtension(good_crx, Extension::DISABLE_USER_ACTION); | 4300 service_->DisableExtension(good_crx, Extension::DISABLE_USER_ACTION); |
4298 { | 4301 { |
4299 SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); | 4302 csync::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); |
4300 ASSERT_EQ(list.size(), 1U); | 4303 ASSERT_EQ(list.size(), 1U); |
4301 extensions::ExtensionSyncData data(list[0]); | 4304 extensions::ExtensionSyncData data(list[0]); |
4302 EXPECT_FALSE(data.enabled()); | 4305 EXPECT_FALSE(data.enabled()); |
4303 EXPECT_FALSE(data.incognito_enabled()); | 4306 EXPECT_FALSE(data.incognito_enabled()); |
4304 } | 4307 } |
4305 | 4308 |
4306 service_->SetIsIncognitoEnabled(good_crx, true); | 4309 service_->SetIsIncognitoEnabled(good_crx, true); |
4307 { | 4310 { |
4308 SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); | 4311 csync::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); |
4309 ASSERT_EQ(list.size(), 1U); | 4312 ASSERT_EQ(list.size(), 1U); |
4310 extensions::ExtensionSyncData data(list[0]); | 4313 extensions::ExtensionSyncData data(list[0]); |
4311 EXPECT_FALSE(data.enabled()); | 4314 EXPECT_FALSE(data.enabled()); |
4312 EXPECT_TRUE(data.incognito_enabled()); | 4315 EXPECT_TRUE(data.incognito_enabled()); |
4313 } | 4316 } |
4314 | 4317 |
4315 service_->EnableExtension(good_crx); | 4318 service_->EnableExtension(good_crx); |
4316 { | 4319 { |
4317 SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); | 4320 csync::SyncDataList list = service_->GetAllSyncData(syncable::EXTENSIONS); |
4318 ASSERT_EQ(list.size(), 1U); | 4321 ASSERT_EQ(list.size(), 1U); |
4319 extensions::ExtensionSyncData data(list[0]); | 4322 extensions::ExtensionSyncData data(list[0]); |
4320 EXPECT_TRUE(data.enabled()); | 4323 EXPECT_TRUE(data.enabled()); |
4321 EXPECT_TRUE(data.incognito_enabled()); | 4324 EXPECT_TRUE(data.incognito_enabled()); |
4322 } | 4325 } |
4323 } | 4326 } |
4324 | 4327 |
4325 TEST_F(ExtensionServiceTest, SyncForUninstalledExternalExtension) { | 4328 TEST_F(ExtensionServiceTest, SyncForUninstalledExternalExtension) { |
4326 InitializeEmptyExtensionService(); | 4329 InitializeEmptyExtensionService(); |
4327 InstallCRXWithLocation(data_dir_.AppendASCII("good.crx"), | 4330 InstallCRXWithLocation(data_dir_.AppendASCII("good.crx"), |
4328 Extension::EXTERNAL_PREF, INSTALL_NEW); | 4331 Extension::EXTERNAL_PREF, INSTALL_NEW); |
4329 const Extension* extension = service_->GetInstalledExtension(good_crx); | 4332 const Extension* extension = service_->GetInstalledExtension(good_crx); |
4330 ASSERT_TRUE(extension); | 4333 ASSERT_TRUE(extension); |
4331 | 4334 |
4332 TestSyncProcessorStub processor; | 4335 TestSyncProcessorStub processor; |
4333 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(), | 4336 service_->MergeDataAndStartSyncing( |
4334 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub), | 4337 syncable::EXTENSIONS, csync::SyncDataList(), |
4335 scoped_ptr<SyncErrorFactory>(new SyncErrorFactoryMock())); | 4338 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4339 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); |
4336 | 4340 |
4337 UninstallExtension(good_crx, false); | 4341 UninstallExtension(good_crx, false); |
4338 EXPECT_TRUE(service_->IsExternalExtensionUninstalled(good_crx)); | 4342 EXPECT_TRUE(service_->IsExternalExtensionUninstalled(good_crx)); |
4339 | 4343 |
4340 sync_pb::EntitySpecifics specifics; | 4344 sync_pb::EntitySpecifics specifics; |
4341 sync_pb::AppSpecifics* app_specifics = specifics.mutable_app(); | 4345 sync_pb::AppSpecifics* app_specifics = specifics.mutable_app(); |
4342 sync_pb::ExtensionSpecifics* extension_specifics = | 4346 sync_pb::ExtensionSpecifics* extension_specifics = |
4343 app_specifics->mutable_extension(); | 4347 app_specifics->mutable_extension(); |
4344 extension_specifics->set_id(good_crx); | 4348 extension_specifics->set_id(good_crx); |
4345 extension_specifics->set_version("1.0"); | 4349 extension_specifics->set_version("1.0"); |
4346 extension_specifics->set_enabled(true); | 4350 extension_specifics->set_enabled(true); |
4347 | 4351 |
4348 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics); | 4352 csync::SyncData sync_data = |
4349 SyncChange sync_change(SyncChange::ACTION_UPDATE, sync_data); | 4353 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); |
4350 SyncChangeList list(1); | 4354 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); |
| 4355 csync::SyncChangeList list(1); |
4351 list[0] = sync_change; | 4356 list[0] = sync_change; |
4352 | 4357 |
4353 service_->ProcessSyncChanges(FROM_HERE, list); | 4358 service_->ProcessSyncChanges(FROM_HERE, list); |
4354 EXPECT_TRUE(service_->IsExternalExtensionUninstalled(good_crx)); | 4359 EXPECT_TRUE(service_->IsExternalExtensionUninstalled(good_crx)); |
4355 } | 4360 } |
4356 | 4361 |
4357 TEST_F(ExtensionServiceTest, GetSyncAppDataUserSettings) { | 4362 TEST_F(ExtensionServiceTest, GetSyncAppDataUserSettings) { |
4358 InitializeEmptyExtensionService(); | 4363 InitializeEmptyExtensionService(); |
4359 const Extension* app = | 4364 const Extension* app = |
4360 PackAndInstallCRX(data_dir_.AppendASCII("app"), INSTALL_NEW); | 4365 PackAndInstallCRX(data_dir_.AppendASCII("app"), INSTALL_NEW); |
4361 ASSERT_TRUE(app); | 4366 ASSERT_TRUE(app); |
4362 ASSERT_TRUE(app->is_app()); | 4367 ASSERT_TRUE(app->is_app()); |
4363 | 4368 |
4364 TestSyncProcessorStub processor; | 4369 TestSyncProcessorStub processor; |
4365 service_->MergeDataAndStartSyncing(syncable::APPS, SyncDataList(), | 4370 service_->MergeDataAndStartSyncing(syncable::APPS, csync::SyncDataList(), |
4366 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub), | 4371 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), |
4367 scoped_ptr<SyncErrorFactory>(new SyncErrorFactoryMock())); | 4372 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); |
4368 | 4373 |
4369 StringOrdinal initial_ordinal = StringOrdinal::CreateInitialOrdinal(); | 4374 StringOrdinal initial_ordinal = StringOrdinal::CreateInitialOrdinal(); |
4370 { | 4375 { |
4371 SyncDataList list = service_->GetAllSyncData(syncable::APPS); | 4376 csync::SyncDataList list = service_->GetAllSyncData(syncable::APPS); |
4372 ASSERT_EQ(list.size(), 1U); | 4377 ASSERT_EQ(list.size(), 1U); |
4373 | 4378 |
4374 extensions::AppSyncData app_sync_data(list[0]); | 4379 extensions::AppSyncData app_sync_data(list[0]); |
4375 EXPECT_TRUE(initial_ordinal.Equal(app_sync_data.app_launch_ordinal())); | 4380 EXPECT_TRUE(initial_ordinal.Equal(app_sync_data.app_launch_ordinal())); |
4376 EXPECT_TRUE(initial_ordinal.Equal(app_sync_data.page_ordinal())); | 4381 EXPECT_TRUE(initial_ordinal.Equal(app_sync_data.page_ordinal())); |
4377 } | 4382 } |
4378 | 4383 |
4379 ExtensionSorting* sorting = service_->extension_prefs()->extension_sorting(); | 4384 ExtensionSorting* sorting = service_->extension_prefs()->extension_sorting(); |
4380 sorting->SetAppLaunchOrdinal(app->id(), initial_ordinal.CreateAfter()); | 4385 sorting->SetAppLaunchOrdinal(app->id(), initial_ordinal.CreateAfter()); |
4381 { | 4386 { |
4382 SyncDataList list = service_->GetAllSyncData(syncable::APPS); | 4387 csync::SyncDataList list = service_->GetAllSyncData(syncable::APPS); |
4383 ASSERT_EQ(list.size(), 1U); | 4388 ASSERT_EQ(list.size(), 1U); |
4384 | 4389 |
4385 extensions::AppSyncData app_sync_data(list[0]); | 4390 extensions::AppSyncData app_sync_data(list[0]); |
4386 EXPECT_TRUE(initial_ordinal.LessThan(app_sync_data.app_launch_ordinal())); | 4391 EXPECT_TRUE(initial_ordinal.LessThan(app_sync_data.app_launch_ordinal())); |
4387 EXPECT_TRUE(initial_ordinal.Equal(app_sync_data.page_ordinal())); | 4392 EXPECT_TRUE(initial_ordinal.Equal(app_sync_data.page_ordinal())); |
4388 } | 4393 } |
4389 | 4394 |
4390 sorting->SetPageOrdinal(app->id(), initial_ordinal.CreateAfter()); | 4395 sorting->SetPageOrdinal(app->id(), initial_ordinal.CreateAfter()); |
4391 { | 4396 { |
4392 SyncDataList list = service_->GetAllSyncData(syncable::APPS); | 4397 csync::SyncDataList list = service_->GetAllSyncData(syncable::APPS); |
4393 ASSERT_EQ(list.size(), 1U); | 4398 ASSERT_EQ(list.size(), 1U); |
4394 | 4399 |
4395 extensions::AppSyncData app_sync_data(list[0]); | 4400 extensions::AppSyncData app_sync_data(list[0]); |
4396 EXPECT_TRUE(initial_ordinal.LessThan(app_sync_data.app_launch_ordinal())); | 4401 EXPECT_TRUE(initial_ordinal.LessThan(app_sync_data.app_launch_ordinal())); |
4397 EXPECT_TRUE(initial_ordinal.LessThan(app_sync_data.page_ordinal())); | 4402 EXPECT_TRUE(initial_ordinal.LessThan(app_sync_data.page_ordinal())); |
4398 } | 4403 } |
4399 } | 4404 } |
4400 | 4405 |
4401 TEST_F(ExtensionServiceTest, GetSyncAppDataUserSettingsOnExtensionMoved) { | 4406 TEST_F(ExtensionServiceTest, GetSyncAppDataUserSettingsOnExtensionMoved) { |
4402 InitializeEmptyExtensionService(); | 4407 InitializeEmptyExtensionService(); |
4403 const size_t kAppCount = 3; | 4408 const size_t kAppCount = 3; |
4404 const Extension* apps[kAppCount]; | 4409 const Extension* apps[kAppCount]; |
4405 apps[0] = PackAndInstallCRX(data_dir_.AppendASCII("app1"), INSTALL_NEW); | 4410 apps[0] = PackAndInstallCRX(data_dir_.AppendASCII("app1"), INSTALL_NEW); |
4406 apps[1] = PackAndInstallCRX(data_dir_.AppendASCII("app2"), INSTALL_NEW); | 4411 apps[1] = PackAndInstallCRX(data_dir_.AppendASCII("app2"), INSTALL_NEW); |
4407 apps[2] = PackAndInstallCRX(data_dir_.AppendASCII("app4"), INSTALL_NEW); | 4412 apps[2] = PackAndInstallCRX(data_dir_.AppendASCII("app4"), INSTALL_NEW); |
4408 for (size_t i = 0; i < kAppCount; ++i) { | 4413 for (size_t i = 0; i < kAppCount; ++i) { |
4409 ASSERT_TRUE(apps[i]); | 4414 ASSERT_TRUE(apps[i]); |
4410 ASSERT_TRUE(apps[i]->is_app()); | 4415 ASSERT_TRUE(apps[i]->is_app()); |
4411 } | 4416 } |
4412 | 4417 |
4413 TestSyncProcessorStub processor; | 4418 TestSyncProcessorStub processor; |
4414 service_->MergeDataAndStartSyncing(syncable::APPS, SyncDataList(), | 4419 service_->MergeDataAndStartSyncing(syncable::APPS, csync::SyncDataList(), |
4415 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub), | 4420 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), |
4416 scoped_ptr<SyncErrorFactory>(new SyncErrorFactoryMock())); | 4421 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); |
4417 | 4422 |
4418 service_->OnExtensionMoved(apps[0]->id(), apps[1]->id(), apps[2]->id()); | 4423 service_->OnExtensionMoved(apps[0]->id(), apps[1]->id(), apps[2]->id()); |
4419 { | 4424 { |
4420 SyncDataList list = service_->GetAllSyncData(syncable::APPS); | 4425 csync::SyncDataList list = service_->GetAllSyncData(syncable::APPS); |
4421 ASSERT_EQ(list.size(), 3U); | 4426 ASSERT_EQ(list.size(), 3U); |
4422 | 4427 |
4423 extensions::AppSyncData data[kAppCount]; | 4428 extensions::AppSyncData data[kAppCount]; |
4424 for (size_t i = 0; i < kAppCount; ++i) | 4429 for (size_t i = 0; i < kAppCount; ++i) |
4425 { | 4430 { |
4426 data[i] = extensions::AppSyncData(list[i]); | 4431 data[i] = extensions::AppSyncData(list[i]); |
4427 } | 4432 } |
4428 | 4433 |
4429 // The sync data is not always in the same order our apps were installed in, | 4434 // The sync data is not always in the same order our apps were installed in, |
4430 // so we do that sorting here so we can make sure the values are changed as | 4435 // so we do that sorting here so we can make sure the values are changed as |
(...skipping 12 matching lines...) Expand all Loading... |
4443 } | 4448 } |
4444 | 4449 |
4445 TEST_F(ExtensionServiceTest, GetSyncDataList) { | 4450 TEST_F(ExtensionServiceTest, GetSyncDataList) { |
4446 InitializeEmptyExtensionService(); | 4451 InitializeEmptyExtensionService(); |
4447 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 4452 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
4448 InstallCRX(data_dir_.AppendASCII("page_action.crx"), INSTALL_NEW); | 4453 InstallCRX(data_dir_.AppendASCII("page_action.crx"), INSTALL_NEW); |
4449 InstallCRX(data_dir_.AppendASCII("theme.crx"), INSTALL_NEW); | 4454 InstallCRX(data_dir_.AppendASCII("theme.crx"), INSTALL_NEW); |
4450 InstallCRX(data_dir_.AppendASCII("theme2.crx"), INSTALL_NEW); | 4455 InstallCRX(data_dir_.AppendASCII("theme2.crx"), INSTALL_NEW); |
4451 | 4456 |
4452 TestSyncProcessorStub processor; | 4457 TestSyncProcessorStub processor; |
4453 service_->MergeDataAndStartSyncing(syncable::APPS, SyncDataList(), | 4458 service_->MergeDataAndStartSyncing(syncable::APPS, csync::SyncDataList(), |
4454 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub), | 4459 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), |
4455 scoped_ptr<SyncErrorFactory>(new SyncErrorFactoryMock())); | 4460 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); |
4456 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(), | 4461 service_->MergeDataAndStartSyncing( |
4457 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub), | 4462 syncable::EXTENSIONS, csync::SyncDataList(), |
4458 scoped_ptr<SyncErrorFactory>(new SyncErrorFactoryMock())); | 4463 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4464 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); |
4459 | 4465 |
4460 service_->DisableExtension(page_action, Extension::DISABLE_USER_ACTION); | 4466 service_->DisableExtension(page_action, Extension::DISABLE_USER_ACTION); |
4461 TerminateExtension(theme2_crx); | 4467 TerminateExtension(theme2_crx); |
4462 | 4468 |
4463 EXPECT_EQ(0u, service_->GetAllSyncData(syncable::APPS).size()); | 4469 EXPECT_EQ(0u, service_->GetAllSyncData(syncable::APPS).size()); |
4464 EXPECT_EQ(2u, service_->GetAllSyncData(syncable::EXTENSIONS).size()); | 4470 EXPECT_EQ(2u, service_->GetAllSyncData(syncable::EXTENSIONS).size()); |
4465 } | 4471 } |
4466 | 4472 |
4467 TEST_F(ExtensionServiceTest, ProcessSyncDataUninstall) { | 4473 TEST_F(ExtensionServiceTest, ProcessSyncDataUninstall) { |
4468 InitializeEmptyExtensionService(); | 4474 InitializeEmptyExtensionService(); |
4469 TestSyncProcessorStub processor; | 4475 TestSyncProcessorStub processor; |
4470 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(), | 4476 service_->MergeDataAndStartSyncing( |
4471 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub), | 4477 syncable::EXTENSIONS, csync::SyncDataList(), |
4472 scoped_ptr<SyncErrorFactory>(new SyncErrorFactoryMock())); | 4478 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4479 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); |
4473 | 4480 |
4474 sync_pb::EntitySpecifics specifics; | 4481 sync_pb::EntitySpecifics specifics; |
4475 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); | 4482 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); |
4476 ext_specifics->set_id(good_crx); | 4483 ext_specifics->set_id(good_crx); |
4477 ext_specifics->set_version("1.0"); | 4484 ext_specifics->set_version("1.0"); |
4478 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics); | 4485 csync::SyncData sync_data = |
4479 SyncChange sync_change(SyncChange::ACTION_DELETE, sync_data); | 4486 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); |
4480 SyncChangeList list(1); | 4487 csync::SyncChange sync_change(csync::SyncChange::ACTION_DELETE, sync_data); |
| 4488 csync::SyncChangeList list(1); |
4481 list[0] = sync_change; | 4489 list[0] = sync_change; |
4482 | 4490 |
4483 // Should do nothing. | 4491 // Should do nothing. |
4484 service_->ProcessSyncChanges(FROM_HERE, list); | 4492 service_->ProcessSyncChanges(FROM_HERE, list); |
4485 EXPECT_FALSE(service_->GetExtensionById(good_crx, true)); | 4493 EXPECT_FALSE(service_->GetExtensionById(good_crx, true)); |
4486 | 4494 |
4487 // Install the extension. | 4495 // Install the extension. |
4488 FilePath extension_path = data_dir_.AppendASCII("good.crx"); | 4496 FilePath extension_path = data_dir_.AppendASCII("good.crx"); |
4489 InstallCRX(extension_path, INSTALL_NEW); | 4497 InstallCRX(extension_path, INSTALL_NEW); |
4490 EXPECT_TRUE(service_->GetExtensionById(good_crx, true)); | 4498 EXPECT_TRUE(service_->GetExtensionById(good_crx, true)); |
(...skipping 18 matching lines...) Expand all Loading... |
4509 sync_pb::EntitySpecifics specifics; | 4517 sync_pb::EntitySpecifics specifics; |
4510 sync_pb::AppSpecifics* app_specifics = specifics.mutable_app(); | 4518 sync_pb::AppSpecifics* app_specifics = specifics.mutable_app(); |
4511 sync_pb::ExtensionSpecifics* extension_specifics = | 4519 sync_pb::ExtensionSpecifics* extension_specifics = |
4512 app_specifics->mutable_extension(); | 4520 app_specifics->mutable_extension(); |
4513 extension_specifics->set_id(good_crx); | 4521 extension_specifics->set_id(good_crx); |
4514 extension_specifics->set_version( | 4522 extension_specifics->set_version( |
4515 service_->GetInstalledExtension(good_crx)->version()->GetString()); | 4523 service_->GetInstalledExtension(good_crx)->version()->GetString()); |
4516 | 4524 |
4517 { | 4525 { |
4518 extension_specifics->set_enabled(true); | 4526 extension_specifics->set_enabled(true); |
4519 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics); | 4527 csync::SyncData sync_data = |
4520 SyncChange sync_change(SyncChange::ACTION_DELETE, sync_data); | 4528 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); |
4521 SyncChangeList list(1); | 4529 csync::SyncChange sync_change(csync::SyncChange::ACTION_DELETE, sync_data); |
| 4530 csync::SyncChangeList list(1); |
4522 list[0] = sync_change; | 4531 list[0] = sync_change; |
4523 | 4532 |
4524 // Should do nothing | 4533 // Should do nothing |
4525 service_->ProcessSyncChanges(FROM_HERE, list); | 4534 service_->ProcessSyncChanges(FROM_HERE, list); |
4526 EXPECT_TRUE(service_->GetExtensionById(good_crx, true)); | 4535 EXPECT_TRUE(service_->GetExtensionById(good_crx, true)); |
4527 } | 4536 } |
4528 | 4537 |
4529 { | 4538 { |
4530 extension_specifics->set_enabled(false); | 4539 extension_specifics->set_enabled(false); |
4531 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics); | 4540 csync::SyncData sync_data = |
4532 SyncChange sync_change(SyncChange::ACTION_UPDATE, sync_data); | 4541 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); |
4533 SyncChangeList list(1); | 4542 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); |
| 4543 csync::SyncChangeList list(1); |
4534 list[0] = sync_change; | 4544 list[0] = sync_change; |
4535 | 4545 |
4536 // Should again do nothing. | 4546 // Should again do nothing. |
4537 service_->ProcessSyncChanges(FROM_HERE, list); | 4547 service_->ProcessSyncChanges(FROM_HERE, list); |
4538 EXPECT_TRUE(service_->GetExtensionById(good_crx, false)); | 4548 EXPECT_TRUE(service_->GetExtensionById(good_crx, false)); |
4539 } | 4549 } |
4540 } | 4550 } |
4541 | 4551 |
4542 TEST_F(ExtensionServiceTest, ProcessSyncDataSettings) { | 4552 TEST_F(ExtensionServiceTest, ProcessSyncDataSettings) { |
4543 InitializeEmptyExtensionService(); | 4553 InitializeEmptyExtensionService(); |
4544 InitializeExtensionProcessManager(); | 4554 InitializeExtensionProcessManager(); |
4545 TestSyncProcessorStub processor; | 4555 TestSyncProcessorStub processor; |
4546 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(), | 4556 service_->MergeDataAndStartSyncing( |
4547 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub), | 4557 syncable::EXTENSIONS, csync::SyncDataList(), |
4548 scoped_ptr<SyncErrorFactory>(new SyncErrorFactoryMock())); | 4558 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4559 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); |
4549 | 4560 |
4550 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 4561 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
4551 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); | 4562 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); |
4552 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); | 4563 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); |
4553 | 4564 |
4554 sync_pb::EntitySpecifics specifics; | 4565 sync_pb::EntitySpecifics specifics; |
4555 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); | 4566 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); |
4556 ext_specifics->set_id(good_crx); | 4567 ext_specifics->set_id(good_crx); |
4557 ext_specifics->set_version( | 4568 ext_specifics->set_version( |
4558 service_->GetInstalledExtension(good_crx)->version()->GetString()); | 4569 service_->GetInstalledExtension(good_crx)->version()->GetString()); |
4559 ext_specifics->set_enabled(false); | 4570 ext_specifics->set_enabled(false); |
4560 | 4571 |
4561 { | 4572 { |
4562 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics); | 4573 csync::SyncData sync_data = |
4563 SyncChange sync_change(SyncChange::ACTION_UPDATE, sync_data); | 4574 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); |
4564 SyncChangeList list(1); | 4575 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); |
| 4576 csync::SyncChangeList list(1); |
4565 list[0] = sync_change; | 4577 list[0] = sync_change; |
4566 service_->ProcessSyncChanges(FROM_HERE, list); | 4578 service_->ProcessSyncChanges(FROM_HERE, list); |
4567 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); | 4579 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); |
4568 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); | 4580 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); |
4569 } | 4581 } |
4570 | 4582 |
4571 { | 4583 { |
4572 ext_specifics->set_enabled(true); | 4584 ext_specifics->set_enabled(true); |
4573 ext_specifics->set_incognito_enabled(true); | 4585 ext_specifics->set_incognito_enabled(true); |
4574 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics); | 4586 csync::SyncData sync_data = |
4575 SyncChange sync_change(SyncChange::ACTION_UPDATE, sync_data); | 4587 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); |
4576 SyncChangeList list(1); | 4588 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); |
| 4589 csync::SyncChangeList list(1); |
4577 list[0] = sync_change; | 4590 list[0] = sync_change; |
4578 service_->ProcessSyncChanges(FROM_HERE, list); | 4591 service_->ProcessSyncChanges(FROM_HERE, list); |
4579 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); | 4592 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); |
4580 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx)); | 4593 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx)); |
4581 } | 4594 } |
4582 | 4595 |
4583 { | 4596 { |
4584 ext_specifics->set_enabled(false); | 4597 ext_specifics->set_enabled(false); |
4585 ext_specifics->set_incognito_enabled(true); | 4598 ext_specifics->set_incognito_enabled(true); |
4586 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics); | 4599 csync::SyncData sync_data = |
4587 SyncChange sync_change(SyncChange::ACTION_UPDATE, sync_data); | 4600 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); |
4588 SyncChangeList list(1); | 4601 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); |
| 4602 csync::SyncChangeList list(1); |
4589 list[0] = sync_change; | 4603 list[0] = sync_change; |
4590 service_->ProcessSyncChanges(FROM_HERE, list); | 4604 service_->ProcessSyncChanges(FROM_HERE, list); |
4591 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); | 4605 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); |
4592 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx)); | 4606 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx)); |
4593 } | 4607 } |
4594 | 4608 |
4595 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); | 4609 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); |
4596 } | 4610 } |
4597 | 4611 |
4598 TEST_F(ExtensionServiceTest, ProcessSyncDataTerminatedExtension) { | 4612 TEST_F(ExtensionServiceTest, ProcessSyncDataTerminatedExtension) { |
4599 InitializeExtensionServiceWithUpdater(); | 4613 InitializeExtensionServiceWithUpdater(); |
4600 TestSyncProcessorStub processor; | 4614 TestSyncProcessorStub processor; |
4601 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(), | 4615 service_->MergeDataAndStartSyncing( |
4602 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub), | 4616 syncable::EXTENSIONS, csync::SyncDataList(), |
4603 scoped_ptr<SyncErrorFactory>(new SyncErrorFactoryMock())); | 4617 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4618 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); |
4604 | 4619 |
4605 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 4620 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
4606 TerminateExtension(good_crx); | 4621 TerminateExtension(good_crx); |
4607 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); | 4622 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); |
4608 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); | 4623 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); |
4609 | 4624 |
4610 sync_pb::EntitySpecifics specifics; | 4625 sync_pb::EntitySpecifics specifics; |
4611 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); | 4626 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); |
4612 ext_specifics->set_id(good_crx); | 4627 ext_specifics->set_id(good_crx); |
4613 ext_specifics->set_version( | 4628 ext_specifics->set_version( |
4614 service_->GetInstalledExtension(good_crx)->version()->GetString()); | 4629 service_->GetInstalledExtension(good_crx)->version()->GetString()); |
4615 ext_specifics->set_enabled(false); | 4630 ext_specifics->set_enabled(false); |
4616 ext_specifics->set_incognito_enabled(true); | 4631 ext_specifics->set_incognito_enabled(true); |
4617 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics); | 4632 csync::SyncData sync_data = |
4618 SyncChange sync_change(SyncChange::ACTION_UPDATE, sync_data); | 4633 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); |
4619 SyncChangeList list(1); | 4634 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); |
| 4635 csync::SyncChangeList list(1); |
4620 list[0] = sync_change; | 4636 list[0] = sync_change; |
4621 | 4637 |
4622 service_->ProcessSyncChanges(FROM_HERE, list); | 4638 service_->ProcessSyncChanges(FROM_HERE, list); |
4623 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); | 4639 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); |
4624 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx)); | 4640 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx)); |
4625 | 4641 |
4626 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); | 4642 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); |
4627 } | 4643 } |
4628 | 4644 |
4629 TEST_F(ExtensionServiceTest, ProcessSyncDataVersionCheck) { | 4645 TEST_F(ExtensionServiceTest, ProcessSyncDataVersionCheck) { |
4630 InitializeExtensionServiceWithUpdater(); | 4646 InitializeExtensionServiceWithUpdater(); |
4631 InitializeRequestContext(); | 4647 InitializeRequestContext(); |
4632 TestSyncProcessorStub processor; | 4648 TestSyncProcessorStub processor; |
4633 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(), | 4649 service_->MergeDataAndStartSyncing( |
4634 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub), | 4650 syncable::EXTENSIONS, csync::SyncDataList(), |
4635 scoped_ptr<SyncErrorFactory>(new SyncErrorFactoryMock())); | 4651 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4652 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); |
4636 | 4653 |
4637 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 4654 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
4638 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); | 4655 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); |
4639 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); | 4656 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); |
4640 | 4657 |
4641 sync_pb::EntitySpecifics specifics; | 4658 sync_pb::EntitySpecifics specifics; |
4642 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); | 4659 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); |
4643 ext_specifics->set_id(good_crx); | 4660 ext_specifics->set_id(good_crx); |
4644 ext_specifics->set_enabled(true); | 4661 ext_specifics->set_enabled(true); |
4645 | 4662 |
4646 { | 4663 { |
4647 ext_specifics->set_version( | 4664 ext_specifics->set_version( |
4648 service_->GetInstalledExtension(good_crx)->version()->GetString()); | 4665 service_->GetInstalledExtension(good_crx)->version()->GetString()); |
4649 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics); | 4666 csync::SyncData sync_data = |
4650 SyncChange sync_change(SyncChange::ACTION_UPDATE, sync_data); | 4667 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); |
4651 SyncChangeList list(1); | 4668 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); |
| 4669 csync::SyncChangeList list(1); |
4652 list[0] = sync_change; | 4670 list[0] = sync_change; |
4653 | 4671 |
4654 // Should do nothing if extension version == sync version. | 4672 // Should do nothing if extension version == sync version. |
4655 service_->ProcessSyncChanges(FROM_HERE, list); | 4673 service_->ProcessSyncChanges(FROM_HERE, list); |
4656 EXPECT_FALSE(service_->updater()->WillCheckSoon()); | 4674 EXPECT_FALSE(service_->updater()->WillCheckSoon()); |
4657 } | 4675 } |
4658 | 4676 |
4659 // Should do nothing if extension version > sync version (but see | 4677 // Should do nothing if extension version > sync version (but see |
4660 // the TODO in ProcessExtensionSyncData). | 4678 // the TODO in ProcessExtensionSyncData). |
4661 { | 4679 { |
4662 ext_specifics->set_version("0.0.0.0"); | 4680 ext_specifics->set_version("0.0.0.0"); |
4663 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics); | 4681 csync::SyncData sync_data = |
4664 SyncChange sync_change(SyncChange::ACTION_UPDATE, sync_data); | 4682 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); |
4665 SyncChangeList list(1); | 4683 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); |
| 4684 csync::SyncChangeList list(1); |
4666 list[0] = sync_change; | 4685 list[0] = sync_change; |
4667 | 4686 |
4668 service_->ProcessSyncChanges(FROM_HERE, list); | 4687 service_->ProcessSyncChanges(FROM_HERE, list); |
4669 EXPECT_FALSE(service_->updater()->WillCheckSoon()); | 4688 EXPECT_FALSE(service_->updater()->WillCheckSoon()); |
4670 } | 4689 } |
4671 | 4690 |
4672 // Should kick off an update if extension version < sync version. | 4691 // Should kick off an update if extension version < sync version. |
4673 { | 4692 { |
4674 ext_specifics->set_version("9.9.9.9"); | 4693 ext_specifics->set_version("9.9.9.9"); |
4675 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics); | 4694 csync::SyncData sync_data = |
4676 SyncChange sync_change(SyncChange::ACTION_UPDATE, sync_data); | 4695 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); |
4677 SyncChangeList list(1); | 4696 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); |
| 4697 csync::SyncChangeList list(1); |
4678 list[0] = sync_change; | 4698 list[0] = sync_change; |
4679 | 4699 |
4680 service_->ProcessSyncChanges(FROM_HERE, list); | 4700 service_->ProcessSyncChanges(FROM_HERE, list); |
4681 EXPECT_TRUE(service_->updater()->WillCheckSoon()); | 4701 EXPECT_TRUE(service_->updater()->WillCheckSoon()); |
4682 } | 4702 } |
4683 | 4703 |
4684 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); | 4704 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx)); |
4685 } | 4705 } |
4686 | 4706 |
4687 TEST_F(ExtensionServiceTest, ProcessSyncDataNotInstalled) { | 4707 TEST_F(ExtensionServiceTest, ProcessSyncDataNotInstalled) { |
4688 InitializeExtensionServiceWithUpdater(); | 4708 InitializeExtensionServiceWithUpdater(); |
4689 InitializeRequestContext(); | 4709 InitializeRequestContext(); |
4690 TestSyncProcessorStub processor; | 4710 TestSyncProcessorStub processor; |
4691 service_->MergeDataAndStartSyncing(syncable::EXTENSIONS, SyncDataList(), | 4711 service_->MergeDataAndStartSyncing( |
4692 scoped_ptr<SyncChangeProcessor>(new TestSyncProcessorStub), | 4712 syncable::EXTENSIONS, csync::SyncDataList(), |
4693 scoped_ptr<SyncErrorFactory>(new SyncErrorFactoryMock())); | 4713 scoped_ptr<csync::SyncChangeProcessor>(new TestSyncProcessorStub), |
| 4714 scoped_ptr<csync::SyncErrorFactory>(new csync::SyncErrorFactoryMock())); |
4694 | 4715 |
4695 sync_pb::EntitySpecifics specifics; | 4716 sync_pb::EntitySpecifics specifics; |
4696 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); | 4717 sync_pb::ExtensionSpecifics* ext_specifics = specifics.mutable_extension(); |
4697 ext_specifics->set_id(good_crx); | 4718 ext_specifics->set_id(good_crx); |
4698 ext_specifics->set_enabled(false); | 4719 ext_specifics->set_enabled(false); |
4699 ext_specifics->set_incognito_enabled(true); | 4720 ext_specifics->set_incognito_enabled(true); |
4700 ext_specifics->set_update_url("http://www.google.com/"); | 4721 ext_specifics->set_update_url("http://www.google.com/"); |
4701 ext_specifics->set_version("1.2.3.4"); | 4722 ext_specifics->set_version("1.2.3.4"); |
4702 SyncData sync_data = SyncData::CreateLocalData(good_crx, "Name", specifics); | 4723 csync::SyncData sync_data = |
4703 SyncChange sync_change(SyncChange::ACTION_UPDATE, sync_data); | 4724 csync::SyncData::CreateLocalData(good_crx, "Name", specifics); |
4704 SyncChangeList list(1); | 4725 csync::SyncChange sync_change(csync::SyncChange::ACTION_UPDATE, sync_data); |
| 4726 csync::SyncChangeList list(1); |
4705 list[0] = sync_change; | 4727 list[0] = sync_change; |
4706 | 4728 |
4707 | 4729 |
4708 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); | 4730 EXPECT_TRUE(service_->IsExtensionEnabled(good_crx)); |
4709 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); | 4731 EXPECT_FALSE(service_->IsIncognitoEnabled(good_crx)); |
4710 service_->ProcessSyncChanges(FROM_HERE, list); | 4732 service_->ProcessSyncChanges(FROM_HERE, list); |
4711 EXPECT_TRUE(service_->updater()->WillCheckSoon()); | 4733 EXPECT_TRUE(service_->updater()->WillCheckSoon()); |
4712 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); | 4734 EXPECT_FALSE(service_->IsExtensionEnabled(good_crx)); |
4713 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx)); | 4735 EXPECT_TRUE(service_->IsIncognitoEnabled(good_crx)); |
4714 | 4736 |
(...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5188 provider->UpdateOrAddExtension(hosted_app, "1.0.0.0", | 5210 provider->UpdateOrAddExtension(hosted_app, "1.0.0.0", |
5189 data_dir_.AppendASCII("hosted_app.crx")); | 5211 data_dir_.AppendASCII("hosted_app.crx")); |
5190 | 5212 |
5191 service_->CheckForExternalUpdates(); | 5213 service_->CheckForExternalUpdates(); |
5192 loop_.RunAllPending(); | 5214 loop_.RunAllPending(); |
5193 | 5215 |
5194 ASSERT_TRUE(service_->PopulateExtensionGlobalError( | 5216 ASSERT_TRUE(service_->PopulateExtensionGlobalError( |
5195 extension_global_error.get())); | 5217 extension_global_error.get())); |
5196 ASSERT_EQ(1u, extension_global_error->get_external_extension_ids()->size()); | 5218 ASSERT_EQ(1u, extension_global_error->get_external_extension_ids()->size()); |
5197 } | 5219 } |
OLD | NEW |