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

Side by Side Diff: net/quic/chromium/quic_stream_factory_test.cc

Issue 2363653002: Cleanup unreachable cert adding code (Closed)
Patch Set: Rebased Created 4 years, 2 months 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 unified diff | Download patch
« no previous file with comments | « net/quic/chromium/quic_stream_factory.cc ('k') | net/socket/client_socket_factory.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « net/quic/chromium/quic_stream_factory.cc ('k') | net/socket/client_socket_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698