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

Unified Diff: chrome/browser/google_apis/test_server/http_server_unittest.cc

Issue 11419283: google_apis: Remove some functions from test_server::HttpServer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address comments Created 8 years 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
Index: chrome/browser/google_apis/test_server/http_server_unittest.cc
diff --git a/chrome/browser/google_apis/test_server/http_server_unittest.cc b/chrome/browser/google_apis/test_server/http_server_unittest.cc
index 946de76bd559f4bb4436f8bcfbd689d3089a65d5..f29ada0460988b9e27030a88edacf88243e29e86 100644
--- a/chrome/browser/google_apis/test_server/http_server_unittest.cc
+++ b/chrome/browser/google_apis/test_server/http_server_unittest.cc
@@ -79,16 +79,25 @@ class HttpServerTest : public testing::Test,
message_loop_.Run(); // Will be terminated in OnURLFetchComplete().
}
- // Handles the request and returns a simple text content. Saves the
- // request URL for verification.
- scoped_ptr<HttpResponse> HandleRequest(const HttpRequest& request) {
+ // Handles |request| sent to |path| and returns the response per |content|,
+ // |content type|, and |code|. Saves the request URL for verification.
+ scoped_ptr<HttpResponse> HandleRequest(const std::string& path,
+ const std::string& content,
+ const std::string& content_type,
+ ResponseCode code,
+ const HttpRequest& request) {
request_relative_url_ = request.relative_url;
- scoped_ptr<HttpResponse> http_response(new HttpResponse);
- http_response->set_code(SUCCESS);
- http_response->set_content("<b>Worked!</b>");
- http_response->set_content_type("text/html");
- return http_response.Pass();
+ GURL absolute_url = server_.GetURL(request.relative_url);
+ if (absolute_url.path() == path) {
+ scoped_ptr<HttpResponse> http_response(new HttpResponse);
+ http_response->set_code(code);
+ http_response->set_content(content);
+ http_response->set_content_type(content_type);
+ return http_response.Pass();
+ }
+
+ return scoped_ptr<HttpResponse>();
}
protected:
@@ -115,7 +124,11 @@ TEST_F(HttpServerTest, GetURL) {
TEST_F(HttpServerTest, RegisterRequestHandler) {
server_.RegisterRequestHandler(base::Bind(&HttpServerTest::HandleRequest,
- base::Unretained(this)));
+ base::Unretained(this),
+ "/test",
+ "<b>Worked!</b>",
+ "text/html",
+ SUCCESS));
scoped_ptr<net::URLFetcher> fetcher(
net::URLFetcher::Create(server_.GetURL("/test?q=foo"),
@@ -133,82 +146,6 @@ TEST_F(HttpServerTest, RegisterRequestHandler) {
EXPECT_EQ("/test?q=foo", request_relative_url_);
}
-TEST_F(HttpServerTest, RegisterDefaultResponse) {
- HttpResponse http_response;
- // MOVED is chosen here, as it's rather an unusual code.
- http_response.set_code(MOVED);
- http_response.set_content("<b>Moved!</b>");
- http_response.set_content_type("text/html");
- http_response.AddCustomHeader("Server", "test server");
- server_.RegisterDefaultResponse("/test", http_response);
-
- scoped_ptr<net::URLFetcher> fetcher(
- net::URLFetcher::Create(server_.GetURL("/test"),
- net::URLFetcher::GET,
- this));
- fetcher->SetRequestContext(request_context_getter_.get());
- fetcher->Start();
- WaitForResponses(1);
-
- EXPECT_EQ(net::URLRequestStatus::SUCCESS, fetcher->GetStatus().status());
- EXPECT_EQ(MOVED, fetcher->GetResponseCode());
- EXPECT_EQ("<b>Moved!</b>", GetContentFromFetcher(*fetcher));
- EXPECT_EQ("text/html", GetContentTypeFromFetcher(*fetcher));
- const net::HttpResponseHeaders* headers = fetcher->GetResponseHeaders();
- ASSERT_TRUE(headers);
- ASSERT_TRUE(headers->HasHeaderValue("Server", "test server"));
-}
-
-TEST_F(HttpServerTest, RegisterTextResponse) {
- server_.RegisterTextResponse("/test",
- "Raspberry chocolate",
- "text/plain",
- SUCCESS);
-
- scoped_ptr<net::URLFetcher> fetcher(
- net::URLFetcher::Create(server_.GetURL("/test"),
- net::URLFetcher::GET,
- this));
- fetcher->SetRequestContext(request_context_getter_.get());
- fetcher->Start();
- WaitForResponses(1);
-
- EXPECT_EQ(net::URLRequestStatus::SUCCESS, fetcher->GetStatus().status());
- EXPECT_EQ(SUCCESS, fetcher->GetResponseCode());
- EXPECT_EQ("Raspberry chocolate", GetContentFromFetcher(*fetcher));
- EXPECT_EQ("text/plain", GetContentTypeFromFetcher(*fetcher));
-}
-
-// Test files cannot be opened on Android.
-#if !defined(OS_ANDROID)
-
-TEST_F(HttpServerTest, RegisterFileResponse) {
- server_.RegisterFileResponse(
- "/test",
- test_util::GetTestFilePath("gdata/testfile.txt"),
- "text/plain",
- SUCCESS);
-
- scoped_ptr<net::URLFetcher> fetcher(
- net::URLFetcher::Create(server_.GetURL("/test"),
- net::URLFetcher::GET,
- this));
- fetcher->SetRequestContext(request_context_getter_.get());
- fetcher->Start();
- WaitForResponses(1);
-
- EXPECT_EQ(net::URLRequestStatus::SUCCESS, fetcher->GetStatus().status());
- EXPECT_EQ(SUCCESS, fetcher->GetResponseCode());
- // Trim the trailing whitespace as it can be CRLF on Windows...
- const std::string content = GetContentFromFetcher(*fetcher);
- std::string trimmed;
- TrimWhitespaceASCII(content, TRIM_TRAILING, &trimmed);
- EXPECT_EQ("test file", trimmed);
- EXPECT_EQ("text/plain", GetContentTypeFromFetcher(*fetcher));
-}
-
-#endif // !defined(OS_ANDROID)
-
TEST_F(HttpServerTest, DefaultNotFoundResponse) {
scoped_ptr<net::URLFetcher> fetcher(
net::URLFetcher::Create(server_.GetURL("/non-existent"),
@@ -223,18 +160,27 @@ TEST_F(HttpServerTest, DefaultNotFoundResponse) {
}
TEST_F(HttpServerTest, ConcurrentFetches) {
- server_.RegisterTextResponse("/test1",
- "Raspberry chocolate",
- "text/html",
- SUCCESS);
- server_.RegisterTextResponse("/test2",
- "Vanilla chocolate",
- "text/html",
- SUCCESS);
- server_.RegisterTextResponse("/test3",
- "No chocolates",
- "text/plain",
- NOT_FOUND);
+ server_.RegisterRequestHandler(
+ base::Bind(&HttpServerTest::HandleRequest,
+ base::Unretained(this),
+ "/test1",
+ "Raspberry chocolate",
+ "text/html",
+ SUCCESS));
+ server_.RegisterRequestHandler(
+ base::Bind(&HttpServerTest::HandleRequest,
+ base::Unretained(this),
+ "/test2",
+ "Vanilla chocolate",
+ "text/html",
+ SUCCESS));
+ server_.RegisterRequestHandler(
+ base::Bind(&HttpServerTest::HandleRequest,
+ base::Unretained(this),
+ "/test3",
+ "No chocolates",
+ "text/plain",
+ NOT_FOUND));
scoped_ptr<net::URLFetcher> fetcher1 = scoped_ptr<net::URLFetcher>(
net::URLFetcher::Create(server_.GetURL("/test1"),

Powered by Google App Engine
This is Rietveld 408576698