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

Unified Diff: chrome/browser/signin/account_reconcilor_unittest.cc

Issue 166433005: Add URL parameter so that /ListAccounts returns valid json. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix ListAccount strings in tests Created 6 years, 10 months 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
Index: chrome/browser/signin/account_reconcilor_unittest.cc
diff --git a/chrome/browser/signin/account_reconcilor_unittest.cc b/chrome/browser/signin/account_reconcilor_unittest.cc
index c34bd81bbeed8575d1f3ede8a56022d8d9889cc5..b900a7bbecc4aab747d7e4d8f8a911725afc47c0 100644
--- a/chrome/browser/signin/account_reconcilor_unittest.cc
+++ b/chrome/browser/signin/account_reconcilor_unittest.cc
@@ -16,6 +16,7 @@
#include "chrome/browser/signin/signin_manager_factory.h"
#include "chrome/test/base/testing_profile.h"
#include "content/public/test/test_browser_thread_bundle.h"
+#include "google_apis/gaia/gaia_urls.h"
#include "net/url_request/test_url_fetcher_factory.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -33,10 +34,11 @@ class MockAccountReconcilor : public testing::StrictMock<AccountReconcilor> {
MOCK_METHOD1(PerformMergeAction, void(const std::string& account_id));
MOCK_METHOD1(StartRemoveAction, void(const std::string& account_id));
- MOCK_METHOD3(FinishRemoveAction,
- void(const std::string& account_id,
- const GoogleServiceAuthError& error,
- const std::vector<std::string>& accounts));
+ MOCK_METHOD3(
+ FinishRemoveAction,
+ void(const std::string& account_id,
+ const GoogleServiceAuthError& error,
+ const std::vector<std::pair<std::string, bool> >& accounts));
MOCK_METHOD2(PerformAddToChromeAction, void(const std::string& account_id,
int session_index));
MOCK_METHOD0(PerformLogoutAllAccountsAction, void());
@@ -205,8 +207,8 @@ TEST_F(AccountReconcilorTest, GetAccountsFromCookieSuccess) {
AccountReconcilorFactory::GetForProfile(profile());
ASSERT_TRUE(reconcilor);
- SetFakeResponse("https://accounts.google.com/ListAccounts",
- "[\"foo\", [[\"b\", 0, \"n\", \"user@gmail.com\", \"p\", 0, 0, 0]]]",
+ SetFakeResponse(GaiaUrls::GetInstance()->list_accounts_url().spec(),
+ "[\"f\", [[\"b\", 0, \"n\", \"user@gmail.com\", \"p\", 0, 0, 0, 0, 0]]]",
net::HTTP_OK, net::URLRequestStatus::SUCCESS);
reconcilor->StartReconcile();
@@ -214,10 +216,10 @@ TEST_F(AccountReconcilorTest, GetAccountsFromCookieSuccess) {
base::RunLoop().RunUntilIdle();
ASSERT_TRUE(reconcilor->AreGaiaAccountsSet());
- const std::vector<std::string>& accounts =
+ const std::vector<std::pair<std::string, bool> >& accounts =
reconcilor->GetGaiaAccountsForTesting();
ASSERT_EQ(1u, accounts.size());
- ASSERT_EQ("user@gmail.com", accounts[0]);
+ ASSERT_EQ("user@gmail.com", accounts[0].first);
}
TEST_F(AccountReconcilorTest, GetAccountsFromCookieFailure) {
@@ -227,7 +229,7 @@ TEST_F(AccountReconcilorTest, GetAccountsFromCookieFailure) {
AccountReconcilorFactory::GetForProfile(profile());
ASSERT_TRUE(reconcilor);
- SetFakeResponse("https://accounts.google.com/ListAccounts", "",
+ SetFakeResponse(GaiaUrls::GetInstance()->list_accounts_url().spec(), "",
net::HTTP_NOT_FOUND, net::URLRequestStatus::SUCCESS);
reconcilor->StartReconcile();
@@ -309,8 +311,8 @@ TEST_F(AccountReconcilorTest, StartReconcileNoop) {
AccountReconcilorFactory::GetForProfile(profile());
ASSERT_TRUE(reconcilor);
- SetFakeResponse("https://accounts.google.com/ListAccounts",
- "[\"foo\", [[\"b\", 0, \"n\", \"user@gmail.com\", \"p\", 0, 0, 0]]]",
+ SetFakeResponse(GaiaUrls::GetInstance()->list_accounts_url().spec(),
+ "[\"f\", [[\"b\", 0, \"n\", \"user@gmail.com\", \"p\", 0, 0, 0, 0, 1]]]",
net::HTTP_OK, net::URLRequestStatus::SUCCESS);
SetFakeResponse("https://www.googleapis.com/oauth2/v1/userinfo",
"{\"id\":\"foo\"}", net::HTTP_OK, net::URLRequestStatus::SUCCESS);
@@ -341,9 +343,9 @@ TEST_F(AccountReconcilorTest, StartReconcileNoopMultiple) {
AccountReconcilorFactory::GetForProfile(profile());
ASSERT_TRUE(reconcilor);
- SetFakeResponse("https://accounts.google.com/ListAccounts",
- "[\"foo\", [[\"b\", 0, \"n\", \"user@gmail.com\", \"p\", 0, 0, 0], "
- "[\"b\", 0, \"n\", \"other@gmail.com\", \"p\", 0, 0, 0]]]",
+ SetFakeResponse(GaiaUrls::GetInstance()->list_accounts_url().spec(),
+ "[\"f\", [[\"b\", 0, \"n\", \"user@gmail.com\", \"p\", 0, 0, 0, 0, 1], "
+ "[\"b\", 0, \"n\", \"other@gmail.com\", \"p\", 0, 0, 0, 0, 1]]]",
net::HTTP_OK, net::URLRequestStatus::SUCCESS);
SetFakeResponse("https://www.googleapis.com/oauth2/v1/userinfo",
"{\"id\":\"foo\"}", net::HTTP_OK, net::URLRequestStatus::SUCCESS);
@@ -378,8 +380,8 @@ TEST_F(AccountReconcilorTest, StartReconcileAddToCookie) {
EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction("other@gmail.com"));
- SetFakeResponse("https://accounts.google.com/ListAccounts",
- "[\"foo\", [[\"b\", 0, \"n\", \"user@gmail.com\", \"p\", 0, 0, 0]]]",
+ SetFakeResponse(GaiaUrls::GetInstance()->list_accounts_url().spec(),
+ "[\"f\", [[\"b\", 0, \"n\", \"user@gmail.com\", \"p\", 0, 0, 0, 0, 1]]]",
net::HTTP_OK, net::URLRequestStatus::SUCCESS);
SetFakeResponse("https://www.googleapis.com/oauth2/v1/userinfo",
"{\"id\":\"foo\"}", net::HTTP_OK, net::URLRequestStatus::SUCCESS);
@@ -405,9 +407,9 @@ TEST_F(AccountReconcilorTest, StartReconcileAddToChrome) {
EXPECT_CALL(*GetMockReconcilor(),
PerformAddToChromeAction("other@gmail.com", 1));
- SetFakeResponse("https://accounts.google.com/ListAccounts",
- "[\"foo\", [[\"b\", 0, \"n\", \"user@gmail.com\", \"p\", 0, 0, 0], "
- "[\"b\", 0, \"n\", \"other@gmail.com\", \"p\", 0, 0, 0]]]",
+ SetFakeResponse(GaiaUrls::GetInstance()->list_accounts_url().spec(),
+ "[\"f\", [[\"b\", 0, \"n\", \"user@gmail.com\", \"p\", 0, 0, 0, 0, 1], "
+ "[\"b\", 0, \"n\", \"other@gmail.com\", \"p\", 0, 0, 0, 0, 1]]]",
net::HTTP_OK, net::URLRequestStatus::SUCCESS);
SetFakeResponse("https://www.googleapis.com/oauth2/v1/userinfo",
"{\"id\":\"foo\"}", net::HTTP_OK, net::URLRequestStatus::SUCCESS);
@@ -432,9 +434,9 @@ TEST_F(AccountReconcilorTest, StartReconcileBadPrimary) {
EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction("user@gmail.com"));
EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction("other@gmail.com"));
- SetFakeResponse("https://accounts.google.com/ListAccounts",
- "[\"foo\", [[\"b\", 0, \"n\", \"other@gmail.com\", \"p\", 0, 0, 0], "
- "[\"b\", 0, \"n\", \"user@gmail.com\", \"p\", 0, 0, 0]]]",
+ SetFakeResponse(GaiaUrls::GetInstance()->list_accounts_url().spec(),
+ "[\"f\", [[\"b\", 0, \"n\", \"other@gmail.com\", \"p\", 0, 0, 0, 0, 1], "
+ "[\"b\", 0, \"n\", \"user@gmail.com\", \"p\", 0, 0, 0, 0, 1]]]",
net::HTTP_OK, net::URLRequestStatus::SUCCESS);
SetFakeResponse("https://www.googleapis.com/oauth2/v1/userinfo",
"{\"id\":\"foo\"}", net::HTTP_OK, net::URLRequestStatus::SUCCESS);
@@ -464,8 +466,8 @@ TEST_F(AccountReconcilorTest, StartReconcileOnlyOnce) {
AccountReconcilorFactory::GetForProfile(profile());
ASSERT_TRUE(reconcilor);
- SetFakeResponse("https://accounts.google.com/ListAccounts",
- "[\"foo\", [[\"b\", 0, \"n\", \"user@gmail.com\", \"p\", 0, 0, 0]]]",
+ SetFakeResponse(GaiaUrls::GetInstance()->list_accounts_url().spec(),
+ "[\"f\", [[\"b\", 0, \"n\", \"user@gmail.com\", \"p\", 0, 0, 0, 0, 1]]]",
net::HTTP_OK, net::URLRequestStatus::SUCCESS);
SetFakeResponse("https://www.googleapis.com/oauth2/v1/userinfo",
"{\"id\":\"foo\"}", net::HTTP_OK, net::URLRequestStatus::SUCCESS);
@@ -480,3 +482,36 @@ TEST_F(AccountReconcilorTest, StartReconcileOnlyOnce) {
base::RunLoop().RunUntilIdle();
ASSERT_FALSE(reconcilor->is_reconcile_started_);
}
+
+TEST_F(AccountReconcilorTest, StartReconcileWithSessionInfoExpiredDefault) {
+ signin_manager()->SetAuthenticatedUsername("user@gmail.com");
+ token_service()->UpdateCredentials("user@gmail.com", "refresh_token");
+ token_service()->UpdateCredentials("other@gmail.com", "refresh_token");
+
+ EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction("user@gmail.com"));
+
+ SetFakeResponse(GaiaUrls::GetInstance()->list_accounts_url().spec(),
+ "[\"f\", [[\"b\", 0, \"n\", \"user@gmail.com\", \"p\", 0, 0, 0, 0, 0],"
+ "[\"b\", 0, \"n\", \"other@gmail.com\", \"p\", 0, 0, 0, 0, 1]]]",
+ net::HTTP_OK, net::URLRequestStatus::SUCCESS);
+ SetFakeResponse("https://www.googleapis.com/oauth2/v1/userinfo",
+ "{\"id\":\"foo\"}", net::HTTP_OK, net::URLRequestStatus::SUCCESS);
+
+ AccountReconcilor* reconcilor =
+ AccountReconcilorFactory::GetForProfile(profile());
+ ASSERT_TRUE(reconcilor);
+
+ ASSERT_FALSE(reconcilor->is_reconcile_started_);
+ reconcilor->StartReconcile();
+ ASSERT_TRUE(reconcilor->is_reconcile_started_);
+
+ token_service()->IssueAllTokensForAccount("user@gmail.com", "access_token",
+ base::Time::Now() + base::TimeDelta::FromHours(1));
+ token_service()->IssueAllTokensForAccount("other@gmail.com", "access_token",
+ base::Time::Now() + base::TimeDelta::FromHours(1));
+
+ base::RunLoop().RunUntilIdle();
+ SimulateMergeSessionCompleted(reconcilor, "user@gmail.com",
+ GoogleServiceAuthError::AuthErrorNone());
+ ASSERT_FALSE(reconcilor->is_reconcile_started_);
+}

Powered by Google App Engine
This is Rietveld 408576698