Index: chrome/browser/profiles/gaia_info_update_service_unittest.cc |
diff --git a/chrome/browser/profiles/gaia_info_update_service_unittest.cc b/chrome/browser/profiles/gaia_info_update_service_unittest.cc |
index 1eacf5b3e089bc3be8a1ea55048b8b790e50048f..04d2ff6f5cecfe0d5c802e33fa797a9ca79a12dd 100644 |
--- a/chrome/browser/profiles/gaia_info_update_service_unittest.cc |
+++ b/chrome/browser/profiles/gaia_info_update_service_unittest.cc |
@@ -10,6 +10,7 @@ |
#include "chrome/browser/profiles/profile_downloader.h" |
#include "chrome/browser/profiles/profile_info_cache.h" |
#include "chrome/browser/profiles/profile_info_cache_unittest.h" |
+#include "chrome/browser/signin/signin_manager_factory.h" |
#include "chrome/common/pref_names.h" |
#include "chrome/test/base/testing_browser_process.h" |
#include "chrome/test/base/testing_profile.h" |
@@ -68,30 +69,48 @@ class GAIAInfoUpdateServiceTest : public ProfileInfoCacheTest { |
return profile_; |
} |
+ NiceMock<GAIAInfoUpdateServiceMock>* service() { return service_.get(); } |
+ NiceMock<ProfileDownloaderMock>* downloader() { return downloader_.get(); } |
+ |
private: |
+ virtual void SetUp() OVERRIDE; |
+ virtual void TearDown() OVERRIDE; |
+ |
Profile* profile_; |
+ scoped_ptr<NiceMock<GAIAInfoUpdateServiceMock> > service_; |
+ scoped_ptr<NiceMock<ProfileDownloaderMock> > downloader_; |
}; |
+void GAIAInfoUpdateServiceTest::SetUp() { |
+ ProfileInfoCacheTest::SetUp(); |
+ service_.reset(new NiceMock<GAIAInfoUpdateServiceMock>(profile())); |
+ downloader_.reset(new NiceMock<ProfileDownloaderMock>(service())); |
+} |
+ |
+void GAIAInfoUpdateServiceTest::TearDown() { |
+ downloader_.reset(); |
+ service_->Shutdown(); |
+ service_.reset(); |
+ ProfileInfoCacheTest::TearDown(); |
+} |
+ |
} // namespace |
TEST_F(GAIAInfoUpdateServiceTest, DownloadSuccess) { |
- GAIAInfoUpdateService service(profile()); |
- NiceMock<ProfileDownloaderMock> downloader(&service); |
- |
base::string16 name = base::ASCIIToUTF16("Pat Smith"); |
- EXPECT_CALL(downloader, GetProfileFullName()).WillOnce(Return(name)); |
+ EXPECT_CALL(*downloader(), GetProfileFullName()).WillOnce(Return(name)); |
gfx::Image image = gfx::test::CreateImage(); |
const SkBitmap* bmp = image.ToSkBitmap(); |
- EXPECT_CALL(downloader, GetProfilePicture()).WillOnce(Return(*bmp)); |
- EXPECT_CALL(downloader, GetProfilePictureStatus()). |
+ EXPECT_CALL(*downloader(), GetProfilePicture()).WillOnce(Return(*bmp)); |
+ EXPECT_CALL(*downloader(), GetProfilePictureStatus()). |
WillOnce(Return(ProfileDownloader::PICTURE_SUCCESS)); |
std::string url("foo.com"); |
- EXPECT_CALL(downloader, GetProfilePictureURL()).WillOnce(Return(url)); |
+ EXPECT_CALL(*downloader(), GetProfilePictureURL()).WillOnce(Return(url)); |
// No URL should be cached yet. |
- EXPECT_EQ(std::string(), service.GetCachedPictureURL()); |
+ EXPECT_EQ(std::string(), service()->GetCachedPictureURL()); |
- service.OnProfileDownloadSuccess(&downloader); |
+ service()->OnProfileDownloadSuccess(downloader()); |
// On success both the profile info and GAIA info should be updated. |
size_t index = GetCache()->GetIndexOfProfileWithPath(profile()->GetPath()); |
@@ -101,7 +120,7 @@ TEST_F(GAIAInfoUpdateServiceTest, DownloadSuccess) { |
image, GetCache()->GetAvatarIconOfProfileAtIndex(index))); |
EXPECT_TRUE(gfx::test::IsEqual( |
image, *GetCache()->GetGAIAPictureOfProfileAtIndex(index))); |
- EXPECT_EQ(url, service.GetCachedPictureURL()); |
+ EXPECT_EQ(url, service()->GetCachedPictureURL()); |
} |
TEST_F(GAIAInfoUpdateServiceTest, DownloadFailure) { |
@@ -109,12 +128,10 @@ TEST_F(GAIAInfoUpdateServiceTest, DownloadFailure) { |
base::string16 old_name = GetCache()->GetNameOfProfileAtIndex(index); |
gfx::Image old_image = GetCache()->GetAvatarIconOfProfileAtIndex(index); |
- GAIAInfoUpdateService service(profile()); |
- EXPECT_EQ(std::string(), service.GetCachedPictureURL()); |
- NiceMock<ProfileDownloaderMock> downloader(&service); |
+ EXPECT_EQ(std::string(), service()->GetCachedPictureURL()); |
- service.OnProfileDownloadFailure(&downloader, |
- ProfileDownloaderDelegate::SERVICE_ERROR); |
+ service()->OnProfileDownloadFailure(downloader(), |
+ ProfileDownloaderDelegate::SERVICE_ERROR); |
// On failure nothing should be updated. |
EXPECT_EQ(old_name, GetCache()->GetNameOfProfileAtIndex(index)); |
@@ -122,7 +139,7 @@ TEST_F(GAIAInfoUpdateServiceTest, DownloadFailure) { |
EXPECT_TRUE(gfx::test::IsEqual( |
old_image, GetCache()->GetAvatarIconOfProfileAtIndex(index))); |
EXPECT_EQ(NULL, GetCache()->GetGAIAPictureOfProfileAtIndex(index)); |
- EXPECT_EQ(std::string(), service.GetCachedPictureURL()); |
+ EXPECT_EQ(std::string(), service()->GetCachedPictureURL()); |
} |
TEST_F(GAIAInfoUpdateServiceTest, ShouldUseGAIAProfileInfo) { |
@@ -133,17 +150,19 @@ TEST_F(GAIAInfoUpdateServiceTest, ShouldUseGAIAProfileInfo) { |
} |
TEST_F(GAIAInfoUpdateServiceTest, ScheduleUpdate) { |
- GAIAInfoUpdateService service(profile()); |
- EXPECT_TRUE(service.timer_.IsRunning()); |
- service.timer_.Stop(); |
- EXPECT_FALSE(service.timer_.IsRunning()); |
- service.ScheduleNextUpdate(); |
- EXPECT_TRUE(service.timer_.IsRunning()); |
+ EXPECT_TRUE(service()->timer_.IsRunning()); |
+ service()->timer_.Stop(); |
+ EXPECT_FALSE(service()->timer_.IsRunning()); |
+ service()->ScheduleNextUpdate(); |
+ EXPECT_TRUE(service()->timer_.IsRunning()); |
} |
+#if !defined(OS_CHROMEOS) |
+ |
TEST_F(GAIAInfoUpdateServiceTest, LogOut) { |
- profile()->GetPrefs()->SetString(prefs::kGoogleServicesUsername, |
- "pat@example.com"); |
+ SigninManager* signin_manager = |
+ SigninManagerFactory::GetForProfile(profile()); |
+ signin_manager->SetAuthenticatedUsername("pat@example.com"); |
base::string16 gaia_name = base::UTF8ToUTF16("Pat Foo"); |
GetCache()->SetGAIANameOfProfileAtIndex(0, gaia_name); |
gfx::Image gaia_picture = gfx::test::CreateImage(); |
@@ -153,25 +172,22 @@ TEST_F(GAIAInfoUpdateServiceTest, LogOut) { |
profile()->GetPrefs()->SetString(prefs::kProfileGAIAInfoPictureURL, |
"example.com"); |
- GAIAInfoUpdateService service(profile()); |
- EXPECT_FALSE(service.GetCachedPictureURL().empty()); |
- // Log out. |
- profile()->GetPrefs() |
- ->SetString(prefs::kGoogleServicesUsername, std::string()); |
+ EXPECT_FALSE(service()->GetCachedPictureURL().empty()); |
+ // Log out. |
+ signin_manager->SignOut(); |
// Verify that the GAIA name and picture, and picture URL are unset. |
EXPECT_TRUE(GetCache()->GetGAIANameOfProfileAtIndex(0).empty()); |
EXPECT_EQ(NULL, GetCache()->GetGAIAPictureOfProfileAtIndex(0)); |
- EXPECT_TRUE(service.GetCachedPictureURL().empty()); |
+ EXPECT_TRUE(service()->GetCachedPictureURL().empty()); |
} |
TEST_F(GAIAInfoUpdateServiceTest, LogIn) { |
- profile()->GetPrefs() |
- ->SetString(prefs::kGoogleServicesUsername, std::string()); |
- GAIAInfoUpdateServiceMock service(profile()); |
- |
// Log in. |
- EXPECT_CALL(service, Update()); |
- profile()->GetPrefs()->SetString(prefs::kGoogleServicesUsername, |
- "pat@example.com"); |
+ EXPECT_CALL(*service(), Update()); |
+ SigninManager* signin_manager = |
+ SigninManagerFactory::GetForProfile(profile()); |
+ signin_manager->OnExternalSigninCompleted("pat@example.com"); |
} |
+ |
+#endif |