| 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 |