diff options
Diffstat (limited to 'net/quic/quic_crypto_stream_test.cc')
-rw-r--r-- | net/quic/quic_crypto_stream_test.cc | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/net/quic/quic_crypto_stream_test.cc b/net/quic/quic_crypto_stream_test.cc deleted file mode 100644 index 5aee0e4..0000000 --- a/net/quic/quic_crypto_stream_test.cc +++ /dev/null @@ -1,100 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "net/quic/quic_crypto_stream.h" - -#include <map> -#include <string> - -#include "net/quic/quic_utils.h" -#include "net/quic/test_tools/quic_test_utils.h" -#include "testing/gmock/include/gmock/gmock.h" -#include "testing/gtest/include/gtest/gtest.h" - -using std::map; -using std::string; - -namespace net { -namespace test { -namespace { - -class MockQuicCryptoStream : public QuicCryptoStream { - public: - explicit MockQuicCryptoStream(QuicSession* session) - : QuicCryptoStream(session) { - } - - void OnHandshakeMessage(const CryptoHandshakeMessage& message) { - message_tags_.push_back(message.tag); - message_maps_.push_back(map<CryptoTag, string>()); - CryptoTagValueMap::const_iterator it = message.tag_value_map.begin(); - while (it != message.tag_value_map.end()) { - message_maps_.back()[it->first] = it->second.as_string(); - ++it; - } - } - - std::vector<CryptoTag> message_tags_; - std::vector<map<CryptoTag, string> > message_maps_; -}; - -class QuicCryptoStreamTest : public ::testing::Test { - public: - QuicCryptoStreamTest() - : addr_(IPAddressNumber(), 1), - connection_(new MockConnection(1, addr_)), - session_(connection_, true), - stream_(&session_) { - message_.tag = kSHLO; - message_.tag_value_map[1] = "abc"; - message_.tag_value_map[2] = "def"; - ConstructHandshakeMessage(); - } - - void ConstructHandshakeMessage() { - CryptoFramer framer; - message_data_.reset(framer.ConstructHandshakeMessage(message_)); - } - - IPEndPoint addr_; - MockConnection* connection_; - MockSession session_; - MockQuicCryptoStream stream_; - CryptoHandshakeMessage message_; - scoped_ptr<QuicData> message_data_; -}; - -TEST_F(QuicCryptoStreamTest, NotInitiallyConected) { - EXPECT_FALSE(stream_.handshake_complete()); -} - -TEST_F(QuicCryptoStreamTest, OnErrorClosesConnection) { - CryptoFramer framer; - EXPECT_CALL(session_, ConnectionClose(QUIC_NO_ERROR, false)); - stream_.OnError(&framer); -} - -TEST_F(QuicCryptoStreamTest, ProcessData) { - EXPECT_EQ(message_data_->length(), - stream_.ProcessData(message_data_->data(), - message_data_->length())); - ASSERT_EQ(1u, stream_.message_tags_.size()); - EXPECT_EQ(kSHLO, stream_.message_tags_[0]); - EXPECT_EQ(2u, stream_.message_maps_[0].size()); - EXPECT_EQ("abc",stream_.message_maps_[0][1]); - EXPECT_EQ("def", stream_.message_maps_[0][2]); -} - -TEST_F(QuicCryptoStreamTest, ProcessBadData) { - string bad(message_data_->data(), message_data_->length()); - bad[6] = 0x7F; // out of order tag - - EXPECT_CALL(*connection_, - SendConnectionClose(QUIC_CRYPTO_TAGS_OUT_OF_ORDER)); - EXPECT_EQ(0u, stream_.ProcessData(bad.data(), bad.length())); -} - -} // namespace -} // namespace test -} // namespace net |