| Index: net/url_request/url_request_unittest.cc
|
| diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc
|
| index 6f78c9c2940114556a0794e90d57771dcd37f826..e873aea1e612b3fba2fc3e5c9ae6fc41be80c7a6 100644
|
| --- a/net/url_request/url_request_unittest.cc
|
| +++ b/net/url_request/url_request_unittest.cc
|
| @@ -8624,6 +8624,33 @@ TEST_F(HTTPSRequestTest, HSTSCrossOriginAddHeaders) {
|
| EXPECT_EQ(kOriginHeaderValue, received_cors_header);
|
| }
|
|
|
| +// Test that DHE-only servers fail with the expected dedicated error code.
|
| +TEST_F(HTTPSRequestTest, DHE) {
|
| + SpawnedTestServer::SSLOptions ssl_options;
|
| + ssl_options.key_exchanges =
|
| + SpawnedTestServer::SSLOptions::KEY_EXCHANGE_DHE_RSA;
|
| + SpawnedTestServer test_server(
|
| + SpawnedTestServer::TYPE_HTTPS, ssl_options,
|
| + base::FilePath(FILE_PATH_LITERAL("net/data/ssl")));
|
| + ASSERT_TRUE(test_server.Start());
|
| +
|
| + TestDelegate d;
|
| + {
|
| + std::unique_ptr<URLRequest> r(default_context_.CreateRequest(
|
| + test_server.GetURL("/defaultresponse"), DEFAULT_PRIORITY, &d));
|
| +
|
| + r->Start();
|
| + EXPECT_TRUE(r->is_pending());
|
| +
|
| + base::RunLoop().Run();
|
| +
|
| + EXPECT_EQ(1, d.response_started_count());
|
| + EXPECT_FALSE(r->status().is_success());
|
| + EXPECT_EQ(URLRequestStatus::FAILED, r->status().status());
|
| + EXPECT_EQ(ERR_SSL_OBSOLETE_CIPHER, r->status().error());
|
| + }
|
| +}
|
| +
|
| // This just tests the behaviour of GetHSTSRedirect(). End-to-end tests of HSTS
|
| // are performed in net/websockets/websocket_end_to_end_test.cc.
|
| TEST(WebSocketURLRequestTest, HSTSApplied) {
|
|
|