Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / sync / profile_sync_components_factory_impl_unittest.cc
index 22fae81..2f5925a 100644 (file)
 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
 #include "chrome/browser/sync/profile_sync_components_factory_impl.h"
 #include "chrome/browser/sync/profile_sync_service.h"
+#include "chrome/browser/sync/profile_sync_service_factory.h"
+#include "chrome/browser/sync/supervised_user_signin_manager_wrapper.h"
 #include "chrome/common/chrome_switches.h"
 #include "chrome/common/chrome_version_info.h"
 #include "chrome/test/base/testing_profile.h"
 #include "components/signin/core/browser/profile_oauth2_token_service.h"
 #include "components/sync_driver/data_type_controller.h"
-#include "content/public/test/test_browser_thread.h"
+#include "content/public/test/test_browser_thread_bundle.h"
+#include "google_apis/gaia/gaia_constants.h"
+#include "google_apis/gaia/oauth2_token_service.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/app_list/app_list_switches.h"
 
-using browser_sync::DataTypeController;
-using content::BrowserThread;
+using sync_driver::DataTypeController;
 
 class ProfileSyncComponentsFactoryImplTest : public testing::Test {
  protected:
   ProfileSyncComponentsFactoryImplTest()
-      : ui_thread_(BrowserThread::UI, &message_loop_) {}
+      : thread_bundle_(content::TestBrowserThreadBundle::DEFAULT) {}
 
   virtual void SetUp() {
     profile_.reset(new TestingProfile());
     base::FilePath program_path(FILE_PATH_LITERAL("chrome.exe"));
     command_line_.reset(new CommandLine(program_path));
+    scope_set_.insert(GaiaConstants::kChromeSyncOAuth2Scope);
   }
 
   // Returns the collection of default datatypes.
@@ -62,16 +66,9 @@ class ProfileSyncComponentsFactoryImplTest : public testing::Test {
     datatypes.push_back(syncer::TYPED_URLS);
     datatypes.push_back(syncer::FAVICON_TRACKING);
     datatypes.push_back(syncer::FAVICON_IMAGES);
-    datatypes.push_back(syncer::SYNCED_NOTIFICATIONS);
-    // TODO(petewil): Enable on stable when the feature is ready.
-    chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel();
-    if (channel == chrome::VersionInfo::CHANNEL_UNKNOWN ||
-        channel == chrome::VersionInfo::CHANNEL_DEV ||
-        channel == chrome::VersionInfo::CHANNEL_CANARY) {
-      datatypes.push_back(syncer::SYNCED_NOTIFICATION_APP_INFO);
-    }
-    datatypes.push_back(syncer::MANAGED_USERS);
-    datatypes.push_back(syncer::MANAGED_USER_SHARED_SETTINGS);
+    datatypes.push_back(syncer::SUPERVISED_USERS);
+    datatypes.push_back(syncer::SUPERVISED_USER_SETTINGS);
+    datatypes.push_back(syncer::SUPERVISED_USER_SHARED_SETTINGS);
 
     return datatypes;
   }
@@ -104,14 +101,22 @@ class ProfileSyncComponentsFactoryImplTest : public testing::Test {
   void TestSwitchDisablesType(syncer::ModelTypeSet types) {
     command_line_->AppendSwitchASCII(switches::kDisableSyncTypes,
                                      syncer::ModelTypeSetToString(types));
-    scoped_ptr<ProfileSyncService> pss(
-        new ProfileSyncService(
-            new ProfileSyncComponentsFactoryImpl(profile_.get(),
-                                                 command_line_.get()),
-            profile_.get(),
-            NULL,
-            ProfileOAuth2TokenServiceFactory::GetForProfile(profile_.get()),
-            browser_sync::MANUAL_START));
+    GURL sync_service_url =
+        ProfileSyncService::GetSyncServiceURL(*command_line_);
+    ProfileOAuth2TokenService* token_service =
+        ProfileOAuth2TokenServiceFactory::GetForProfile(profile_.get());
+    scoped_ptr<ProfileSyncService> pss(new ProfileSyncService(
+        scoped_ptr<ProfileSyncComponentsFactory>(
+            new ProfileSyncComponentsFactoryImpl(
+                profile_.get(),
+                command_line_.get(),
+                ProfileSyncService::GetSyncServiceURL(*command_line_),
+                token_service,
+                profile_->GetRequestContext())),
+        profile_.get(),
+        make_scoped_ptr<SupervisedUserSigninManagerWrapper>(NULL),
+        token_service,
+        browser_sync::MANUAL_START));
     pss->factory()->RegisterDataTypes(pss.get());
     DataTypeController::StateMap controller_states;
     pss->GetDataTypeControllerStates(&controller_states);
@@ -119,18 +124,26 @@ class ProfileSyncComponentsFactoryImplTest : public testing::Test {
     CheckDefaultDatatypesInMapExcept(&controller_states, types);
   }
 
-  base::MessageLoop message_loop_;
-  content::TestBrowserThread ui_thread_;
+  content::TestBrowserThreadBundle thread_bundle_;
   scoped_ptr<Profile> profile_;
   scoped_ptr<CommandLine> command_line_;
+  OAuth2TokenService::ScopeSet scope_set_;
 };
 
 TEST_F(ProfileSyncComponentsFactoryImplTest, CreatePSSDefault) {
+  ProfileOAuth2TokenService* token_service =
+      ProfileOAuth2TokenServiceFactory::GetForProfile(profile_.get());
   scoped_ptr<ProfileSyncService> pss(new ProfileSyncService(
-      new ProfileSyncComponentsFactoryImpl(profile_.get(), command_line_.get()),
+      scoped_ptr<ProfileSyncComponentsFactory>(
+          new ProfileSyncComponentsFactoryImpl(
+              profile_.get(),
+              command_line_.get(),
+              ProfileSyncService::GetSyncServiceURL(*command_line_),
+              token_service,
+              profile_->GetRequestContext())),
       profile_.get(),
-      NULL,
-      ProfileOAuth2TokenServiceFactory::GetForProfile(profile_.get()),
+      make_scoped_ptr<SupervisedUserSigninManagerWrapper>(NULL),
+      token_service,
       browser_sync::MANUAL_START));
   pss->factory()->RegisterDataTypes(pss.get());
   DataTypeController::StateMap controller_states;