| Index: components/cast_channel/cast_framer_unittest.cc
|
| diff --git a/components/cast_channel/cast_framer_unittest.cc b/components/cast_channel/cast_framer_unittest.cc
|
| deleted file mode 100644
|
| index 660e074b5fdc855092f231d282649d50933581d2..0000000000000000000000000000000000000000
|
| --- a/components/cast_channel/cast_framer_unittest.cc
|
| +++ /dev/null
|
| @@ -1,138 +0,0 @@
|
| -// Copyright 2014 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 "components/cast_channel/cast_framer.h"
|
| -
|
| -#include <stddef.h>
|
| -
|
| -#include <algorithm>
|
| -#include <string>
|
| -
|
| -#include "components/cast_channel/proto/cast_channel.pb.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace cast_channel {
|
| -
|
| -using ::cast_channel::ChannelError;
|
| -
|
| -class CastFramerTest : public testing::Test {
|
| - public:
|
| - CastFramerTest() {}
|
| - ~CastFramerTest() override {}
|
| -
|
| - void SetUp() override {
|
| - cast_message_.set_protocol_version(CastMessage::CASTV2_1_0);
|
| - cast_message_.set_source_id("source");
|
| - cast_message_.set_destination_id("destination");
|
| - cast_message_.set_namespace_("namespace");
|
| - cast_message_.set_payload_type(CastMessage::STRING);
|
| - cast_message_.set_payload_utf8("payload");
|
| - ASSERT_TRUE(MessageFramer::Serialize(cast_message_, &cast_message_str_));
|
| -
|
| - buffer_ = new net::GrowableIOBuffer;
|
| - buffer_->SetCapacity(MessageFramer::MessageHeader::max_message_size());
|
| - framer_.reset(new MessageFramer(buffer_.get()));
|
| - }
|
| -
|
| - void WriteToBuffer(const std::string& data) {
|
| - memcpy(buffer_->StartOfBuffer(), data.data(), data.size());
|
| - }
|
| -
|
| - protected:
|
| - CastMessage cast_message_;
|
| - std::string cast_message_str_;
|
| - scoped_refptr<net::GrowableIOBuffer> buffer_;
|
| - std::unique_ptr<MessageFramer> framer_;
|
| -};
|
| -
|
| -TEST_F(CastFramerTest, TestMessageFramerCompleteMessage) {
|
| - ChannelError error;
|
| - size_t message_length;
|
| -
|
| - WriteToBuffer(cast_message_str_);
|
| -
|
| - // Receive 1 byte of the header, framer demands 3 more bytes.
|
| - EXPECT_EQ(4u, framer_->BytesRequested());
|
| - EXPECT_EQ(nullptr, framer_->Ingest(1, &message_length, &error).get());
|
| - EXPECT_EQ(ChannelError::NONE, error);
|
| - EXPECT_EQ(3u, framer_->BytesRequested());
|
| -
|
| - // Ingest remaining 3, expect that the framer has moved on to requesting the
|
| - // body contents.
|
| - EXPECT_EQ(nullptr, framer_->Ingest(3, &message_length, &error).get());
|
| - EXPECT_EQ(ChannelError::NONE, error);
|
| - EXPECT_EQ(
|
| - cast_message_str_.size() - MessageFramer::MessageHeader::header_size(),
|
| - framer_->BytesRequested());
|
| -
|
| - // Remainder of packet sent over the wire.
|
| - std::unique_ptr<CastMessage> message;
|
| - message = framer_->Ingest(framer_->BytesRequested(), &message_length, &error);
|
| - EXPECT_NE(static_cast<CastMessage*>(nullptr), message.get());
|
| - EXPECT_EQ(ChannelError::NONE, error);
|
| - EXPECT_EQ(message->SerializeAsString(), cast_message_.SerializeAsString());
|
| - EXPECT_EQ(4u, framer_->BytesRequested());
|
| - EXPECT_EQ(message->SerializeAsString().size(), message_length);
|
| -}
|
| -
|
| -TEST_F(CastFramerTest, TestSerializeErrorMessageTooLarge) {
|
| - std::string serialized;
|
| - CastMessage big_message;
|
| - big_message.CopyFrom(cast_message_);
|
| - std::string payload;
|
| - payload.append(MessageFramer::MessageHeader::max_message_size() + 1, 'x');
|
| - big_message.set_payload_utf8(payload);
|
| - EXPECT_FALSE(MessageFramer::Serialize(big_message, &serialized));
|
| -}
|
| -
|
| -TEST_F(CastFramerTest, TestIngestIllegalLargeMessage) {
|
| - std::string mangled_cast_message = cast_message_str_;
|
| - mangled_cast_message[0] = 88;
|
| - mangled_cast_message[1] = 88;
|
| - mangled_cast_message[2] = 88;
|
| - mangled_cast_message[3] = 88;
|
| - WriteToBuffer(mangled_cast_message);
|
| -
|
| - size_t bytes_ingested;
|
| - ChannelError error;
|
| - EXPECT_EQ(4u, framer_->BytesRequested());
|
| - EXPECT_EQ(nullptr, framer_->Ingest(4, &bytes_ingested, &error).get());
|
| - EXPECT_EQ(ChannelError::INVALID_MESSAGE, error);
|
| - EXPECT_EQ(0u, framer_->BytesRequested());
|
| -
|
| - // Test that the parser enters a terminal error state.
|
| - WriteToBuffer(cast_message_str_);
|
| - EXPECT_EQ(0u, framer_->BytesRequested());
|
| - EXPECT_EQ(nullptr, framer_->Ingest(4, &bytes_ingested, &error).get());
|
| - EXPECT_EQ(ChannelError::INVALID_MESSAGE, error);
|
| - EXPECT_EQ(0u, framer_->BytesRequested());
|
| -}
|
| -
|
| -TEST_F(CastFramerTest, TestUnparsableBodyProto) {
|
| - // Message header is OK, but the body is replaced with "x"en.
|
| - std::string mangled_cast_message = cast_message_str_;
|
| - for (size_t i = MessageFramer::MessageHeader::header_size();
|
| - i < mangled_cast_message.size(); ++i) {
|
| - std::fill(mangled_cast_message.begin() +
|
| - MessageFramer::MessageHeader::header_size(),
|
| - mangled_cast_message.end(), 'x');
|
| - }
|
| - WriteToBuffer(mangled_cast_message);
|
| -
|
| - // Send header.
|
| - size_t message_length;
|
| - ChannelError error;
|
| - EXPECT_EQ(4u, framer_->BytesRequested());
|
| - EXPECT_EQ(nullptr, framer_->Ingest(4, &message_length, &error).get());
|
| - EXPECT_EQ(ChannelError::NONE, error);
|
| - EXPECT_EQ(cast_message_str_.size() - 4, framer_->BytesRequested());
|
| -
|
| - // Send body, expect an error.
|
| - std::unique_ptr<CastMessage> message;
|
| - EXPECT_EQ(nullptr,
|
| - framer_->Ingest(framer_->BytesRequested(), &message_length, &error)
|
| - .get());
|
| - EXPECT_EQ(ChannelError::INVALID_MESSAGE, error);
|
| -}
|
| -} // namespace cast_channel
|
|
|