summaryrefslogtreecommitdiff
path: root/chromium/components/signin/core/browser/fake_gaia_cookie_manager_service.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/components/signin/core/browser/fake_gaia_cookie_manager_service.cc')
-rw-r--r--chromium/components/signin/core/browser/fake_gaia_cookie_manager_service.cc99
1 files changed, 40 insertions, 59 deletions
diff --git a/chromium/components/signin/core/browser/fake_gaia_cookie_manager_service.cc b/chromium/components/signin/core/browser/fake_gaia_cookie_manager_service.cc
index 897b8739b66..ed87b82fb00 100644
--- a/chromium/components/signin/core/browser/fake_gaia_cookie_manager_service.cc
+++ b/chromium/components/signin/core/browser/fake_gaia_cookie_manager_service.cc
@@ -4,6 +4,7 @@
#include "components/signin/core/browser/fake_gaia_cookie_manager_service.h"
+#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
#include "components/signin/core/browser/profile_oauth2_token_service.h"
#include "google_apis/gaia/gaia_constants.h"
@@ -37,78 +38,58 @@ void FakeGaiaCookieManagerService::SetListAccountsResponseWebLoginRequired() {
"Info=WebLoginRequired", net::HTTP_OK, net::URLRequestStatus::SUCCESS);
}
-void FakeGaiaCookieManagerService::SetListAccountsResponseNoAccounts() {
+void FakeGaiaCookieManagerService::SetListAccountsResponseWithParams(
+ const std::vector<CookieParams>& params) {
DCHECK(url_fetcher_factory_);
+
+ std::vector<std::string> response_body;
+ for (const auto& param : params) {
+ std::string response_part = base::StringPrintf(
+ "[\"b\", 0, \"n\", \"%s\", \"p\", 0, 0, 0, 0, %d, \"%s\"",
+ param.email.c_str(), param.valid ? 1 : 0, param.gaia_id.c_str());
+ if (param.signed_out || !param.verified) {
+ response_part +=
+ base::StringPrintf(", null, null, null, %d, %d",
+ param.signed_out ? 1 : 0, param.verified ? 1 : 0);
+ }
+ response_part += "]";
+ response_body.push_back(response_part);
+ }
+
url_fetcher_factory_->SetFakeResponse(
GaiaUrls::GetInstance()->ListAccountsURLWithSource(
GaiaConstants::kChromeSource),
- "[\"f\", []]", net::HTTP_OK, net::URLRequestStatus::SUCCESS);
+ std::string("[\"f\", [") + base::JoinString(response_body, ", ") + "]]",
+ net::HTTP_OK, net::URLRequestStatus::SUCCESS);
+}
+
+void FakeGaiaCookieManagerService::SetListAccountsResponseNoAccounts() {
+ SetListAccountsResponseWithParams({});
}
void FakeGaiaCookieManagerService::SetListAccountsResponseOneAccount(
- const char* email,
- const char* gaia_id) {
- DCHECK(url_fetcher_factory_);
- url_fetcher_factory_->SetFakeResponse(
- GaiaUrls::GetInstance()->ListAccountsURLWithSource(
- GaiaConstants::kChromeSource),
- base::StringPrintf(
- "[\"f\", [[\"b\", 0, \"n\", \"%s\", \"p\", 0, 0, 0, 0, 1, \"%s\"]]]",
- email, gaia_id),
- net::HTTP_OK, net::URLRequestStatus::SUCCESS);
+ const std::string& email,
+ const std::string& gaia_id) {
+ CookieParams params = {email, gaia_id, true /* valid */,
+ false /* signed_out */, true /* verified */};
+ SetListAccountsResponseWithParams({params});
}
void FakeGaiaCookieManagerService::SetListAccountsResponseOneAccountWithParams(
- const char* email,
- const char* gaia_id,
- bool is_email_valid,
- bool signed_out,
- bool verified) {
- DCHECK(url_fetcher_factory_);
- url_fetcher_factory_->SetFakeResponse(
- GaiaUrls::GetInstance()->ListAccountsURLWithSource(
- GaiaConstants::kChromeSource),
- base::StringPrintf(
- "[\"f\", [[\"b\", 0, \"n\", \"%s\", \"p\", 0, 0, 0, 0, %d, \"%s\", "
- "null, null, null, %d, %d]]]",
- email, is_email_valid ? 1 : 0, gaia_id, signed_out ? 1 : 0,
- verified ? 1 : 0),
- net::HTTP_OK, net::URLRequestStatus::SUCCESS);
+ const CookieParams& params) {
+ SetListAccountsResponseWithParams({params});
}
void FakeGaiaCookieManagerService::SetListAccountsResponseTwoAccounts(
- const char* email1,
- const char* gaia_id1,
- const char* email2,
- const char* gaia_id2) {
- DCHECK(url_fetcher_factory_);
- url_fetcher_factory_->SetFakeResponse(
- GaiaUrls::GetInstance()->ListAccountsURLWithSource(
- GaiaConstants::kChromeSource),
- base::StringPrintf(
- "[\"f\", [[\"b\", 0, \"n\", \"%s\", \"p\", 0, 0, 0, 0, 1, \"%s\"], "
- "[\"b\", 0, \"n\", \"%s\", \"p\", 0, 0, 0, 0, 1, \"%s\"]]]",
- email1, gaia_id1, email2, gaia_id2),
- net::HTTP_OK, net::URLRequestStatus::SUCCESS);
-}
-
-void FakeGaiaCookieManagerService::SetListAccountsResponseTwoAccountsWithExpiry(
- const char* email1,
- const char* gaia_id1,
- bool account1_expired,
- const char* email2,
- const char* gaia_id2,
- bool account2_expired) {
- DCHECK(url_fetcher_factory_);
- url_fetcher_factory_->SetFakeResponse(
- GaiaUrls::GetInstance()->ListAccountsURLWithSource(
- GaiaConstants::kChromeSource),
- base::StringPrintf(
- "[\"f\", [[\"b\", 0, \"n\", \"%s\", \"p\", 0, 0, 0, 0, %d, \"%s\"], "
- "[\"b\", 0, \"n\", \"%s\", \"p\", 0, 0, 0, 0, %d, \"%s\"]]]",
- email1, account1_expired ? 0 : 1, gaia_id1, email2,
- account2_expired ? 0 : 1, gaia_id2),
- net::HTTP_OK, net::URLRequestStatus::SUCCESS);
+ const std::string& email1,
+ const std::string& gaia_id1,
+ const std::string& email2,
+ const std::string& gaia_id2) {
+ SetListAccountsResponseWithParams(
+ {{email1, gaia_id1, true /* valid */, false /* signed_out */,
+ true /* verified */},
+ {email2, gaia_id2, true /* valid */, false /* signed_out */,
+ true /* verified */}});
}
std::string FakeGaiaCookieManagerService::GetSourceForRequest(