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

Unified Diff: components/cast_channel/cast_framer_unittest.cc

Issue 2926313002: Revert of [cast_channel] Move cast_channel related files from //extensions to //components (Closed)
Patch Set: Created 3 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/cast_channel/cast_framer.cc ('k') | components/cast_channel/cast_message_util.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « components/cast_channel/cast_framer.cc ('k') | components/cast_channel/cast_message_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698