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

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

Issue 1140173002: Implement per-server ProofVerifyDetails in MockCryptoClientStreamFactory. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add comment and rename method. Created 5 years, 7 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
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/quic_stream_factory.h" 5 #include "net/quic/quic_stream_factory.h"
6 6
7 #include "base/run_loop.h" 7 #include "base/run_loop.h"
8 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 #include "net/base/test_data_directory.h" 9 #include "net/base/test_data_directory.h"
10 #include "net/cert/cert_verifier.h" 10 #include "net/cert/cert_verifier.h"
(...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after
675 // www.example.org (server1) 675 // www.example.org (server1)
676 // mail.example.org (server2) 676 // mail.example.org (server2)
677 // www.example.com 677 // www.example.com
678 base::FilePath certs_dir = GetTestCertsDirectory(); 678 base::FilePath certs_dir = GetTestCertsDirectory();
679 scoped_refptr<X509Certificate> test_cert( 679 scoped_refptr<X509Certificate> test_cert(
680 ImportCertFromFile(certs_dir, "spdy_pooling.pem")); 680 ImportCertFromFile(certs_dir, "spdy_pooling.pem"));
681 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get()); 681 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get());
682 ProofVerifyDetailsChromium verify_details; 682 ProofVerifyDetailsChromium verify_details;
683 verify_details.cert_verify_result.verified_cert = test_cert; 683 verify_details.cert_verify_result.verified_cert = test_cert;
684 verify_details.cert_verify_result.is_issued_by_known_root = true; 684 verify_details.cert_verify_result.is_issued_by_known_root = true;
685 crypto_client_stream_factory_.set_proof_verify_details(&verify_details); 685 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details);
686 686
687 host_resolver_.set_synchronous_mode(true); 687 host_resolver_.set_synchronous_mode(true);
688 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); 688 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", "");
689 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); 689 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", "");
690 690
691 QuicStreamRequest request(&factory_); 691 QuicStreamRequest request(&factory_);
692 is_https_ = true; 692 is_https_ = true;
693 EXPECT_EQ(OK, 693 EXPECT_EQ(OK,
694 request.Request(server1, 694 request.Request(server1,
695 is_https_, 695 is_https_,
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
739 // www.example.org (server1) 739 // www.example.org (server1)
740 // mail.example.org (server2) 740 // mail.example.org (server2)
741 // www.example.com 741 // www.example.com
742 base::FilePath certs_dir = GetTestCertsDirectory(); 742 base::FilePath certs_dir = GetTestCertsDirectory();
743 scoped_refptr<X509Certificate> test_cert( 743 scoped_refptr<X509Certificate> test_cert(
744 ImportCertFromFile(certs_dir, "spdy_pooling.pem")); 744 ImportCertFromFile(certs_dir, "spdy_pooling.pem"));
745 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get()); 745 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get());
746 ProofVerifyDetailsChromium verify_details; 746 ProofVerifyDetailsChromium verify_details;
747 verify_details.cert_verify_result.verified_cert = test_cert; 747 verify_details.cert_verify_result.verified_cert = test_cert;
748 verify_details.cert_verify_result.is_issued_by_known_root = true; 748 verify_details.cert_verify_result.is_issued_by_known_root = true;
749 crypto_client_stream_factory_.set_proof_verify_details(&verify_details); 749 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details);
750 750
751 host_resolver_.set_synchronous_mode(true); 751 host_resolver_.set_synchronous_mode(true);
752 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); 752 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", "");
753 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); 753 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", "");
754 754
755 // Disable connection pooling. 755 // Disable connection pooling.
756 QuicStreamFactoryPeer::DisableConnectionPooling(&factory_); 756 QuicStreamFactoryPeer::DisableConnectionPooling(&factory_);
757 757
758 QuicStreamRequest request(&factory_); 758 QuicStreamRequest request(&factory_);
759 is_https_ = true; 759 is_https_ = true;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
808 // www.example.org (server1) 808 // www.example.org (server1)
809 // mail.example.org 809 // mail.example.org
810 // www.example.com 810 // www.example.com
811 // But is not valid for mail.google.com (server2). 811 // But is not valid for mail.google.com (server2).
812 base::FilePath certs_dir = GetTestCertsDirectory(); 812 base::FilePath certs_dir = GetTestCertsDirectory();
813 scoped_refptr<X509Certificate> test_cert( 813 scoped_refptr<X509Certificate> test_cert(
814 ImportCertFromFile(certs_dir, "spdy_pooling.pem")); 814 ImportCertFromFile(certs_dir, "spdy_pooling.pem"));
815 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get()); 815 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get());
816 ProofVerifyDetailsChromium verify_details; 816 ProofVerifyDetailsChromium verify_details;
817 verify_details.cert_verify_result.verified_cert = test_cert; 817 verify_details.cert_verify_result.verified_cert = test_cert;
818 crypto_client_stream_factory_.set_proof_verify_details(&verify_details); 818 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details);
819
820 819
821 host_resolver_.set_synchronous_mode(true); 820 host_resolver_.set_synchronous_mode(true);
822 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); 821 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", "");
823 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); 822 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", "");
824 823
825 QuicStreamRequest request(&factory_); 824 QuicStreamRequest request(&factory_);
826 is_https_ = true; 825 is_https_ = true;
827 EXPECT_EQ(OK, 826 EXPECT_EQ(OK,
828 request.Request(server1, 827 request.Request(server1,
829 is_https_, 828 is_https_,
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
877 // mail.example.org (server2) 876 // mail.example.org (server2)
878 base::FilePath certs_dir = GetTestCertsDirectory(); 877 base::FilePath certs_dir = GetTestCertsDirectory();
879 scoped_refptr<X509Certificate> test_cert( 878 scoped_refptr<X509Certificate> test_cert(
880 ImportCertFromFile(certs_dir, "spdy_pooling.pem")); 879 ImportCertFromFile(certs_dir, "spdy_pooling.pem"));
881 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get()); 880 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get());
882 ProofVerifyDetailsChromium verify_details; 881 ProofVerifyDetailsChromium verify_details;
883 verify_details.cert_verify_result.verified_cert = test_cert; 882 verify_details.cert_verify_result.verified_cert = test_cert;
884 verify_details.cert_verify_result.is_issued_by_known_root = true; 883 verify_details.cert_verify_result.is_issued_by_known_root = true;
885 verify_details.cert_verify_result.public_key_hashes.push_back( 884 verify_details.cert_verify_result.public_key_hashes.push_back(
886 test::GetTestHashValue(primary_pin)); 885 test::GetTestHashValue(primary_pin));
887 crypto_client_stream_factory_.set_proof_verify_details(&verify_details); 886 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details);
888
889 887
890 host_resolver_.set_synchronous_mode(true); 888 host_resolver_.set_synchronous_mode(true);
891 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); 889 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", "");
892 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); 890 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", "");
893 891
894 QuicStreamRequest request(&factory_); 892 QuicStreamRequest request(&factory_);
895 is_https_ = true; 893 is_https_ = true;
896 EXPECT_EQ(OK, 894 EXPECT_EQ(OK,
897 request.Request(server1, 895 request.Request(server1,
898 is_https_, 896 is_https_,
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 // mail.example.org (server2) 945 // mail.example.org (server2)
948 base::FilePath certs_dir = GetTestCertsDirectory(); 946 base::FilePath certs_dir = GetTestCertsDirectory();
949 scoped_refptr<X509Certificate> test_cert( 947 scoped_refptr<X509Certificate> test_cert(
950 ImportCertFromFile(certs_dir, "spdy_pooling.pem")); 948 ImportCertFromFile(certs_dir, "spdy_pooling.pem"));
951 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get()); 949 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get());
952 ProofVerifyDetailsChromium verify_details; 950 ProofVerifyDetailsChromium verify_details;
953 verify_details.cert_verify_result.verified_cert = test_cert; 951 verify_details.cert_verify_result.verified_cert = test_cert;
954 verify_details.cert_verify_result.is_issued_by_known_root = true; 952 verify_details.cert_verify_result.is_issued_by_known_root = true;
955 verify_details.cert_verify_result.public_key_hashes.push_back( 953 verify_details.cert_verify_result.public_key_hashes.push_back(
956 test::GetTestHashValue(primary_pin)); 954 test::GetTestHashValue(primary_pin));
957 crypto_client_stream_factory_.set_proof_verify_details(&verify_details); 955 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details);
958
959 956
960 host_resolver_.set_synchronous_mode(true); 957 host_resolver_.set_synchronous_mode(true);
961 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); 958 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", "");
962 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); 959 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", "");
963 960
964 // Disable connection pooling. 961 // Disable connection pooling.
965 QuicStreamFactoryPeer::DisableConnectionPooling(&factory_); 962 QuicStreamFactoryPeer::DisableConnectionPooling(&factory_);
966 963
967 QuicStreamRequest request(&factory_); 964 QuicStreamRequest request(&factory_);
968 is_https_ = true; 965 is_https_ = true;
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1018 test::AddPin(&transport_security_state_, "mail.example.org", primary_pin, 1015 test::AddPin(&transport_security_state_, "mail.example.org", primary_pin,
1019 backup_pin); 1016 backup_pin);
1020 1017
1021 // Load a cert that is valid for: 1018 // Load a cert that is valid for:
1022 // www.example.org (server1) 1019 // www.example.org (server1)
1023 // mail.example.org (server2) 1020 // mail.example.org (server2)
1024 base::FilePath certs_dir = GetTestCertsDirectory(); 1021 base::FilePath certs_dir = GetTestCertsDirectory();
1025 scoped_refptr<X509Certificate> test_cert( 1022 scoped_refptr<X509Certificate> test_cert(
1026 ImportCertFromFile(certs_dir, "spdy_pooling.pem")); 1023 ImportCertFromFile(certs_dir, "spdy_pooling.pem"));
1027 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get()); 1024 ASSERT_NE(static_cast<X509Certificate*>(nullptr), test_cert.get());
1028 ProofVerifyDetailsChromium verify_details; 1025
1029 verify_details.cert_verify_result.verified_cert = test_cert; 1026 ProofVerifyDetailsChromium verify_details1;
1030 verify_details.cert_verify_result.is_issued_by_known_root = true; 1027 verify_details1.cert_verify_result.verified_cert = test_cert;
1031 verify_details.cert_verify_result.public_key_hashes.push_back( 1028 verify_details1.cert_verify_result.is_issued_by_known_root = true;
1029 verify_details1.cert_verify_result.public_key_hashes.push_back(
1032 test::GetTestHashValue(bad_pin)); 1030 test::GetTestHashValue(bad_pin));
1033 crypto_client_stream_factory_.set_proof_verify_details(&verify_details); 1031 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details1);
1034 1032
1033 ProofVerifyDetailsChromium verify_details2;
1034 verify_details2.cert_verify_result.verified_cert = test_cert;
1035 verify_details2.cert_verify_result.is_issued_by_known_root = true;
1036 verify_details2.cert_verify_result.public_key_hashes.push_back(
1037 test::GetTestHashValue(primary_pin));
1038 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details2);
1035 1039
1036 host_resolver_.set_synchronous_mode(true); 1040 host_resolver_.set_synchronous_mode(true);
1037 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", ""); 1041 host_resolver_.rules()->AddIPLiteralRule(server1.host(), "192.168.0.1", "");
1038 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); 1042 host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", "");
1039 1043
1040 QuicStreamRequest request(&factory_); 1044 QuicStreamRequest request(&factory_);
1041 is_https_ = true; 1045 is_https_ = true;
1042 EXPECT_EQ(OK, 1046 EXPECT_EQ(OK,
1043 request.Request(server1, 1047 request.Request(server1,
1044 is_https_, 1048 is_https_,
(...skipping 786 matching lines...) Expand 10 before | Expand all | Expand 10 after
1831 EXPECT_TRUE(socket_data.at_read_eof()); 1835 EXPECT_TRUE(socket_data.at_read_eof());
1832 EXPECT_TRUE(socket_data.at_write_eof()); 1836 EXPECT_TRUE(socket_data.at_write_eof());
1833 EXPECT_TRUE(socket_data2.at_read_eof()); 1837 EXPECT_TRUE(socket_data2.at_read_eof());
1834 EXPECT_TRUE(socket_data2.at_write_eof()); 1838 EXPECT_TRUE(socket_data2.at_write_eof());
1835 EXPECT_TRUE(socket_data3.at_read_eof()); 1839 EXPECT_TRUE(socket_data3.at_read_eof());
1836 EXPECT_TRUE(socket_data3.at_write_eof()); 1840 EXPECT_TRUE(socket_data3.at_write_eof());
1837 } 1841 }
1838 1842
1839 } // namespace test 1843 } // namespace test
1840 } // namespace net 1844 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_network_transaction_unittest.cc ('k') | net/quic/test_tools/mock_crypto_client_stream_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698