| Index: net/url_request/url_request_unittest.cc
|
| ===================================================================
|
| --- net/url_request/url_request_unittest.cc (revision 12708)
|
| +++ net/url_request/url_request_unittest.cc (working copy)
|
| @@ -201,9 +201,13 @@
|
| #if defined(OS_MACOSX)
|
| // ssl_client_socket_mac.cc crashes currently in GetSSLInfo
|
| // when called on a connection with an unrecognized certificate
|
| -#define MAYBE_HTTPSGetTest DISABLED_HTTPSGetTest
|
| +#define MAYBE_HTTPSGetTest DISABLED_HTTPSGetTest
|
| +#define MAYBE_HTTPSMismatchedTest DISABLED_HTTPSMismatchedTest
|
| +#define MAYBE_HTTPSExpiredTest DISABLED_HTTPSExpiredTest
|
| #else
|
| -#define MAYBE_HTTPSGetTest HTTPSGetTest
|
| +#define MAYBE_HTTPSGetTest HTTPSGetTest
|
| +#define MAYBE_HTTPSMismatchedTest HTTPSMismatchedTest
|
| +#define MAYBE_HTTPSExpiredTest HTTPSExpiredTest
|
| #endif
|
|
|
| TEST_F(HTTPSRequestTest, MAYBE_HTTPSGetTest) {
|
| @@ -233,8 +237,64 @@
|
| #endif
|
| }
|
|
|
| -// TODO(dkegel): add test for expired and mismatched certificates here
|
| +TEST_F(HTTPSRequestTest, MAYBE_HTTPSMismatchedTest) {
|
| + scoped_refptr<HTTPSTestServer> server =
|
| + HTTPSTestServer::CreateMismatchedServer(L"net/data/ssl");
|
| + ASSERT_TRUE(NULL != server.get());
|
|
|
| + bool err_allowed = true;
|
| + for (int i = 0; i < 2 ; i++, err_allowed = !err_allowed) {
|
| + TestDelegate d;
|
| + {
|
| + d.set_allow_certificate_errors(err_allowed);
|
| + TestURLRequest r(server->TestServerPage(""), &d);
|
| +
|
| + r.Start();
|
| + EXPECT_TRUE(r.is_pending());
|
| +
|
| + MessageLoop::current()->Run();
|
| +
|
| + EXPECT_EQ(1, d.response_started_count());
|
| + EXPECT_FALSE(d.received_data_before_response());
|
| + EXPECT_TRUE(d.have_certificate_errors());
|
| + if (err_allowed)
|
| + EXPECT_NE(0, d.bytes_received());
|
| + else
|
| + EXPECT_EQ(0, d.bytes_received());
|
| + }
|
| + }
|
| +}
|
| +
|
| +TEST_F(HTTPSRequestTest, MAYBE_HTTPSExpiredTest) {
|
| + scoped_refptr<HTTPSTestServer> server =
|
| + HTTPSTestServer::CreateExpiredServer(L"net/data/ssl");
|
| + ASSERT_TRUE(NULL != server.get());
|
| +
|
| + // Iterate from false to true, just so that we do the opposite of the
|
| + // previous test in order to increase test coverage.
|
| + bool err_allowed = false;
|
| + for (int i = 0; i < 2 ; i++, err_allowed = !err_allowed) {
|
| + TestDelegate d;
|
| + {
|
| + d.set_allow_certificate_errors(err_allowed);
|
| + TestURLRequest r(server->TestServerPage(""), &d);
|
| +
|
| + r.Start();
|
| + EXPECT_TRUE(r.is_pending());
|
| +
|
| + MessageLoop::current()->Run();
|
| +
|
| + EXPECT_EQ(1, d.response_started_count());
|
| + EXPECT_FALSE(d.received_data_before_response());
|
| + EXPECT_TRUE(d.have_certificate_errors());
|
| + if (err_allowed)
|
| + EXPECT_NE(0, d.bytes_received());
|
| + else
|
| + EXPECT_EQ(0, d.bytes_received());
|
| + }
|
| + }
|
| +}
|
| +
|
| TEST_F(URLRequestTest, CancelTest) {
|
| TestDelegate d;
|
| {
|
|
|