| Index: net/url_request/url_request_unittest.cc
|
| ===================================================================
|
| --- net/url_request/url_request_unittest.cc (revision 9548)
|
| +++ net/url_request/url_request_unittest.cc (working copy)
|
| @@ -55,10 +55,10 @@
|
|
|
| class TestURLRequest : public URLRequest {
|
| public:
|
| - TestURLRequest(const GURL& url, Delegate* delegate)
|
| - : URLRequest(url, delegate) {
|
| - set_context(new URLRequestHttpCacheContext());
|
| - }
|
| + TestURLRequest(const GURL& url, Delegate* delegate)
|
| + : URLRequest(url, delegate) {
|
| + set_context(new URLRequestHttpCacheContext());
|
| + }
|
| };
|
|
|
| StringPiece TestNetResourceProvider(int key) {
|
| @@ -82,6 +82,34 @@
|
| class URLRequestTest : public PlatformTest {
|
| };
|
|
|
| +TEST_F(URLRequestTest, ProxyTunnelRedirectTest) {
|
| + // In this unit test, we're using the HTTPTestServer as a proxy server and
|
| + // issue a CONNECT request with the magic host name "www.redirect.com" to
|
| + // it. The HTTPTestServer will return a 302 response, which we should not
|
| + // follow.
|
| + scoped_refptr<HTTPTestServer> server =
|
| + HTTPTestServer::CreateServer(L"", NULL);
|
| + ASSERT_TRUE(NULL != server.get());
|
| + TestDelegate d;
|
| + {
|
| + URLRequest r(GURL("https://www.redirect.com/"), &d);
|
| + std::string proxy("localhost:");
|
| + proxy.append(IntToString(kHTTPDefaultPort));
|
| + r.set_context(new TestURLRequestContext(proxy));
|
| +
|
| + r.Start();
|
| + EXPECT_TRUE(r.is_pending());
|
| +
|
| + MessageLoop::current()->Run();
|
| +
|
| + EXPECT_EQ(1, d.response_started_count());
|
| + // We should have rewritten the 302 response code as 500.
|
| + EXPECT_EQ(500, r.GetResponseCode());
|
| + // We should not have followed the redirect.
|
| + EXPECT_EQ(0, d.received_redirect_count());
|
| + }
|
| +}
|
| +
|
| TEST_F(URLRequestTest, GetTest_NoCache) {
|
| scoped_refptr<HTTPTestServer> server =
|
| HTTPTestServer::CreateServer(L"", NULL);
|
| @@ -100,7 +128,7 @@
|
| EXPECT_NE(0, d.bytes_received());
|
| }
|
| #ifndef NDEBUG
|
| - DCHECK_EQ(url_request_metrics.object_count,0);
|
| + DCHECK_EQ(url_request_metrics.object_count, 0);
|
| #endif
|
| }
|
|
|
| @@ -122,15 +150,15 @@
|
| EXPECT_NE(0, d.bytes_received());
|
| }
|
| #ifndef NDEBUG
|
| - DCHECK_EQ(url_request_metrics.object_count,0);
|
| + DCHECK_EQ(url_request_metrics.object_count, 0);
|
| #endif
|
| }
|
|
|
| class HTTPSRequestTest : public testing::Test {
|
| protected:
|
| - HTTPSRequestTest() : util_() {};
|
| + HTTPSRequestTest() : util_() {}
|
|
|
| - SSLTestUtil util_;
|
| + SSLTestUtil util_;
|
| };
|
|
|
| #if defined(OS_MACOSX)
|
| @@ -165,7 +193,7 @@
|
| EXPECT_NE(0, d.bytes_received());
|
| }
|
| #ifndef NDEBUG
|
| - DCHECK_EQ(url_request_metrics.object_count,0);
|
| + DCHECK_EQ(url_request_metrics.object_count, 0);
|
| #endif
|
| }
|
|
|
| @@ -188,7 +216,7 @@
|
| EXPECT_FALSE(d.received_data_before_response());
|
| }
|
| #ifndef NDEBUG
|
| - DCHECK_EQ(url_request_metrics.object_count,0);
|
| + DCHECK_EQ(url_request_metrics.object_count, 0);
|
| #endif
|
| }
|
|
|
| @@ -217,7 +245,7 @@
|
| EXPECT_EQ(URLRequestStatus::CANCELED, r.status().status());
|
| }
|
| #ifndef NDEBUG
|
| - DCHECK_EQ(url_request_metrics.object_count,0);
|
| + DCHECK_EQ(url_request_metrics.object_count, 0);
|
| #endif
|
| }
|
|
|
| @@ -245,7 +273,7 @@
|
| EXPECT_EQ(URLRequestStatus::CANCELED, r.status().status());
|
| }
|
| #ifndef NDEBUG
|
| - DCHECK_EQ(url_request_metrics.object_count,0);
|
| + DCHECK_EQ(url_request_metrics.object_count, 0);
|
| #endif
|
| }
|
|
|
| @@ -320,7 +348,7 @@
|
| char *uploadBytes = new char[kMsgSize+1];
|
| char *ptr = uploadBytes;
|
| char marker = 'a';
|
| - for(int idx=0; idx<kMsgSize/10; idx++) {
|
| + for (int idx = 0; idx < kMsgSize/10; idx++) {
|
| memcpy(ptr, "----------", 10);
|
| ptr += 10;
|
| if (idx % 100 == 0) {
|
| @@ -329,7 +357,6 @@
|
| if (++marker > 'z')
|
| marker = 'a';
|
| }
|
| -
|
| }
|
| uploadBytes[kMsgSize] = '\0';
|
|
|
| @@ -354,12 +381,12 @@
|
|
|
| EXPECT_FALSE(d.received_data_before_response());
|
| EXPECT_EQ(uploadBytes, d.data_received());
|
| - EXPECT_EQ(memcmp(uploadBytes, d.data_received().c_str(), kMsgSize),0);
|
| + EXPECT_EQ(memcmp(uploadBytes, d.data_received().c_str(), kMsgSize), 0);
|
| EXPECT_EQ(d.data_received().compare(uploadBytes), 0);
|
| }
|
| delete[] uploadBytes;
|
| #ifndef NDEBUG
|
| - DCHECK_EQ(url_request_metrics.object_count,0);
|
| + DCHECK_EQ(url_request_metrics.object_count, 0);
|
| #endif
|
| }
|
|
|
| @@ -384,7 +411,7 @@
|
| EXPECT_TRUE(d.data_received().empty());
|
| }
|
| #ifndef NDEBUG
|
| - DCHECK_EQ(url_request_metrics.object_count,0);
|
| + DCHECK_EQ(url_request_metrics.object_count, 0);
|
| #endif
|
| }
|
|
|
| @@ -435,7 +462,7 @@
|
| EXPECT_EQ(0, memcmp(d.data_received().c_str(), buf.get(), size));
|
| }
|
| #ifndef NDEBUG
|
| - DCHECK_EQ(url_request_metrics.object_count,0);
|
| + DCHECK_EQ(url_request_metrics.object_count, 0);
|
| #endif
|
| }
|
|
|
| @@ -454,7 +481,7 @@
|
| EXPECT_EQ(d.bytes_received(), 0);
|
| }
|
| #ifndef NDEBUG
|
| - DCHECK_EQ(url_request_metrics.object_count,0);
|
| + DCHECK_EQ(url_request_metrics.object_count, 0);
|
| #endif
|
| }
|
|
|
| @@ -481,7 +508,7 @@
|
| EXPECT_EQ(d.bytes_received(), static_cast<int>(file_size));
|
| }
|
| #ifndef NDEBUG
|
| - DCHECK_EQ(url_request_metrics.object_count,0);
|
| + DCHECK_EQ(url_request_metrics.object_count, 0);
|
| #endif
|
| }
|
|
|
| @@ -497,7 +524,7 @@
|
| EXPECT_TRUE(d.request_failed());
|
| }
|
| #ifndef NDEBUG
|
| - DCHECK_EQ(url_request_metrics.object_count,0);
|
| + DCHECK_EQ(url_request_metrics.object_count, 0);
|
| #endif
|
| }
|
|
|
| @@ -515,7 +542,7 @@
|
| EXPECT_TRUE(d.request_failed());
|
| }
|
| #ifndef NDEBUG
|
| - DCHECK_EQ(url_request_metrics.object_count,0);
|
| + DCHECK_EQ(url_request_metrics.object_count, 0);
|
| #endif
|
| }
|
|
|
| @@ -666,7 +693,7 @@
|
| CoUninitialize();
|
|
|
| #ifndef NDEBUG
|
| - DCHECK_EQ(url_request_metrics.object_count,0);
|
| + DCHECK_EQ(url_request_metrics.object_count, 0);
|
| #endif
|
| }
|
| #endif // defined(OS_WIN)
|
| @@ -713,7 +740,7 @@
|
| MessageLoop::current()->Run();
|
| }
|
| #ifndef NDEBUG
|
| - DCHECK_EQ(url_request_metrics.object_count,0);
|
| + DCHECK_EQ(url_request_metrics.object_count, 0);
|
| #endif
|
|
|
| // Take out mock resource provider.
|
|
|