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

Unified Diff: net/test/embedded_test_server/http_request_unittest.cc

Issue 992733002: Remove //net (except for Android test stuff) and sdch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 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/test/embedded_test_server/http_request.cc ('k') | net/test/embedded_test_server/http_response.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/test/embedded_test_server/http_request_unittest.cc
diff --git a/net/test/embedded_test_server/http_request_unittest.cc b/net/test/embedded_test_server/http_request_unittest.cc
deleted file mode 100644
index ff2ae3cf968a3c224d98a6079f6010017a96a5f0..0000000000000000000000000000000000000000
--- a/net/test/embedded_test_server/http_request_unittest.cc
+++ /dev/null
@@ -1,148 +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/test/embedded_test_server/http_request.h"
-
-#include "base/memory/scoped_ptr.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace net {
-namespace test_server {
-
-TEST(HttpRequestTest, ParseRequest) {
- HttpRequestParser parser;
-
- // Process request in chunks to check if the parser deals with border cases.
- // Also, check multi-line headers as well as multiple requests in the same
- // chunk. This basically should cover all the simplest border cases.
- parser.ProcessChunk("POST /foobar.html HTTP/1.1\r\n");
- EXPECT_EQ(HttpRequestParser::WAITING, parser.ParseRequest());
- parser.ProcessChunk("Host: localhost:1234\r\n");
- EXPECT_EQ(HttpRequestParser::WAITING, parser.ParseRequest());
- parser.ProcessChunk("Multi-line-header: abcd\r\n");
- EXPECT_EQ(HttpRequestParser::WAITING, parser.ParseRequest());
- parser.ProcessChunk(" efgh\r\n");
- EXPECT_EQ(HttpRequestParser::WAITING, parser.ParseRequest());
- parser.ProcessChunk(" ijkl\r\n");
- EXPECT_EQ(HttpRequestParser::WAITING, parser.ParseRequest());
- parser.ProcessChunk("Content-Length: 10\r\n\r\n");
- EXPECT_EQ(HttpRequestParser::WAITING, parser.ParseRequest());
- // Content data and another request in the same chunk (possible in http/1.1).
- parser.ProcessChunk("1234567890GET /another.html HTTP/1.1\r\n\r\n");
- ASSERT_EQ(HttpRequestParser::ACCEPTED, parser.ParseRequest());
-
- // Fetch the first request and validate it.
- {
- scoped_ptr<HttpRequest> request = parser.GetRequest();
- EXPECT_EQ("/foobar.html", request->relative_url);
- EXPECT_EQ("POST", request->method_string);
- EXPECT_EQ(METHOD_POST, request->method);
- EXPECT_EQ("1234567890", request->content);
- ASSERT_EQ(3u, request->headers.size());
-
- EXPECT_EQ(1u, request->headers.count("Host"));
- EXPECT_EQ(1u, request->headers.count("Multi-line-header"));
- EXPECT_EQ(1u, request->headers.count("Content-Length"));
-
- const char kExpectedAllHeaders[] =
- "POST /foobar.html HTTP/1.1\r\n"
- "Host: localhost:1234\r\n"
- "Multi-line-header: abcd\r\n"
- " efgh\r\n"
- " ijkl\r\n"
- "Content-Length: 10\r\n";
- EXPECT_EQ(kExpectedAllHeaders, request->all_headers);
- EXPECT_EQ("localhost:1234", request->headers["Host"]);
- EXPECT_EQ("abcd efgh ijkl", request->headers["Multi-line-header"]);
- EXPECT_EQ("10", request->headers["Content-Length"]);
- }
-
- // No other request available yet since we do not support multiple requests
- // per connection.
- EXPECT_EQ(HttpRequestParser::WAITING, parser.ParseRequest());
-}
-
-TEST(HttpRequestTest, ParseRequestWithEmptyBody) {
- HttpRequestParser parser;
-
- parser.ProcessChunk("POST /foobar.html HTTP/1.1\r\n");
- parser.ProcessChunk("Content-Length: 0\r\n\r\n");
- ASSERT_EQ(HttpRequestParser::ACCEPTED, parser.ParseRequest());
-
- scoped_ptr<HttpRequest> request = parser.GetRequest();
- EXPECT_EQ("", request->content);
- EXPECT_TRUE(request->has_content);
- EXPECT_EQ(1u, request->headers.count("Content-Length"));
- EXPECT_EQ("0", request->headers["Content-Length"]);
-}
-
-TEST(HttpRequestTest, ParseRequestWithChunkedBody) {
- HttpRequestParser parser;
-
- parser.ProcessChunk("POST /foobar.html HTTP/1.1\r\n");
- parser.ProcessChunk("Transfer-Encoding: chunked\r\n\r\n");
- parser.ProcessChunk("5\r\nhello\r\n");
- parser.ProcessChunk("1\r\n \r\n");
- parser.ProcessChunk("5\r\nworld\r\n");
- parser.ProcessChunk("0\r\n\r\n");
- ASSERT_EQ(HttpRequestParser::ACCEPTED, parser.ParseRequest());
-
- scoped_ptr<HttpRequest> request = parser.GetRequest();
- EXPECT_EQ("hello world", request->content);
- EXPECT_TRUE(request->has_content);
- EXPECT_EQ(1u, request->headers.count("Transfer-Encoding"));
- EXPECT_EQ("chunked", request->headers["Transfer-Encoding"]);
-}
-
-TEST(HttpRequestTest, ParseRequestWithChunkedBodySlow) {
- HttpRequestParser parser;
-
- parser.ProcessChunk("POST /foobar.html HTTP/1.1\r\n");
- parser.ProcessChunk("Transfer-Encoding: chunked\r\n\r\n");
- std::string chunked_body = "5\r\nhello\r\n0\r\n\r\n";
-
- // Send one character at a time, and make the parser parse the request.
- for (size_t i = 0; i < chunked_body.size(); i++) {
- parser.ProcessChunk(chunked_body.substr(i, 1));
- // Except for the last pass, ParseRequest() should give WAITING.
- if (i != chunked_body.size() - 1) {
- ASSERT_EQ(HttpRequestParser::WAITING, parser.ParseRequest());
- }
- }
- // All chunked data has been sent, the last ParseRequest should give ACCEPTED.
- ASSERT_EQ(HttpRequestParser::ACCEPTED, parser.ParseRequest());
- scoped_ptr<HttpRequest> request = parser.GetRequest();
- EXPECT_EQ("hello", request->content);
- EXPECT_TRUE(request->has_content);
- EXPECT_EQ(1u, request->headers.count("Transfer-Encoding"));
- EXPECT_EQ("chunked", request->headers["Transfer-Encoding"]);
-}
-
-TEST(HttpRequestTest, ParseRequestWithoutBody) {
- HttpRequestParser parser;
-
- parser.ProcessChunk("POST /foobar.html HTTP/1.1\r\n\r\n");
- ASSERT_EQ(HttpRequestParser::ACCEPTED, parser.ParseRequest());
-
- scoped_ptr<HttpRequest> request = parser.GetRequest();
- EXPECT_EQ("", request->content);
- EXPECT_FALSE(request->has_content);
-}
-
-TEST(HttpRequestTest, ParseGet) {
- HttpRequestParser parser;
-
- parser.ProcessChunk("GET /foobar.html HTTP/1.1\r\n\r\n");
- ASSERT_EQ(HttpRequestParser::ACCEPTED, parser.ParseRequest());
-
- scoped_ptr<HttpRequest> request = parser.GetRequest();
- EXPECT_EQ("/foobar.html", request->relative_url);
- EXPECT_EQ("GET", request->method_string);
- EXPECT_EQ(METHOD_GET, request->method);
- EXPECT_EQ("", request->content);
- EXPECT_FALSE(request->has_content);
-}
-
-} // namespace test_server
-} // namespace net
« no previous file with comments | « net/test/embedded_test_server/http_request.cc ('k') | net/test/embedded_test_server/http_response.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698