| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "net/quic/chromium/quic_stream_factory.h" | 5 #include "net/quic/chromium/quic_stream_factory.h" | 
| 6 | 6 | 
| 7 #include <ostream> | 7 #include <ostream> | 
| 8 #include <utility> | 8 #include <utility> | 
| 9 | 9 | 
| 10 #include "base/bind.h" | 10 #include "base/bind.h" | 
| (...skipping 3782 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 3793   EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 3793   EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 
| 3794   stream = request2.CreateStream(); | 3794   stream = request2.CreateStream(); | 
| 3795   stream.reset();  // Will reset stream 3. | 3795   stream.reset();  // Will reset stream 3. | 
| 3796 | 3796 | 
| 3797   EXPECT_TRUE(socket_data.AllReadDataConsumed()); | 3797   EXPECT_TRUE(socket_data.AllReadDataConsumed()); | 
| 3798   EXPECT_TRUE(socket_data.AllWriteDataConsumed()); | 3798   EXPECT_TRUE(socket_data.AllWriteDataConsumed()); | 
| 3799   EXPECT_TRUE(socket_data2.AllReadDataConsumed()); | 3799   EXPECT_TRUE(socket_data2.AllReadDataConsumed()); | 
| 3800   EXPECT_TRUE(socket_data2.AllWriteDataConsumed()); | 3800   EXPECT_TRUE(socket_data2.AllWriteDataConsumed()); | 
| 3801 } | 3801 } | 
| 3802 | 3802 | 
| 3803 TEST_P(QuicStreamFactoryTest, OnCertAdded) { | 3803 TEST_P(QuicStreamFactoryTest, OnCertDBChanged) { | 
| 3804   Initialize(); | 3804   Initialize(); | 
| 3805   ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 3805   ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 
| 3806   crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3806   crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 
| 3807   crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |  | 
| 3808 |  | 
| 3809   MockQuicData socket_data; |  | 
| 3810   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |  | 
| 3811   socket_data.AddWrite(ConstructClientRstPacket()); |  | 
| 3812   socket_data.AddSocketDataToFactory(&socket_factory_); |  | 
| 3813 |  | 
| 3814   MockQuicData socket_data2; |  | 
| 3815   socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); |  | 
| 3816   socket_data2.AddSocketDataToFactory(&socket_factory_); |  | 
| 3817 |  | 
| 3818   QuicStreamRequest request(factory_.get()); |  | 
| 3819   EXPECT_EQ(ERR_IO_PENDING, |  | 
| 3820             request.Request(host_port_pair_, privacy_mode_, |  | 
| 3821                             /*cert_verify_flags=*/0, url_, "GET", net_log_, |  | 
| 3822                             callback_.callback())); |  | 
| 3823 |  | 
| 3824   EXPECT_THAT(callback_.WaitForResult(), IsOk()); |  | 
| 3825   std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |  | 
| 3826   HttpRequestInfo request_info; |  | 
| 3827   EXPECT_EQ(OK, stream->InitializeStream(&request_info, DEFAULT_PRIORITY, |  | 
| 3828                                          net_log_, CompletionCallback())); |  | 
| 3829 |  | 
| 3830   // Add a cert and verify that stream saw the event. |  | 
| 3831   factory_->OnCertAdded(nullptr); |  | 
| 3832   EXPECT_EQ(ERR_CERT_DATABASE_CHANGED, |  | 
| 3833             stream->ReadResponseHeaders(callback_.callback())); |  | 
| 3834   EXPECT_FALSE(factory_->require_confirmation()); |  | 
| 3835 |  | 
| 3836   // Now attempting to request a stream to the same origin should create |  | 
| 3837   // a new session. |  | 
| 3838 |  | 
| 3839   QuicStreamRequest request2(factory_.get()); |  | 
| 3840   EXPECT_EQ(ERR_IO_PENDING, |  | 
| 3841             request2.Request(host_port_pair_, privacy_mode_, |  | 
| 3842                              /*cert_verify_flags=*/0, url_, "GET", net_log_, |  | 
| 3843                              callback_.callback())); |  | 
| 3844 |  | 
| 3845   EXPECT_THAT(callback_.WaitForResult(), IsOk()); |  | 
| 3846   stream = request2.CreateStream(); |  | 
| 3847   stream.reset();  // Will reset stream 3. |  | 
| 3848 |  | 
| 3849   EXPECT_TRUE(socket_data.AllReadDataConsumed()); |  | 
| 3850   EXPECT_TRUE(socket_data.AllWriteDataConsumed()); |  | 
| 3851   EXPECT_TRUE(socket_data2.AllReadDataConsumed()); |  | 
| 3852   EXPECT_TRUE(socket_data2.AllWriteDataConsumed()); |  | 
| 3853 } |  | 
| 3854 |  | 
| 3855 TEST_P(QuicStreamFactoryTest, OnCACertChanged) { |  | 
| 3856   Initialize(); |  | 
| 3857   ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |  | 
| 3858   crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |  | 
| 3859   crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 3807   crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 
| 3860 | 3808 | 
| 3861   MockQuicData socket_data; | 3809   MockQuicData socket_data; | 
| 3862   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3810   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 
| 3863   socket_data.AddWrite(ConstructClientRstPacket()); | 3811   socket_data.AddWrite(ConstructClientRstPacket()); | 
| 3864   socket_data.AddSocketDataToFactory(&socket_factory_); | 3812   socket_data.AddSocketDataToFactory(&socket_factory_); | 
| 3865 | 3813 | 
| 3866   MockQuicData socket_data2; | 3814   MockQuicData socket_data2; | 
| 3867   socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 3815   socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING); | 
| 3868   socket_data2.AddSocketDataToFactory(&socket_factory_); | 3816   socket_data2.AddSocketDataToFactory(&socket_factory_); | 
| 3869 | 3817 | 
| 3870   QuicStreamRequest request(factory_.get()); | 3818   QuicStreamRequest request(factory_.get()); | 
| 3871   EXPECT_EQ(ERR_IO_PENDING, | 3819   EXPECT_EQ(ERR_IO_PENDING, | 
| 3872             request.Request(host_port_pair_, privacy_mode_, | 3820             request.Request(host_port_pair_, privacy_mode_, | 
| 3873                             /*cert_verify_flags=*/0, url_, "GET", net_log_, | 3821                             /*cert_verify_flags=*/0, url_, "GET", net_log_, | 
| 3874                             callback_.callback())); | 3822                             callback_.callback())); | 
| 3875 | 3823 | 
| 3876   EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 3824   EXPECT_THAT(callback_.WaitForResult(), IsOk()); | 
| 3877   std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 3825   std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 
| 3878   HttpRequestInfo request_info; | 3826   HttpRequestInfo request_info; | 
| 3879   EXPECT_EQ(OK, stream->InitializeStream(&request_info, DEFAULT_PRIORITY, | 3827   EXPECT_EQ(OK, stream->InitializeStream(&request_info, DEFAULT_PRIORITY, | 
| 3880                                          net_log_, CompletionCallback())); | 3828                                          net_log_, CompletionCallback())); | 
| 3881 | 3829 | 
| 3882   // Change the CA cert and verify that stream saw the event. | 3830   // Change the CA cert and verify that stream saw the event. | 
| 3883   factory_->OnCACertChanged(nullptr); | 3831   factory_->OnCertDBChanged(nullptr); | 
| 3884   EXPECT_EQ(ERR_CERT_DATABASE_CHANGED, | 3832   EXPECT_EQ(ERR_CERT_DATABASE_CHANGED, | 
| 3885             stream->ReadResponseHeaders(callback_.callback())); | 3833             stream->ReadResponseHeaders(callback_.callback())); | 
| 3886   EXPECT_FALSE(factory_->require_confirmation()); | 3834   EXPECT_FALSE(factory_->require_confirmation()); | 
| 3887 | 3835 | 
| 3888   // Now attempting to request a stream to the same origin should create | 3836   // Now attempting to request a stream to the same origin should create | 
| 3889   // a new session. | 3837   // a new session. | 
| 3890 | 3838 | 
| 3891   QuicStreamRequest request2(factory_.get()); | 3839   QuicStreamRequest request2(factory_.get()); | 
| 3892   EXPECT_EQ(ERR_IO_PENDING, | 3840   EXPECT_EQ(ERR_IO_PENDING, | 
| 3893             request2.Request(host_port_pair_, privacy_mode_, | 3841             request2.Request(host_port_pair_, privacy_mode_, | 
| (...skipping 1381 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 5275   // Clear all cached states. | 5223   // Clear all cached states. | 
| 5276   factory_->ClearCachedStatesInCryptoConfig( | 5224   factory_->ClearCachedStatesInCryptoConfig( | 
| 5277       base::Callback<bool(const GURL&)>()); | 5225       base::Callback<bool(const GURL&)>()); | 
| 5278   EXPECT_TRUE(test_cases[0].state->certs().empty()); | 5226   EXPECT_TRUE(test_cases[0].state->certs().empty()); | 
| 5279   EXPECT_TRUE(test_cases[1].state->certs().empty()); | 5227   EXPECT_TRUE(test_cases[1].state->certs().empty()); | 
| 5280   EXPECT_TRUE(test_cases[2].state->certs().empty()); | 5228   EXPECT_TRUE(test_cases[2].state->certs().empty()); | 
| 5281 } | 5229 } | 
| 5282 | 5230 | 
| 5283 }  // namespace test | 5231 }  // namespace test | 
| 5284 }  // namespace net | 5232 }  // namespace net | 
| OLD | NEW | 
|---|