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

Unified Diff: net/tools/flip_server/http_interface_test.cc

Issue 2169503002: Remove flip_server. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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 | « net/tools/flip_server/http_interface.cc ('k') | net/tools/flip_server/mem_cache.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/tools/flip_server/http_interface_test.cc
diff --git a/net/tools/flip_server/http_interface_test.cc b/net/tools/flip_server/http_interface_test.cc
deleted file mode 100644
index 9123f9f5fc75996643500b8bb23784d40a19befb..0000000000000000000000000000000000000000
--- a/net/tools/flip_server/http_interface_test.cc
+++ /dev/null
@@ -1,491 +0,0 @@
-// Copyright 2013 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/tools/flip_server/http_interface.h"
-
-#include <list>
-#include <memory>
-
-#include "base/stl_util.h"
-#include "base/strings/string_piece.h"
-#include "net/tools/balsa/balsa_enums.h"
-#include "net/tools/balsa/balsa_frame.h"
-#include "net/tools/balsa/balsa_headers.h"
-#include "net/tools/flip_server/flip_config.h"
-#include "net/tools/flip_server/flip_test_utils.h"
-#include "net/tools/flip_server/mem_cache.h"
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace net {
-
-using ::base::StringPiece;
-using ::testing::_;
-using ::testing::InSequence;
-
-namespace {
-
-class MockSMConnection : public SMConnection {
- public:
- MockSMConnection(EpollServer* epoll_server,
- SSLState* ssl_state,
- MemoryCache* memory_cache,
- FlipAcceptor* acceptor,
- std::string log_prefix)
- : SMConnection(epoll_server,
- ssl_state,
- memory_cache,
- acceptor,
- log_prefix) {}
-
- MOCK_METHOD0(Cleanup, void());
- MOCK_METHOD8(InitSMConnection,
- void(SMConnectionPoolInterface*,
- SMInterface*,
- EpollServer*,
- int,
- std::string,
- std::string,
- std::string,
- bool));
-};
-
-class FlipHttpSMTest : public ::testing::Test {
- public:
- explicit FlipHttpSMTest(FlipHandlerType type = FLIP_HANDLER_PROXY) {
- SSLState* ssl_state = NULL;
- mock_another_interface_.reset(new MockSMInterface);
- memory_cache_.reset(new MemoryCache);
- acceptor_.reset(new FlipAcceptor(type,
- "127.0.0.1",
- "8941",
- "ssl_cert_filename",
- "ssl_key_filename",
- "127.0.0.1",
- "8942",
- "127.0.0.1",
- "8943",
- 1,
- 0,
- true,
- 1,
- false,
- true,
- NULL));
- epoll_server_.reset(new EpollServer);
- connection_.reset(new MockSMConnection(epoll_server_.get(),
- ssl_state,
- memory_cache_.get(),
- acceptor_.get(),
- "log_prefix"));
-
- interface_.reset(new HttpSM(connection_.get(),
- mock_another_interface_.get(),
- memory_cache_.get(),
- acceptor_.get()));
- }
-
- void TearDown() override {
- if (acceptor_->listen_fd_ >= 0) {
- epoll_server_->UnregisterFD(acceptor_->listen_fd_);
- close(acceptor_->listen_fd_);
- acceptor_->listen_fd_ = -1;
- }
- STLDeleteElements(connection_->output_list());
- }
-
- bool HasStream(uint32_t stream_id) {
- return interface_->output_ordering().ExistsInPriorityMaps(stream_id);
- }
-
- protected:
- std::unique_ptr<MockSMInterface> mock_another_interface_;
- std::unique_ptr<MemoryCache> memory_cache_;
- std::unique_ptr<FlipAcceptor> acceptor_;
- std::unique_ptr<EpollServer> epoll_server_;
- std::unique_ptr<MockSMConnection> connection_;
- std::unique_ptr<HttpSM> interface_;
-};
-
-class FlipHttpSMProxyTest : public FlipHttpSMTest {
- public:
- FlipHttpSMProxyTest() : FlipHttpSMTest(FLIP_HANDLER_PROXY) {}
- ~FlipHttpSMProxyTest() override {}
-};
-
-class FlipHttpSMHttpTest : public FlipHttpSMTest {
- public:
- FlipHttpSMHttpTest() : FlipHttpSMTest(FLIP_HANDLER_HTTP_SERVER) {}
- ~FlipHttpSMHttpTest() override {}
-};
-
-class FlipHttpSMSpdyTest : public FlipHttpSMTest {
- public:
- FlipHttpSMSpdyTest() : FlipHttpSMTest(FLIP_HANDLER_SPDY_SERVER) {}
- ~FlipHttpSMSpdyTest() override {}
-};
-
-TEST_F(FlipHttpSMTest, Construct) {
- ASSERT_FALSE(interface_->spdy_framer()->is_request());
-}
-
-TEST_F(FlipHttpSMTest, AddToOutputOrder) {
- uint32_t stream_id = 13;
- MemCacheIter mci;
- mci.stream_id = stream_id;
-
- {
- BalsaHeaders headers;
- std::string filename = "foobar";
- memory_cache_->InsertFile(&headers, filename, "");
- mci.file_data = memory_cache_->GetFileData(filename);
- }
-
- interface_->AddToOutputOrder(mci);
- ASSERT_TRUE(HasStream(stream_id));
-}
-
-TEST_F(FlipHttpSMTest, InitSMInterface) {
- std::unique_ptr<MockSMInterface> mock(new MockSMInterface);
- {
- InSequence s;
- EXPECT_CALL(*mock_another_interface_, SendEOF(_));
- EXPECT_CALL(*mock_another_interface_, ResetForNewInterface(_));
- EXPECT_CALL(*mock, SendEOF(_));
- EXPECT_CALL(*mock, ResetForNewInterface(_));
- }
-
- interface_->ResetForNewConnection();
- interface_->InitSMInterface(mock.get(), 0);
- interface_->ResetForNewConnection();
-}
-
-TEST_F(FlipHttpSMTest, InitSMConnection) {
- EXPECT_CALL(*connection_, InitSMConnection(_, _, _, _, _, _, _, _));
-
- interface_->InitSMConnection(NULL, NULL, NULL, 0, "", "", "", false);
-}
-
-TEST_F(FlipHttpSMTest, ProcessReadInput) {
- std::string data =
- "HTTP/1.1 200 OK\r\n"
- "Content-Length: 14\r\n\r\n"
- "hello, world\r\n";
- testing::MockFunction<void(int)> checkpoint; // NOLINT
- {
- InSequence s;
- EXPECT_CALL(*mock_another_interface_, SendSynReply(_, _));
- EXPECT_CALL(checkpoint, Call(0));
- EXPECT_CALL(*mock_another_interface_, SendDataFrame(_, _, _, _, _));
- EXPECT_CALL(*mock_another_interface_, SendEOF(_));
- }
-
- ASSERT_EQ(BalsaFrameEnums::READING_HEADER_AND_FIRSTLINE,
- interface_->spdy_framer()->ParseState());
-
- size_t read = interface_->ProcessReadInput(data.data(), data.size());
- ASSERT_EQ(39u, read);
- checkpoint.Call(0);
- read += interface_->ProcessReadInput(&data.data()[read], data.size() - read);
- ASSERT_EQ(data.size(), read);
- ASSERT_EQ(BalsaFrameEnums::MESSAGE_FULLY_READ,
- interface_->spdy_framer()->ParseState());
- ASSERT_TRUE(interface_->MessageFullyRead());
-}
-
-TEST_F(FlipHttpSMTest, ProcessWriteInput) {
- std::string data = "hello, world";
- interface_->ProcessWriteInput(data.data(), data.size());
-
- ASSERT_EQ(1u, connection_->output_list()->size());
- std::list<DataFrame*>::const_iterator i = connection_->output_list()->begin();
- DataFrame* df = *i++;
- ASSERT_EQ(data, StringPiece(df->data, df->size));
- ASSERT_EQ(connection_->output_list()->end(), i);
-}
-
-TEST_F(FlipHttpSMTest, Reset) {
- std::string data = "HTTP/1.1 200 OK\r\n\r\n";
- testing::MockFunction<void(int)> checkpoint; // NOLINT
- {
- InSequence s;
- EXPECT_CALL(*mock_another_interface_, SendSynReply(_, _));
- EXPECT_CALL(checkpoint, Call(0));
- }
-
- ASSERT_EQ(BalsaFrameEnums::READING_HEADER_AND_FIRSTLINE,
- interface_->spdy_framer()->ParseState());
-
- interface_->ProcessReadInput(data.data(), data.size());
- checkpoint.Call(0);
- ASSERT_FALSE(interface_->MessageFullyRead());
- ASSERT_EQ(BalsaFrameEnums::READING_UNTIL_CLOSE,
- interface_->spdy_framer()->ParseState());
-
- interface_->Reset();
- ASSERT_EQ(BalsaFrameEnums::READING_HEADER_AND_FIRSTLINE,
- interface_->spdy_framer()->ParseState());
-}
-
-TEST_F(FlipHttpSMTest, ResetForNewConnection) {
- std::string data = "HTTP/1.1 200 OK\r\n\r\n";
- testing::MockFunction<void(int)> checkpoint; // NOLINT
- {
- InSequence s;
- EXPECT_CALL(*mock_another_interface_, SendSynReply(_, _));
- EXPECT_CALL(checkpoint, Call(0));
- EXPECT_CALL(*mock_another_interface_, SendEOF(_));
- EXPECT_CALL(*mock_another_interface_, ResetForNewInterface(_));
- }
-
- ASSERT_EQ(BalsaFrameEnums::READING_HEADER_AND_FIRSTLINE,
- interface_->spdy_framer()->ParseState());
-
- interface_->ProcessReadInput(data.data(), data.size());
- checkpoint.Call(0);
- ASSERT_FALSE(interface_->MessageFullyRead());
- ASSERT_EQ(BalsaFrameEnums::READING_UNTIL_CLOSE,
- interface_->spdy_framer()->ParseState());
-
- interface_->ResetForNewConnection();
- ASSERT_EQ(BalsaFrameEnums::READING_HEADER_AND_FIRSTLINE,
- interface_->spdy_framer()->ParseState());
-}
-
-TEST_F(FlipHttpSMTest, NewStream) {
- uint32_t stream_id = 4;
- {
- BalsaHeaders headers;
- std::string filename = "foobar";
- memory_cache_->InsertFile(&headers, filename, "");
- }
-
- interface_->NewStream(stream_id, 1, "foobar");
- ASSERT_TRUE(HasStream(stream_id));
-}
-
-TEST_F(FlipHttpSMTest, NewStreamError) {
- std::string syn_reply =
- "HTTP/1.1 404 Not Found\r\n"
- "transfer-encoding: chunked\r\n\r\n";
- std::string body = "e\r\npage not found\r\n";
- uint32_t stream_id = 4;
-
- ASSERT_FALSE(HasStream(stream_id));
- interface_->NewStream(stream_id, 1, "foobar");
-
- ASSERT_EQ(3u, connection_->output_list()->size());
- std::list<DataFrame*>::const_iterator i = connection_->output_list()->begin();
- DataFrame* df = *i++;
- ASSERT_EQ(syn_reply, StringPiece(df->data, df->size));
- df = *i++;
- ASSERT_EQ(body, StringPiece(df->data, df->size));
- df = *i++;
- ASSERT_EQ("0\r\n\r\n", StringPiece(df->data, df->size));
- ASSERT_FALSE(HasStream(stream_id));
-}
-
-TEST_F(FlipHttpSMTest, SendErrorNotFound) {
- std::string syn_reply =
- "HTTP/1.1 404 Not Found\r\n"
- "transfer-encoding: chunked\r\n\r\n";
- std::string body = "e\r\npage not found\r\n";
- uint32_t stream_id = 13;
- MemCacheIter mci;
- mci.stream_id = stream_id;
-
- {
- BalsaHeaders headers;
- std::string filename = "foobar";
- memory_cache_->InsertFile(&headers, filename, "");
- mci.file_data = memory_cache_->GetFileData(filename);
- }
-
- interface_->AddToOutputOrder(mci);
- ASSERT_TRUE(HasStream(stream_id));
- interface_->SendErrorNotFound(stream_id);
-
- ASSERT_EQ(3u, connection_->output_list()->size());
- std::list<DataFrame*>::const_iterator i = connection_->output_list()->begin();
- DataFrame* df = *i++;
- ASSERT_EQ(syn_reply, StringPiece(df->data, df->size));
- df = *i++;
- ASSERT_EQ(body, StringPiece(df->data, df->size));
- df = *i++;
- ASSERT_EQ("0\r\n\r\n", StringPiece(df->data, df->size));
- ASSERT_FALSE(HasStream(stream_id));
-}
-
-TEST_F(FlipHttpSMTest, SendSynStream) {
- std::string expected =
- "GET / HTTP/1.0\r\n"
- "key1: value1\r\n\r\n";
- BalsaHeaders headers;
- headers.SetResponseFirstlineFromStringPieces("GET", "/path", "HTTP/1.0");
- headers.AppendHeader("key1", "value1");
- interface_->SendSynStream(18, headers);
-
- // TODO(yhirano): Is this behavior correct?
- ASSERT_EQ(0u, connection_->output_list()->size());
-}
-
-TEST_F(FlipHttpSMTest, SendSynReply) {
- std::string expected =
- "HTTP/1.1 200 OK\r\n"
- "key1: value1\r\n\r\n";
- BalsaHeaders headers;
- headers.SetResponseFirstlineFromStringPieces("HTTP/1.1", "200", "OK");
- headers.AppendHeader("key1", "value1");
- interface_->SendSynReply(18, headers);
-
- ASSERT_EQ(1u, connection_->output_list()->size());
- DataFrame* df = connection_->output_list()->front();
- ASSERT_EQ(expected, StringPiece(df->data, df->size));
-}
-
-TEST_F(FlipHttpSMTest, SendDataFrame) {
- std::string data = "foo bar baz";
- interface_->SendDataFrame(12, data.data(), data.size(), 0, false);
-
- ASSERT_EQ(1u, connection_->output_list()->size());
- DataFrame* df = connection_->output_list()->front();
- ASSERT_EQ("b\r\nfoo bar baz\r\n", StringPiece(df->data, df->size));
-}
-
-TEST_F(FlipHttpSMProxyTest, ProcessBodyData) {
- BalsaVisitorInterface* visitor = interface_.get();
- std::string data = "hello, world";
- {
- InSequence s;
- EXPECT_CALL(*mock_another_interface_,
- SendDataFrame(0, data.data(), data.size(), 0, false));
- }
- visitor->ProcessBodyData(data.data(), data.size());
-}
-
-// --
-// FlipHttpSMProxyTest
-
-TEST_F(FlipHttpSMProxyTest, ProcessHeaders) {
- BalsaVisitorInterface* visitor = interface_.get();
- {
- InSequence s;
- EXPECT_CALL(*mock_another_interface_, SendSynReply(0, _));
- }
- BalsaHeaders headers;
- visitor->ProcessHeaders(headers);
-}
-
-TEST_F(FlipHttpSMProxyTest, MessageDone) {
- BalsaVisitorInterface* visitor = interface_.get();
- {
- InSequence s;
- EXPECT_CALL(*mock_another_interface_, SendEOF(0));
- }
- visitor->MessageDone();
-}
-
-TEST_F(FlipHttpSMProxyTest, Cleanup) {
- EXPECT_CALL(*connection_, Cleanup()).Times(0);
- interface_->Cleanup();
-}
-
-TEST_F(FlipHttpSMProxyTest, SendEOF) {
- {
- InSequence s;
- EXPECT_CALL(*mock_another_interface_, ResetForNewInterface(_));
- }
- interface_->SendEOF(32);
- ASSERT_EQ(1u, connection_->output_list()->size());
- DataFrame* df = connection_->output_list()->front();
- ASSERT_EQ("0\r\n\r\n", StringPiece(df->data, df->size));
-}
-
-// --
-// FlipHttpSMHttpTest
-
-TEST_F(FlipHttpSMHttpTest, ProcessHeaders) {
- BalsaVisitorInterface* visitor = interface_.get();
- {
- BalsaHeaders headers;
- std::string filename = "GET_/path/file";
- memory_cache_->InsertFile(&headers, filename, "");
- }
-
- BalsaHeaders headers;
- headers.AppendHeader("Host", "example.com");
- headers.SetRequestFirstlineFromStringPieces("GET", "/path/file", "HTTP/1.0");
- uint32_t stream_id = 133;
- interface_->SetStreamID(stream_id);
- ASSERT_FALSE(HasStream(stream_id));
- visitor->ProcessHeaders(headers);
- ASSERT_TRUE(HasStream(stream_id));
-}
-
-TEST_F(FlipHttpSMHttpTest, MessageDone) {
- BalsaVisitorInterface* visitor = interface_.get();
- {
- InSequence s;
- EXPECT_CALL(*mock_another_interface_, SendEOF(0)).Times(0);
- }
- visitor->MessageDone();
-}
-
-TEST_F(FlipHttpSMHttpTest, Cleanup) {
- EXPECT_CALL(*connection_, Cleanup()).Times(0);
- interface_->Cleanup();
-}
-
-TEST_F(FlipHttpSMHttpTest, SendEOF) {
- {
- InSequence s;
- EXPECT_CALL(*mock_another_interface_, ResetForNewInterface(_)).Times(0);
- }
- interface_->SendEOF(32);
- ASSERT_EQ(1u, connection_->output_list()->size());
- DataFrame* df = connection_->output_list()->front();
- ASSERT_EQ("0\r\n\r\n", StringPiece(df->data, df->size));
-}
-
-// --
-// FlipHttpSMSpdyTest
-
-TEST_F(FlipHttpSMSpdyTest, ProcessHeaders) {
- BalsaVisitorInterface* visitor = interface_.get();
- {
- InSequence s;
- EXPECT_CALL(*mock_another_interface_, SendSynReply(0, _));
- }
- BalsaHeaders headers;
- visitor->ProcessHeaders(headers);
-}
-
-TEST_F(FlipHttpSMSpdyTest, MessageDone) {
- BalsaVisitorInterface* visitor = interface_.get();
- {
- InSequence s;
- EXPECT_CALL(*mock_another_interface_, SendEOF(0)).Times(0);
- }
- visitor->MessageDone();
-}
-
-TEST_F(FlipHttpSMSpdyTest, Cleanup) {
- EXPECT_CALL(*connection_, Cleanup()).Times(0);
- interface_->Cleanup();
-}
-
-TEST_F(FlipHttpSMSpdyTest, SendEOF) {
- {
- InSequence s;
- EXPECT_CALL(*mock_another_interface_, ResetForNewInterface(_)).Times(0);
- }
- interface_->SendEOF(32);
- ASSERT_EQ(1u, connection_->output_list()->size());
- DataFrame* df = connection_->output_list()->front();
- ASSERT_EQ("0\r\n\r\n", StringPiece(df->data, df->size));
-}
-
-} // namespace
-
-} // namespace net
« no previous file with comments | « net/tools/flip_server/http_interface.cc ('k') | net/tools/flip_server/mem_cache.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698