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/quic_packet_creator.h" | 5 #include "net/quic/quic_packet_creator.h" |
6 | 6 |
7 #include "base/stl_util.h" | 7 #include "base/stl_util.h" |
8 #include "net/quic/crypto/null_encrypter.h" | 8 #include "net/quic/crypto/null_encrypter.h" |
9 #include "net/quic/crypto/quic_decrypter.h" | 9 #include "net/quic/crypto/quic_decrypter.h" |
10 #include "net/quic/crypto/quic_encrypter.h" | 10 #include "net/quic/crypto/quic_encrypter.h" |
11 #include "net/quic/quic_utils.h" | 11 #include "net/quic/quic_utils.h" |
12 #include "net/quic/test_tools/mock_random.h" | 12 #include "net/quic/test_tools/mock_random.h" |
| 13 #include "net/quic/test_tools/quic_framer_peer.h" |
13 #include "net/quic/test_tools/quic_packet_creator_peer.h" | 14 #include "net/quic/test_tools/quic_packet_creator_peer.h" |
14 #include "net/quic/test_tools/quic_test_utils.h" | 15 #include "net/quic/test_tools/quic_test_utils.h" |
15 #include "net/test/gtest_util.h" | 16 #include "net/test/gtest_util.h" |
16 #include "testing/gmock/include/gmock/gmock.h" | 17 #include "testing/gmock/include/gmock/gmock.h" |
17 | 18 |
18 using base::StringPiece; | 19 using base::StringPiece; |
19 using std::ostream; | 20 using std::ostream; |
20 using std::string; | 21 using std::string; |
21 using std::vector; | 22 using std::vector; |
22 using testing::DoAll; | 23 using testing::DoAll; |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 class QuicPacketCreatorTest : public ::testing::TestWithParam<TestParams> { | 62 class QuicPacketCreatorTest : public ::testing::TestWithParam<TestParams> { |
62 protected: | 63 protected: |
63 QuicPacketCreatorTest() | 64 QuicPacketCreatorTest() |
64 : server_framer_(SupportedVersions(GetParam().version), QuicTime::Zero(), | 65 : server_framer_(SupportedVersions(GetParam().version), QuicTime::Zero(), |
65 true), | 66 true), |
66 client_framer_(SupportedVersions(GetParam().version), QuicTime::Zero(), | 67 client_framer_(SupportedVersions(GetParam().version), QuicTime::Zero(), |
67 false), | 68 false), |
68 sequence_number_(0), | 69 sequence_number_(0), |
69 connection_id_(2), | 70 connection_id_(2), |
70 data_("foo"), | 71 data_("foo"), |
71 creator_(connection_id_, &client_framer_, &mock_random_, false) { | 72 creator_(connection_id_, &client_framer_, &mock_random_) { |
72 client_framer_.set_visitor(&framer_visitor_); | 73 client_framer_.set_visitor(&framer_visitor_); |
73 client_framer_.set_received_entropy_calculator(&entropy_calculator_); | 74 client_framer_.set_received_entropy_calculator(&entropy_calculator_); |
74 server_framer_.set_visitor(&framer_visitor_); | 75 server_framer_.set_visitor(&framer_visitor_); |
75 } | 76 } |
76 | 77 |
77 virtual ~QuicPacketCreatorTest() OVERRIDE { | 78 virtual ~QuicPacketCreatorTest() OVERRIDE { |
78 } | 79 } |
79 | 80 |
80 void ProcessPacket(QuicPacket* packet) { | 81 void ProcessPacket(QuicPacket* packet) { |
81 scoped_ptr<QuicEncryptedPacket> encrypted( | 82 scoped_ptr<QuicEncryptedPacket> encrypted( |
(...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
720 } else { | 721 } else { |
721 EXPECT_EQ(client_framer_.GetMaxPlaintextSize(kDefaultMaxPacketSize), | 722 EXPECT_EQ(client_framer_.GetMaxPlaintextSize(kDefaultMaxPacketSize), |
722 serialized_packet.packet->length()); | 723 serialized_packet.packet->length()); |
723 } | 724 } |
724 delete serialized_packet.packet; | 725 delete serialized_packet.packet; |
725 delete serialized_packet.retransmittable_frames; | 726 delete serialized_packet.retransmittable_frames; |
726 } | 727 } |
727 } | 728 } |
728 | 729 |
729 TEST_P(QuicPacketCreatorTest, SerializeVersionNegotiationPacket) { | 730 TEST_P(QuicPacketCreatorTest, SerializeVersionNegotiationPacket) { |
730 QuicPacketCreatorPeer::SetIsServer(&creator_, true); | 731 QuicFramerPeer::SetIsServer(&client_framer_, true); |
731 QuicVersionVector versions; | 732 QuicVersionVector versions; |
732 versions.push_back(test::QuicVersionMax()); | 733 versions.push_back(test::QuicVersionMax()); |
733 scoped_ptr<QuicEncryptedPacket> encrypted( | 734 scoped_ptr<QuicEncryptedPacket> encrypted( |
734 creator_.SerializeVersionNegotiationPacket(versions)); | 735 creator_.SerializeVersionNegotiationPacket(versions)); |
735 | 736 |
736 { | 737 { |
737 InSequence s; | 738 InSequence s; |
738 EXPECT_CALL(framer_visitor_, OnPacket()); | 739 EXPECT_CALL(framer_visitor_, OnPacket()); |
739 EXPECT_CALL(framer_visitor_, OnUnauthenticatedPublicHeader(_)); | 740 EXPECT_CALL(framer_visitor_, OnUnauthenticatedPublicHeader(_)); |
740 EXPECT_CALL(framer_visitor_, OnVersionNegotiationPacket(_)); | 741 EXPECT_CALL(framer_visitor_, OnVersionNegotiationPacket(_)); |
741 } | 742 } |
| 743 QuicFramerPeer::SetIsServer(&client_framer_, false); |
742 client_framer_.ProcessPacket(*encrypted); | 744 client_framer_.ProcessPacket(*encrypted); |
743 } | 745 } |
744 | 746 |
745 TEST_P(QuicPacketCreatorTest, UpdatePacketSequenceNumberLengthLeastAwaiting) { | 747 TEST_P(QuicPacketCreatorTest, UpdatePacketSequenceNumberLengthLeastAwaiting) { |
746 EXPECT_EQ(PACKET_1BYTE_SEQUENCE_NUMBER, | 748 EXPECT_EQ(PACKET_1BYTE_SEQUENCE_NUMBER, |
747 creator_.next_sequence_number_length()); | 749 creator_.next_sequence_number_length()); |
748 | 750 |
749 creator_.set_sequence_number(64); | 751 creator_.set_sequence_number(64); |
750 creator_.UpdateSequenceNumberLength(2, 10000); | 752 creator_.UpdateSequenceNumberLength(2, 10000); |
751 EXPECT_EQ(PACKET_1BYTE_SEQUENCE_NUMBER, | 753 EXPECT_EQ(PACKET_1BYTE_SEQUENCE_NUMBER, |
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1010 // After 64 calls, BoolSource will refresh the bucket - make sure it does. | 1012 // After 64 calls, BoolSource will refresh the bucket - make sure it does. |
1011 mock_random_.ChangeValue(); | 1013 mock_random_.ChangeValue(); |
1012 } | 1014 } |
1013 | 1015 |
1014 delete frames_[0].stream_frame; | 1016 delete frames_[0].stream_frame; |
1015 } | 1017 } |
1016 | 1018 |
1017 } // namespace | 1019 } // namespace |
1018 } // namespace test | 1020 } // namespace test |
1019 } // namespace net | 1021 } // namespace net |
OLD | NEW |