Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5228)

Unified Diff: chrome/browser/sync/signin_manager_unittest.cc

Issue 8515030: Do not clear tokens from db when the user enters new credentials. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: For review. Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/sync/signin_manager.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/sync/signin_manager_unittest.cc
diff --git a/chrome/browser/sync/signin_manager_unittest.cc b/chrome/browser/sync/signin_manager_unittest.cc
index 2ecad6ef017b701c0bd01f315132565d2560cb1e..93e97c6ebb13df89556747f2955f8bdccb870005 100644
--- a/chrome/browser/sync/signin_manager_unittest.cc
+++ b/chrome/browser/sync/signin_manager_unittest.cc
@@ -8,10 +8,12 @@
#include "chrome/browser/net/gaia/token_service.h"
#include "chrome/browser/net/gaia/token_service_unittest.h"
#include "chrome/browser/password_manager/encryptor.h"
+#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/sync/util/oauth.h"
#include "chrome/browser/webdata/web_data_service.h"
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/net/gaia/gaia_urls.h"
+#include "chrome/common/pref_names.h"
#include "chrome/test/base/testing_profile.h"
#include "content/test/test_url_fetcher_factory.h"
#include "net/url_request/url_request.h"
@@ -112,6 +114,39 @@ TEST_F(SigninManagerTest, SignInClientLogin) {
EXPECT_EQ("user@gmail.com", manager_->GetUsername());
}
+TEST_F(SigninManagerTest, ClearInMemoryData) {
+ browser_sync::SetIsUsingOAuthForTest(false);
+ manager_->Initialize(profile_.get());
+ EXPECT_TRUE(manager_->GetUsername().empty());
+
+ manager_->StartSignIn("username", "password", "", "");
+ EXPECT_FALSE(manager_->GetUsername().empty());
+
+ SimulateValidResponseClientLogin();
+
+ // Should go into token service and stop.
+ EXPECT_EQ(1U, google_login_success_.size());
+ EXPECT_EQ(0U, google_login_failure_.size());
+
+ EXPECT_EQ("user@gmail.com", manager_->GetUsername());
+
+ // Now clear the in memory data.
+ manager_->ClearInMemoryData();
+ EXPECT_TRUE(manager_->GetUsername().empty());
+
+ // Ensure preferences are not modified.
+ EXPECT_FALSE(
+ profile_->GetPrefs()->GetString(prefs::kGoogleServicesUsername).empty());
+
+ // On reset it should be regenerated.
+ manager_.reset(new SigninManager());
+ manager_->Initialize(profile_.get());
+
+ // Now make sure we have the right user name.
+ EXPECT_EQ("user@gmail.com", manager_->GetUsername());
+}
+
+
// NOTE: OAuth's "StartOAuthSignIn" is called before collecting credentials
// from the user. See also SigninManagerTest::SignInClientLogin.
TEST_F(SigninManagerTest, SignInOAuth) {
« no previous file with comments | « chrome/browser/sync/signin_manager.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698