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

Side by Side Diff: net/test/embedded_test_server/embedded_test_server_unittest.cc

Issue 1117703002: Adjust URLFetcher::Create API so that object is returned as scoped_ptr. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove unneeded Pass() calls Created 5 years, 7 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 unified diff | Download patch
« no previous file with comments | « net/server/http_server_unittest.cc ('k') | net/tools/get_server_time/get_server_time.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/test/embedded_test_server/embedded_test_server.h" 5 #include "net/test/embedded_test_server/embedded_test_server.h"
6 6
7 #include "base/path_service.h" 7 #include "base/path_service.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "base/threading/thread.h" 9 #include "base/threading/thread.h"
10 #include "net/http/http_response_headers.h" 10 #include "net/http/http_response_headers.h"
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 130
131 TEST_F(EmbeddedTestServerTest, RegisterRequestHandler) { 131 TEST_F(EmbeddedTestServerTest, RegisterRequestHandler) {
132 server_->RegisterRequestHandler( 132 server_->RegisterRequestHandler(
133 base::Bind(&EmbeddedTestServerTest::HandleRequest, 133 base::Bind(&EmbeddedTestServerTest::HandleRequest,
134 base::Unretained(this), 134 base::Unretained(this),
135 "/test", 135 "/test",
136 "<b>Worked!</b>", 136 "<b>Worked!</b>",
137 "text/html", 137 "text/html",
138 HTTP_OK)); 138 HTTP_OK));
139 139
140 scoped_ptr<URLFetcher> fetcher( 140 scoped_ptr<URLFetcher> fetcher =
141 URLFetcher::Create(server_->GetURL("/test?q=foo"), 141 URLFetcher::Create(server_->GetURL("/test?q=foo"), URLFetcher::GET, this);
142 URLFetcher::GET,
143 this));
144 fetcher->SetRequestContext(request_context_getter_.get()); 142 fetcher->SetRequestContext(request_context_getter_.get());
145 fetcher->Start(); 143 fetcher->Start();
146 WaitForResponses(1); 144 WaitForResponses(1);
147 145
148 EXPECT_EQ(URLRequestStatus::SUCCESS, fetcher->GetStatus().status()); 146 EXPECT_EQ(URLRequestStatus::SUCCESS, fetcher->GetStatus().status());
149 EXPECT_EQ(HTTP_OK, fetcher->GetResponseCode()); 147 EXPECT_EQ(HTTP_OK, fetcher->GetResponseCode());
150 EXPECT_EQ("<b>Worked!</b>", GetContentFromFetcher(*fetcher)); 148 EXPECT_EQ("<b>Worked!</b>", GetContentFromFetcher(*fetcher));
151 EXPECT_EQ("text/html", GetContentTypeFromFetcher(*fetcher)); 149 EXPECT_EQ("text/html", GetContentTypeFromFetcher(*fetcher));
152 150
153 EXPECT_EQ("/test?q=foo", request_relative_url_); 151 EXPECT_EQ("/test?q=foo", request_relative_url_);
154 } 152 }
155 153
156 TEST_F(EmbeddedTestServerTest, ServeFilesFromDirectory) { 154 TEST_F(EmbeddedTestServerTest, ServeFilesFromDirectory) {
157 base::FilePath src_dir; 155 base::FilePath src_dir;
158 ASSERT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &src_dir)); 156 ASSERT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &src_dir));
159 server_->ServeFilesFromDirectory( 157 server_->ServeFilesFromDirectory(
160 src_dir.AppendASCII("net").AppendASCII("data")); 158 src_dir.AppendASCII("net").AppendASCII("data"));
161 159
162 scoped_ptr<URLFetcher> fetcher( 160 scoped_ptr<URLFetcher> fetcher =
163 URLFetcher::Create(server_->GetURL("/test.html"), 161 URLFetcher::Create(server_->GetURL("/test.html"), URLFetcher::GET, this);
164 URLFetcher::GET,
165 this));
166 fetcher->SetRequestContext(request_context_getter_.get()); 162 fetcher->SetRequestContext(request_context_getter_.get());
167 fetcher->Start(); 163 fetcher->Start();
168 WaitForResponses(1); 164 WaitForResponses(1);
169 165
170 EXPECT_EQ(URLRequestStatus::SUCCESS, fetcher->GetStatus().status()); 166 EXPECT_EQ(URLRequestStatus::SUCCESS, fetcher->GetStatus().status());
171 EXPECT_EQ(HTTP_OK, fetcher->GetResponseCode()); 167 EXPECT_EQ(HTTP_OK, fetcher->GetResponseCode());
172 EXPECT_EQ("<p>Hello World!</p>", GetContentFromFetcher(*fetcher)); 168 EXPECT_EQ("<p>Hello World!</p>", GetContentFromFetcher(*fetcher));
173 EXPECT_EQ("", GetContentTypeFromFetcher(*fetcher)); 169 EXPECT_EQ("", GetContentTypeFromFetcher(*fetcher));
174 } 170 }
175 171
176 TEST_F(EmbeddedTestServerTest, DefaultNotFoundResponse) { 172 TEST_F(EmbeddedTestServerTest, DefaultNotFoundResponse) {
177 scoped_ptr<URLFetcher> fetcher( 173 scoped_ptr<URLFetcher> fetcher = URLFetcher::Create(
178 URLFetcher::Create(server_->GetURL("/non-existent"), 174 server_->GetURL("/non-existent"), URLFetcher::GET, this);
179 URLFetcher::GET,
180 this));
181 fetcher->SetRequestContext(request_context_getter_.get()); 175 fetcher->SetRequestContext(request_context_getter_.get());
182 176
183 fetcher->Start(); 177 fetcher->Start();
184 WaitForResponses(1); 178 WaitForResponses(1);
185 EXPECT_EQ(URLRequestStatus::SUCCESS, fetcher->GetStatus().status()); 179 EXPECT_EQ(URLRequestStatus::SUCCESS, fetcher->GetStatus().status());
186 EXPECT_EQ(HTTP_NOT_FOUND, fetcher->GetResponseCode()); 180 EXPECT_EQ(HTTP_NOT_FOUND, fetcher->GetResponseCode());
187 } 181 }
188 182
189 TEST_F(EmbeddedTestServerTest, ConcurrentFetches) { 183 TEST_F(EmbeddedTestServerTest, ConcurrentFetches) {
190 server_->RegisterRequestHandler( 184 server_->RegisterRequestHandler(
(...skipping 11 matching lines...) Expand all
202 "text/html", 196 "text/html",
203 HTTP_OK)); 197 HTTP_OK));
204 server_->RegisterRequestHandler( 198 server_->RegisterRequestHandler(
205 base::Bind(&EmbeddedTestServerTest::HandleRequest, 199 base::Bind(&EmbeddedTestServerTest::HandleRequest,
206 base::Unretained(this), 200 base::Unretained(this),
207 "/test3", 201 "/test3",
208 "No chocolates", 202 "No chocolates",
209 "text/plain", 203 "text/plain",
210 HTTP_NOT_FOUND)); 204 HTTP_NOT_FOUND));
211 205
212 scoped_ptr<URLFetcher> fetcher1 = scoped_ptr<URLFetcher>( 206 scoped_ptr<URLFetcher> fetcher1 =
213 URLFetcher::Create(server_->GetURL("/test1"), 207 URLFetcher::Create(server_->GetURL("/test1"), URLFetcher::GET, this);
214 URLFetcher::GET,
215 this));
216 fetcher1->SetRequestContext(request_context_getter_.get()); 208 fetcher1->SetRequestContext(request_context_getter_.get());
217 scoped_ptr<URLFetcher> fetcher2 = scoped_ptr<URLFetcher>( 209 scoped_ptr<URLFetcher> fetcher2 =
218 URLFetcher::Create(server_->GetURL("/test2"), 210 URLFetcher::Create(server_->GetURL("/test2"), URLFetcher::GET, this);
219 URLFetcher::GET,
220 this));
221 fetcher2->SetRequestContext(request_context_getter_.get()); 211 fetcher2->SetRequestContext(request_context_getter_.get());
222 scoped_ptr<URLFetcher> fetcher3 = scoped_ptr<URLFetcher>( 212 scoped_ptr<URLFetcher> fetcher3 =
223 URLFetcher::Create(server_->GetURL("/test3"), 213 URLFetcher::Create(server_->GetURL("/test3"), URLFetcher::GET, this);
224 URLFetcher::GET,
225 this));
226 fetcher3->SetRequestContext(request_context_getter_.get()); 214 fetcher3->SetRequestContext(request_context_getter_.get());
227 215
228 // Fetch the three URLs concurrently. 216 // Fetch the three URLs concurrently.
229 fetcher1->Start(); 217 fetcher1->Start();
230 fetcher2->Start(); 218 fetcher2->Start();
231 fetcher3->Start(); 219 fetcher3->Start();
232 WaitForResponses(3); 220 WaitForResponses(3);
233 221
234 EXPECT_EQ(URLRequestStatus::SUCCESS, fetcher1->GetStatus().status()); 222 EXPECT_EQ(URLRequestStatus::SUCCESS, fetcher1->GetStatus().status());
235 EXPECT_EQ(HTTP_OK, fetcher1->GetResponseCode()); 223 EXPECT_EQ(HTTP_OK, fetcher1->GetResponseCode());
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 // Create the test server instance. 270 // Create the test server instance.
283 EmbeddedTestServer server; 271 EmbeddedTestServer server;
284 base::FilePath src_dir; 272 base::FilePath src_dir;
285 ASSERT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &src_dir)); 273 ASSERT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &src_dir));
286 ASSERT_TRUE(server.InitializeAndWaitUntilReady()); 274 ASSERT_TRUE(server.InitializeAndWaitUntilReady());
287 275
288 // Make a request and wait for the reply. 276 // Make a request and wait for the reply.
289 if (!loop) 277 if (!loop)
290 loop.reset(new base::MessageLoopForIO); 278 loop.reset(new base::MessageLoopForIO);
291 279
292 scoped_ptr<URLFetcher> fetcher(URLFetcher::Create( 280 scoped_ptr<URLFetcher> fetcher =
293 server.GetURL("/test?q=foo"), URLFetcher::GET, this)); 281 URLFetcher::Create(server.GetURL("/test?q=foo"), URLFetcher::GET, this);
294 fetcher->SetRequestContext( 282 fetcher->SetRequestContext(
295 new TestURLRequestContextGetter(loop->message_loop_proxy())); 283 new TestURLRequestContextGetter(loop->message_loop_proxy()));
296 fetcher->Start(); 284 fetcher->Start();
297 loop->Run(); 285 loop->Run();
298 fetcher.reset(); 286 fetcher.reset();
299 287
300 // Shut down. 288 // Shut down.
301 if (message_loop_present_on_shutdown_) 289 if (message_loop_present_on_shutdown_)
302 loop.reset(); 290 loop.reset();
303 291
(...skipping 23 matching lines...) Expand all
327 ASSERT_TRUE(base::PlatformThread::Create(0, &delegate, &thread_handle)); 315 ASSERT_TRUE(base::PlatformThread::Create(0, &delegate, &thread_handle));
328 base::PlatformThread::Join(thread_handle); 316 base::PlatformThread::Join(thread_handle);
329 } 317 }
330 318
331 INSTANTIATE_TEST_CASE_P(EmbeddedTestServerThreadingTestInstantiation, 319 INSTANTIATE_TEST_CASE_P(EmbeddedTestServerThreadingTestInstantiation,
332 EmbeddedTestServerThreadingTest, 320 EmbeddedTestServerThreadingTest,
333 testing::Combine(testing::Bool(), testing::Bool())); 321 testing::Combine(testing::Bool(), testing::Bool()));
334 322
335 } // namespace test_server 323 } // namespace test_server
336 } // namespace net 324 } // namespace net
OLDNEW
« no previous file with comments | « net/server/http_server_unittest.cc ('k') | net/tools/get_server_time/get_server_time.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698