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

Unified Diff: components/signin/core/browser/signin_header_helper_unittest.cc

Issue 2918403009: [Dice] Parse the Dice response header (Closed)
Patch Set: rebase Created 3 years, 6 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: components/signin/core/browser/signin_header_helper_unittest.cc
diff --git a/components/signin/core/browser/signin_header_helper_unittest.cc b/components/signin/core/browser/signin_header_helper_unittest.cc
index a0433c6fc6680c9ef3e5a48efcaa1ba07c543295..157ba76b3c207895ef5676aaa4ac80bb20e6a85b 100644
--- a/components/signin/core/browser/signin_header_helper_unittest.cc
+++ b/components/signin/core/browser/signin_header_helper_unittest.cc
@@ -9,6 +9,7 @@
#include "base/command_line.h"
#include "base/message_loop/message_loop.h"
+#include "base/strings/stringprintf.h"
#include "build/build_config.h"
#include "components/content_settings/core/browser/cookie_settings.h"
#include "components/signin/core/browser/chrome_connected_header_helper.h"
@@ -24,6 +25,8 @@
#include "components/signin/core/browser/dice_header_helper.h"
#endif
+namespace signin {
msarda 2017/06/12 11:52:21 I think that tests can be in an anonymous namespac
droger 2017/06/12 12:39:16 Yes, this is for convenience (removing the signin:
msarda 2017/06/12 14:03:42 Acknowledged.
+
class SigninHeaderHelperTest : public testing::Test {
protected:
void SetUp() override {
@@ -42,10 +45,10 @@ class SigninHeaderHelperTest : public testing::Test {
void CheckMirrorCookieRequest(const GURL& url,
const std::string& account_id,
const std::string& expected_request) {
- EXPECT_EQ(signin::BuildMirrorRequestCookieIfPossible(
- url, account_id, cookie_settings_.get(),
- signin::PROFILE_MODE_DEFAULT),
- expected_request);
+ EXPECT_EQ(
+ BuildMirrorRequestCookieIfPossible(
+ url, account_id, cookie_settings_.get(), PROFILE_MODE_DEFAULT),
+ expected_request);
}
std::unique_ptr<net::URLRequest> CreateRequest(
@@ -54,9 +57,9 @@ class SigninHeaderHelperTest : public testing::Test {
std::unique_ptr<net::URLRequest> url_request =
url_request_context_.CreateRequest(url, net::DEFAULT_PRIORITY, nullptr,
TRAFFIC_ANNOTATION_FOR_TESTS);
- signin::AppendOrRemoveAccountConsistentyRequestHeader(
+ AppendOrRemoveAccountConsistentyRequestHeader(
url_request.get(), GURL(), account_id, cookie_settings_.get(),
- signin::PROFILE_MODE_DEFAULT);
+ PROFILE_MODE_DEFAULT);
return url_request;
}
@@ -80,7 +83,7 @@ class SigninHeaderHelperTest : public testing::Test {
std::unique_ptr<net::URLRequest> url_request =
CreateRequest(url, account_id);
CheckAccountConsistencyHeaderRequest(
- url_request.get(), signin::kChromeConnectedHeader, expected_request);
+ url_request.get(), kChromeConnectedHeader, expected_request);
}
#if !defined(OS_IOS) && !defined(OS_ANDROID)
@@ -90,11 +93,10 @@ class SigninHeaderHelperTest : public testing::Test {
const std::string& expected_dice_request) {
std::unique_ptr<net::URLRequest> url_request =
CreateRequest(url, account_id);
- CheckAccountConsistencyHeaderRequest(url_request.get(),
- signin::kChromeConnectedHeader,
- expected_mirror_request);
CheckAccountConsistencyHeaderRequest(
- url_request.get(), signin::kDiceRequestHeader, expected_dice_request);
+ url_request.get(), kChromeConnectedHeader, expected_mirror_request);
+ CheckAccountConsistencyHeaderRequest(url_request.get(), kDiceRequestHeader,
+ expected_dice_request);
}
#endif
@@ -222,6 +224,30 @@ TEST_F(SigninHeaderHelperTest, TestMirrorRequestDrive) {
"id=0123456789:mode=0:enable_account_consistency=true");
}
+TEST_F(SigninHeaderHelperTest, TestDiceInvalidResponseParams) {
+ DiceResponseParams params = BuildDiceResponseParams("blah");
+ EXPECT_EQ(DiceAction::NONE, params.user_intention);
+}
+
+TEST_F(SigninHeaderHelperTest, TestBuildDiceResponseParams) {
+ const char kAuthorizationCode[] = "authorization_code";
+ const char kEmail[] = "foo@example.com";
+ const char kLogoutURL[] = "https://example.com/logout";
+ const char kObfuscatedGaiaID[] = "obfuscated_gaia_id";
+ const char kSessionIndex[] = "session_index";
+
+ DiceResponseParams params = BuildDiceResponseParams(base::StringPrintf(
+ "action=%s,id=%s,email=%s,authuser=%s,authorization_code=%s,logout=%s",
+ "SIGNIN", kObfuscatedGaiaID, kEmail, kSessionIndex, kAuthorizationCode,
+ kLogoutURL));
+ EXPECT_EQ(DiceAction::SIGNIN, params.user_intention);
msarda 2017/06/12 11:52:21 I think we should test the following cases: * vali
droger 2017/06/12 12:39:16 SIGNIN and SIGNOUT done. However: what would be t
msarda 2017/06/12 14:03:42 I wanted a test that shows how the parse is done i
droger 2017/06/12 16:12:58 Done. I'm now doing validation and return NONE if
+ EXPECT_EQ(kObfuscatedGaiaID, params.obfuscated_gaia_id);
+ EXPECT_EQ(kEmail, params.email);
+ EXPECT_EQ(kSessionIndex, params.session_index);
+ EXPECT_EQ(kAuthorizationCode, params.authorization_code);
+ EXPECT_EQ(GURL(kLogoutURL), params.logout_url);
+}
+
#endif // !defined(OS_ANDROID) && !defined(OS_IOS)
// Tests that the Mirror header request is returned normally when the redirect
@@ -235,11 +261,11 @@ TEST_F(SigninHeaderHelperTest, TestMirrorHeaderEligibleRedirectURL) {
std::unique_ptr<net::URLRequest> url_request =
url_request_context_.CreateRequest(url, net::DEFAULT_PRIORITY, nullptr,
TRAFFIC_ANNOTATION_FOR_TESTS);
- signin::AppendOrRemoveAccountConsistentyRequestHeader(
+ AppendOrRemoveAccountConsistentyRequestHeader(
url_request.get(), redirect_url, account_id, cookie_settings_.get(),
- signin::PROFILE_MODE_DEFAULT);
- EXPECT_TRUE(url_request->extra_request_headers().HasHeader(
- signin::kChromeConnectedHeader));
+ PROFILE_MODE_DEFAULT);
+ EXPECT_TRUE(
+ url_request->extra_request_headers().HasHeader(kChromeConnectedHeader));
}
// Tests that the Mirror header request is stripped when the redirect URL is not
@@ -253,11 +279,11 @@ TEST_F(SigninHeaderHelperTest, TestMirrorHeaderNonEligibleRedirectURL) {
std::unique_ptr<net::URLRequest> url_request =
url_request_context_.CreateRequest(url, net::DEFAULT_PRIORITY, nullptr,
TRAFFIC_ANNOTATION_FOR_TESTS);
- signin::AppendOrRemoveAccountConsistentyRequestHeader(
+ AppendOrRemoveAccountConsistentyRequestHeader(
url_request.get(), redirect_url, account_id, cookie_settings_.get(),
- signin::PROFILE_MODE_DEFAULT);
- EXPECT_FALSE(url_request->extra_request_headers().HasHeader(
- signin::kChromeConnectedHeader));
+ PROFILE_MODE_DEFAULT);
+ EXPECT_FALSE(
+ url_request->extra_request_headers().HasHeader(kChromeConnectedHeader));
}
// Tests that the Mirror header, whatever its value is, is untouched when both
@@ -272,13 +298,15 @@ TEST_F(SigninHeaderHelperTest, TestIgnoreMirrorHeaderNonEligibleURLs) {
std::unique_ptr<net::URLRequest> url_request =
url_request_context_.CreateRequest(url, net::DEFAULT_PRIORITY, nullptr,
TRAFFIC_ANNOTATION_FOR_TESTS);
- url_request->SetExtraRequestHeaderByName(signin::kChromeConnectedHeader,
- fake_header, false);
- signin::AppendOrRemoveAccountConsistentyRequestHeader(
+ url_request->SetExtraRequestHeaderByName(kChromeConnectedHeader, fake_header,
+ false);
+ AppendOrRemoveAccountConsistentyRequestHeader(
url_request.get(), redirect_url, account_id, cookie_settings_.get(),
- signin::PROFILE_MODE_DEFAULT);
+ PROFILE_MODE_DEFAULT);
std::string header;
EXPECT_TRUE(url_request->extra_request_headers().GetHeader(
- signin::kChromeConnectedHeader, &header));
+ kChromeConnectedHeader, &header));
EXPECT_EQ(fake_header, header);
}
+
+} // namespace signin

Powered by Google App Engine
This is Rietveld 408576698