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

Unified Diff: net/http/http_network_transaction_unittest.cc

Issue 2489883007: [net/auth] Discard current handler token generation fails. (Closed)
Patch Set: . Created 4 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
« net/http/http_auth_controller.cc ('K') | « net/http/http_auth_handler_mock.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/http/http_network_transaction_unittest.cc
diff --git a/net/http/http_network_transaction_unittest.cc b/net/http/http_network_transaction_unittest.cc
index 84b758a4408d91e9df2c8a8395bb89a929273214..94f1e6b7ba930ef6e8040e0d43daa21c12918e83 100644
--- a/net/http/http_network_transaction_unittest.cc
+++ b/net/http/http_network_transaction_unittest.cc
@@ -11556,6 +11556,7 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
static const int kNoSSL = 500;
struct TestConfig {
+ int line_number;
const char* const proxy_url;
AuthTiming proxy_auth_timing;
int proxy_auth_rv;
mmenke 2016/11/14 18:03:49 Mind renaming this while you're here? first_gener
mmenke 2016/11/14 19:01:21 Missed this one?
asanka 2016/11/14 21:10:14 Oops. Done.
@@ -11567,7 +11568,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
TestRound rounds[4];
} test_configs[] = {
// Non-authenticating HTTP server with a direct connection.
- {NULL,
+ {__LINE__,
+ nullptr,
AUTH_NONE,
OK,
kServer,
@@ -11577,7 +11579,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
kNoSSL,
{TestRound(kGet, kSuccess, OK)}},
// Authenticating HTTP server with a direct connection.
- {NULL,
+ {__LINE__,
+ nullptr,
AUTH_NONE,
OK,
kServer,
@@ -11587,7 +11590,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
kNoSSL,
{TestRound(kGet, kServerChallenge, OK),
TestRound(kGetAuth, kSuccess, OK)}},
- {NULL,
+ {__LINE__,
+ nullptr,
AUTH_NONE,
OK,
kServer,
@@ -11598,7 +11602,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
{TestRound(kGet, kServerChallenge, OK),
TestRound(kGet, kServerChallenge, OK),
TestRound(kGetAuth, kSuccess, OK)}},
- {NULL,
+ {__LINE__,
+ nullptr,
AUTH_NONE,
OK,
kServer,
@@ -11607,7 +11612,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
2,
kNoSSL,
{TestRound(kGet, kServerChallenge, OK), TestRound(kGet, kSuccess, OK)}},
- {NULL,
+ {__LINE__,
+ nullptr,
AUTH_NONE,
OK,
kServer,
@@ -11616,7 +11622,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
2,
kNoSSL,
{TestRound(kGet, kServerChallenge, OK), TestRound(kGet, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_SYNC,
ERR_FAILED,
kServer,
@@ -11626,7 +11633,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
kNoSSL,
{TestRound(kGetProxy, kProxyChallenge, OK),
TestRound(kGetProxy, kFailure, ERR_FAILED)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_ASYNC,
ERR_FAILED,
kServer,
@@ -11636,7 +11644,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
kNoSSL,
{TestRound(kGetProxy, kProxyChallenge, OK),
TestRound(kGetProxy, kFailure, ERR_FAILED)}},
- {NULL,
+ {__LINE__,
+ nullptr,
AUTH_NONE,
OK,
kServer,
@@ -11646,7 +11655,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
kNoSSL,
{TestRound(kGet, kServerChallenge, OK),
TestRound(kGet, kFailure, ERR_FAILED)}},
- {NULL,
+ {__LINE__,
+ nullptr,
AUTH_NONE,
OK,
kServer,
@@ -11656,7 +11666,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
kNoSSL,
{TestRound(kGet, kServerChallenge, OK),
TestRound(kGet, kFailure, ERR_FAILED)}},
- {NULL,
+ {__LINE__,
+ nullptr,
AUTH_NONE,
OK,
kServer,
@@ -11666,7 +11677,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
kNoSSL,
{TestRound(kGet, kServerChallenge, OK),
TestRound(kGetAuth, kSuccess, OK)}},
- {NULL,
+ {__LINE__,
+ nullptr,
AUTH_NONE,
OK,
kServer,
@@ -11679,7 +11691,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
TestRound(kGet, kServerChallenge, OK),
TestRound(kGetAuth, kSuccess, OK)}},
// Non-authenticating HTTP server through a non-authenticating proxy.
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_NONE,
OK,
kServer,
@@ -11689,7 +11702,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
kNoSSL,
{TestRound(kGetProxy, kSuccess, OK)}},
// Authenticating HTTP server through a non-authenticating proxy.
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_NONE,
OK,
kServer,
@@ -11699,7 +11713,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
kNoSSL,
{TestRound(kGetProxy, kServerChallenge, OK),
TestRound(kGetAuthThroughProxy, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_NONE,
OK,
kServer,
@@ -11710,7 +11725,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
{TestRound(kGetProxy, kServerChallenge, OK),
TestRound(kGetProxy, kServerChallenge, OK),
TestRound(kGetAuthThroughProxy, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_NONE,
OK,
kServer,
@@ -11720,7 +11736,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
kNoSSL,
{TestRound(kGetProxy, kServerChallenge, OK),
TestRound(kGetAuthThroughProxy, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_NONE,
OK,
kServer,
@@ -11731,7 +11748,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
{TestRound(kGetProxy, kServerChallenge, OK),
TestRound(kGetProxy, kSuccess, OK)}},
// Non-authenticating HTTP server through an authenticating proxy.
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_SYNC,
OK,
kServer,
@@ -11741,7 +11759,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
kNoSSL,
{TestRound(kGetProxy, kProxyChallenge, OK),
TestRound(kGetProxyAuth, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_SYNC,
ERR_INVALID_AUTH_CREDENTIALS,
kServer,
@@ -11751,7 +11770,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
kNoSSL,
{TestRound(kGetProxy, kProxyChallenge, OK),
TestRound(kGetProxy, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_ASYNC,
OK,
kServer,
@@ -11761,7 +11781,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
kNoSSL,
{TestRound(kGetProxy, kProxyChallenge, OK),
TestRound(kGetProxyAuth, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_ASYNC,
ERR_INVALID_AUTH_CREDENTIALS,
kServer,
@@ -11771,8 +11792,21 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
kNoSSL,
{TestRound(kGetProxy, kProxyChallenge, OK),
TestRound(kGetProxy, kSuccess, OK)}},
mmenke 2016/11/14 18:03:49 So in this case, the proxy challenges us, we fail
asanka 2016/11/14 21:10:14 Yup. It's a bit of a nonsensical case, but it now
+ {__LINE__,
+ kProxy,
+ AUTH_ASYNC,
+ ERR_INVALID_AUTH_CREDENTIALS,
+ kServer,
+ AUTH_NONE,
+ OK,
+ 3,
+ kNoSSL,
+ {TestRound(kGetProxy, kProxyChallenge, OK),
+ TestRound(kGetProxy, kProxyChallenge, OK),
+ TestRound(kGetProxyAuth, kSuccess, OK)}},
mmenke 2016/11/14 18:03:49 And in this case, the server sanely decides to cha
asanka 2016/11/14 18:49:53 The kGetProxyAuth sets up the expectation that the
// Authenticating HTTP server through an authenticating proxy.
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_SYNC,
OK,
kServer,
@@ -11783,7 +11817,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
{TestRound(kGetProxy, kProxyChallenge, OK),
TestRound(kGetProxyAuth, kServerChallenge, OK),
TestRound(kGetAuthWithProxyAuth, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_SYNC,
OK,
kServer,
@@ -11794,7 +11829,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
{TestRound(kGetProxy, kProxyChallenge, OK),
TestRound(kGetProxyAuth, kServerChallenge, OK),
TestRound(kGetProxyAuth, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_ASYNC,
OK,
kServer,
@@ -11805,7 +11841,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
{TestRound(kGetProxy, kProxyChallenge, OK),
TestRound(kGetProxyAuth, kServerChallenge, OK),
TestRound(kGetAuthWithProxyAuth, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_ASYNC,
OK,
kServer,
@@ -11816,7 +11853,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
{TestRound(kGetProxy, kProxyChallenge, OK),
TestRound(kGetProxyAuth, kServerChallenge, OK),
TestRound(kGetProxyAuth, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_SYNC,
OK,
kServer,
@@ -11827,7 +11865,21 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
{TestRound(kGetProxy, kProxyChallenge, OK),
TestRound(kGetProxyAuth, kServerChallenge, OK),
TestRound(kGetAuthWithProxyAuth, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
+ AUTH_SYNC,
+ ERR_INVALID_AUTH_CREDENTIALS,
+ kServer,
+ AUTH_ASYNC,
+ OK,
+ 4,
+ kNoSSL,
+ {TestRound(kGetProxy, kProxyChallenge, OK),
+ TestRound(kGetProxy, kProxyChallenge, OK),
+ TestRound(kGetProxyAuth, kServerChallenge, OK),
+ TestRound(kGetAuthWithProxyAuth, kSuccess, OK)}},
mmenke 2016/11/14 18:03:49 What additional coverage do we get from this one?
asanka 2016/11/14 18:49:53 Assuming you are comparing to the test at 11917. A
mmenke 2016/11/14 19:01:21 I was actually comparing to 11795 - we get an erro
asanka 2016/11/14 21:10:14 Ah right. 11795 has the property that the second p
+ {__LINE__,
+ kProxy,
AUTH_SYNC,
OK,
kServer,
@@ -11838,7 +11890,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
{TestRound(kGetProxy, kProxyChallenge, OK),
TestRound(kGetProxyAuth, kServerChallenge, OK),
TestRound(kGetProxyAuth, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_ASYNC,
OK,
kServer,
@@ -11849,7 +11902,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
{TestRound(kGetProxy, kProxyChallenge, OK),
TestRound(kGetProxyAuth, kServerChallenge, OK),
TestRound(kGetAuthWithProxyAuth, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_ASYNC,
OK,
kServer,
@@ -11860,8 +11914,22 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
{TestRound(kGetProxy, kProxyChallenge, OK),
TestRound(kGetProxyAuth, kServerChallenge, OK),
TestRound(kGetProxyAuth, kSuccess, OK)}},
+ {__LINE__,
+ kProxy,
+ AUTH_ASYNC,
+ ERR_INVALID_AUTH_CREDENTIALS,
+ kServer,
+ AUTH_ASYNC,
+ ERR_INVALID_AUTH_CREDENTIALS,
+ 4,
+ kNoSSL,
+ {TestRound(kGetProxy, kProxyChallenge, OK),
+ TestRound(kGetProxy, kProxyChallenge, OK),
+ TestRound(kGetProxyAuth, kServerChallenge, OK),
+ TestRound(kGetProxyAuth, kSuccess, OK)}},
// Non-authenticating HTTPS server with a direct connection.
- {NULL,
+ {__LINE__,
+ nullptr,
AUTH_NONE,
OK,
kSecureServer,
@@ -11871,7 +11939,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
0,
{TestRound(kGet, kSuccess, OK)}},
// Authenticating HTTPS server with a direct connection.
- {NULL,
+ {__LINE__,
+ nullptr,
AUTH_NONE,
OK,
kSecureServer,
@@ -11881,7 +11950,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
0,
{TestRound(kGet, kServerChallenge, OK),
TestRound(kGetAuth, kSuccess, OK)}},
- {NULL,
+ {__LINE__,
+ nullptr,
AUTH_NONE,
OK,
kSecureServer,
@@ -11890,7 +11960,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
2,
0,
{TestRound(kGet, kServerChallenge, OK), TestRound(kGet, kSuccess, OK)}},
- {NULL,
+ {__LINE__,
+ nullptr,
AUTH_NONE,
OK,
kSecureServer,
@@ -11900,7 +11971,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
0,
{TestRound(kGet, kServerChallenge, OK),
TestRound(kGetAuth, kSuccess, OK)}},
- {NULL,
+ {__LINE__,
+ nullptr,
AUTH_NONE,
OK,
kSecureServer,
@@ -11910,7 +11982,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
0,
{TestRound(kGet, kServerChallenge, OK), TestRound(kGet, kSuccess, OK)}},
// Non-authenticating HTTPS server with a non-authenticating proxy.
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_NONE,
OK,
kSecureServer,
@@ -11920,7 +11993,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
0,
{TestRound(kConnect, kProxyConnected, OK, &kGet, &kSuccess)}},
// Authenticating HTTPS server through a non-authenticating proxy.
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_NONE,
OK,
kSecureServer,
@@ -11930,7 +12004,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
0,
{TestRound(kConnect, kProxyConnected, OK, &kGet, &kServerChallenge),
TestRound(kGetAuth, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_NONE,
OK,
kSecureServer,
@@ -11940,7 +12015,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
0,
{TestRound(kConnect, kProxyConnected, OK, &kGet, &kServerChallenge),
TestRound(kGet, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_NONE,
OK,
kSecureServer,
@@ -11950,7 +12026,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
0,
{TestRound(kConnect, kProxyConnected, OK, &kGet, &kServerChallenge),
TestRound(kGetAuth, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_NONE,
OK,
kSecureServer,
@@ -11961,7 +12038,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
{TestRound(kConnect, kProxyConnected, OK, &kGet, &kServerChallenge),
TestRound(kGet, kSuccess, OK)}},
// Non-Authenticating HTTPS server through an authenticating proxy.
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_SYNC,
OK,
kSecureServer,
@@ -11971,7 +12049,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
1,
{TestRound(kConnect, kProxyChallenge, OK),
TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, &kSuccess)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_SYNC,
ERR_INVALID_AUTH_CREDENTIALS,
kSecureServer,
@@ -11981,7 +12060,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
kNoSSL,
{TestRound(kConnect, kProxyChallenge, OK),
TestRound(kConnect, kProxyConnected, OK, &kGet, &kSuccess)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_SYNC,
ERR_UNSUPPORTED_AUTH_SCHEME,
kSecureServer,
@@ -11991,7 +12071,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
kNoSSL,
{TestRound(kConnect, kProxyChallenge, OK),
TestRound(kConnect, kProxyConnected, OK, &kGet, &kSuccess)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_SYNC,
ERR_UNEXPECTED,
kSecureServer,
@@ -12001,7 +12082,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
kNoSSL,
{TestRound(kConnect, kProxyChallenge, OK),
TestRound(kConnect, kProxyConnected, ERR_UNEXPECTED)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_ASYNC,
OK,
kSecureServer,
@@ -12011,7 +12093,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
1,
{TestRound(kConnect, kProxyChallenge, OK),
TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet, &kSuccess)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_ASYNC,
ERR_INVALID_AUTH_CREDENTIALS,
kSecureServer,
@@ -12022,7 +12105,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
{TestRound(kConnect, kProxyChallenge, OK),
TestRound(kConnect, kProxyConnected, OK, &kGet, &kSuccess)}},
// Authenticating HTTPS server through an authenticating proxy.
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_SYNC,
OK,
kSecureServer,
@@ -12034,7 +12118,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet,
&kServerChallenge),
TestRound(kGetAuth, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_SYNC,
OK,
kSecureServer,
@@ -12046,7 +12131,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet,
&kServerChallenge),
TestRound(kGet, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_ASYNC,
OK,
kSecureServer,
@@ -12058,7 +12144,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet,
&kServerChallenge),
TestRound(kGetAuth, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_ASYNC,
OK,
kSecureServer,
@@ -12070,7 +12157,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet,
&kServerChallenge),
TestRound(kGet, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_SYNC,
OK,
kSecureServer,
@@ -12082,7 +12170,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet,
&kServerChallenge),
TestRound(kGetAuth, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_SYNC,
OK,
kSecureServer,
@@ -12094,7 +12183,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet,
&kServerChallenge),
TestRound(kGet, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_ASYNC,
OK,
kSecureServer,
@@ -12106,7 +12196,8 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet,
&kServerChallenge),
TestRound(kGetAuth, kSuccess, OK)}},
- {kProxy,
+ {__LINE__,
+ kProxy,
AUTH_ASYNC,
OK,
kSecureServer,
@@ -12118,19 +12209,33 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet,
&kServerChallenge),
TestRound(kGet, kSuccess, OK)}},
+ {__LINE__,
+ kProxy,
+ AUTH_ASYNC,
+ ERR_INVALID_AUTH_CREDENTIALS,
+ kSecureServer,
+ AUTH_ASYNC,
+ ERR_INVALID_AUTH_CREDENTIALS,
+ 4,
+ 2,
+ {TestRound(kConnect, kProxyChallenge, OK),
+ TestRound(kConnect, kProxyChallenge, OK),
+ TestRound(kConnectProxyAuth, kProxyConnected, OK, &kGet,
+ &kServerChallenge),
mmenke 2016/11/14 18:03:49 I don't understand what these extra reads/writes d
mmenke 2016/11/14 18:07:13 By "last test you modified", I mean the new test c
asanka 2016/11/14 18:49:53 Yeah, there's an extra "CONNECT" request in the mi
+ TestRound(kGet, kSuccess, OK)}},
};
- for (size_t i = 0; i < arraysize(test_configs); ++i) {
- SCOPED_TRACE(::testing::Message() << "Test config " << i);
+ for (const auto& test_config : test_configs) {
+ SCOPED_TRACE(::testing::Message() << "Test config at "
+ << test_config.line_number);
HttpAuthHandlerMock::Factory* auth_factory(
new HttpAuthHandlerMock::Factory());
session_deps_.http_auth_handler_factory.reset(auth_factory);
SSLInfo empty_ssl_info;
- const TestConfig& test_config = test_configs[i];
// Set up authentication handlers as necessary.
if (test_config.proxy_auth_timing != AUTH_NONE) {
- for (int n = 0; n < 2; n++) {
+ for (int n = 0; n < 3; n++) {
HttpAuthHandlerMock* auth_handler(new HttpAuthHandlerMock());
std::string auth_challenge = "Mock realm=proxy";
GURL origin(test_config.proxy_url);
@@ -12141,7 +12246,7 @@ TEST_F(HttpNetworkTransactionTest, GenerateAuthToken) {
NetLogWithSource());
auth_handler->SetGenerateExpectation(
test_config.proxy_auth_timing == AUTH_ASYNC,
- test_config.proxy_auth_rv);
+ n == 0 ? test_config.proxy_auth_rv : OK);
auth_factory->AddMockHandler(auth_handler, HttpAuth::AUTH_PROXY);
}
}
@@ -12366,6 +12471,8 @@ TEST_F(HttpNetworkTransactionTest, MultiRoundAuth) {
ASSERT_TRUE(response);
EXPECT_TRUE(response->auth_challenge);
EXPECT_EQ(0, transport_pool->IdleSocketCountInGroup(kSocketGroup));
+ EXPECT_EQ(HttpAuthHandlerMock::State::WAIT_FOR_GENERATE_AUTH_TOKEN,
+ auth_handler->state());
// In between rounds, another request comes in for the same domain.
// It should not be able to grab the TCP socket that trans has already
@@ -12389,6 +12496,8 @@ TEST_F(HttpNetworkTransactionTest, MultiRoundAuth) {
ASSERT_TRUE(response);
EXPECT_FALSE(response->auth_challenge);
EXPECT_EQ(0, transport_pool->IdleSocketCountInGroup(kSocketGroup));
+ EXPECT_EQ(HttpAuthHandlerMock::State::WAIT_FOR_GENERATE_AUTH_TOKEN,
+ auth_handler->state());
// Third round of authentication.
auth_handler->SetGenerateExpectation(false, OK);
@@ -12400,6 +12509,8 @@ TEST_F(HttpNetworkTransactionTest, MultiRoundAuth) {
ASSERT_TRUE(response);
EXPECT_FALSE(response->auth_challenge);
EXPECT_EQ(0, transport_pool->IdleSocketCountInGroup(kSocketGroup));
+ EXPECT_EQ(HttpAuthHandlerMock::State::WAIT_FOR_GENERATE_AUTH_TOKEN,
+ auth_handler->state());
// Fourth round of authentication, which completes successfully.
auth_handler->SetGenerateExpectation(false, OK);
@@ -12412,6 +12523,12 @@ TEST_F(HttpNetworkTransactionTest, MultiRoundAuth) {
EXPECT_FALSE(response->auth_challenge);
EXPECT_EQ(0, transport_pool->IdleSocketCountInGroup(kSocketGroup));
+ // In WAIT_FOR_CHALLENGE, although in reality the auth handler is done. A real
+ // auth handler should transition to a DONE state in concert with the remote
+ // server. But that's not something we can test here with a mock handler.
+ EXPECT_EQ(HttpAuthHandlerMock::State::WAIT_FOR_CHALLENGE,
+ auth_handler->state());
+
// Read the body since the fourth round was successful. This will also
// release the socket back to the pool.
scoped_refptr<IOBufferWithSize> io_buf(new IOBufferWithSize(50));
« net/http/http_auth_controller.cc ('K') | « net/http/http_auth_handler_mock.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698