OLD | NEW |
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 "build/build_config.h" | 5 #include "build/build_config.h" |
6 | 6 |
7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
8 #include <windows.h> | 8 #include <windows.h> |
9 #include <shlobj.h> | 9 #include <shlobj.h> |
10 #endif | 10 #endif |
(...skipping 4454 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4465 path = path.Append(FILE_PATH_LITERAL("net")); | 4465 path = path.Append(FILE_PATH_LITERAL("net")); |
4466 path = path.Append(FILE_PATH_LITERAL("data")); | 4466 path = path.Append(FILE_PATH_LITERAL("data")); |
4467 path = path.Append(FILE_PATH_LITERAL("url_request_unittest")); | 4467 path = path.Append(FILE_PATH_LITERAL("url_request_unittest")); |
4468 path = path.Append(FILE_PATH_LITERAL("with-headers.html")); | 4468 path = path.Append(FILE_PATH_LITERAL("with-headers.html")); |
4469 element_readers.push_back( | 4469 element_readers.push_back( |
4470 new UploadFileElementReader(base::MessageLoopProxy::current().get(), | 4470 new UploadFileElementReader(base::MessageLoopProxy::current().get(), |
4471 path, | 4471 path, |
4472 0, | 4472 0, |
4473 kuint64max, | 4473 kuint64max, |
4474 base::Time())); | 4474 base::Time())); |
4475 | |
4476 // This file should just be ignored in the upload stream. | |
4477 element_readers.push_back(new UploadFileElementReader( | |
4478 base::MessageLoopProxy::current().get(), | |
4479 base::FilePath(FILE_PATH_LITERAL( | |
4480 "c:\\path\\to\\non\\existant\\file.randomness.12345")), | |
4481 0, | |
4482 kuint64max, | |
4483 base::Time())); | |
4484 r.set_upload(make_scoped_ptr( | 4475 r.set_upload(make_scoped_ptr( |
4485 new UploadDataStream(element_readers.Pass(), 0))); | 4476 new UploadDataStream(element_readers.Pass(), 0))); |
4486 | 4477 |
4487 r.Start(); | 4478 r.Start(); |
4488 EXPECT_TRUE(r.is_pending()); | 4479 EXPECT_TRUE(r.is_pending()); |
4489 | 4480 |
4490 base::RunLoop().Run(); | 4481 base::RunLoop().Run(); |
4491 | 4482 |
4492 int64 size = 0; | 4483 int64 size = 0; |
4493 ASSERT_EQ(true, file_util::GetFileSize(path, &size)); | 4484 ASSERT_EQ(true, file_util::GetFileSize(path, &size)); |
4494 scoped_ptr<char[]> buf(new char[size]); | 4485 scoped_ptr<char[]> buf(new char[size]); |
4495 | 4486 |
4496 ASSERT_EQ(size, file_util::ReadFile(path, buf.get(), size)); | 4487 ASSERT_EQ(size, file_util::ReadFile(path, buf.get(), size)); |
4497 | 4488 |
4498 ASSERT_EQ(1, d.response_started_count()) | 4489 ASSERT_EQ(1, d.response_started_count()) |
4499 << "request failed: " << r.status().status() | 4490 << "request failed: " << r.status().status() |
4500 << ", error: " << r.status().error(); | 4491 << ", error: " << r.status().error(); |
4501 | 4492 |
4502 EXPECT_FALSE(d.received_data_before_response()); | 4493 EXPECT_FALSE(d.received_data_before_response()); |
4503 | 4494 |
4504 EXPECT_EQ(size, d.bytes_received()); | 4495 EXPECT_EQ(size, d.bytes_received()); |
4505 EXPECT_EQ(std::string(&buf[0], size), d.data_received()); | 4496 EXPECT_EQ(std::string(&buf[0], size), d.data_received()); |
4506 } | 4497 } |
4507 } | 4498 } |
4508 | 4499 |
| 4500 TEST_F(URLRequestTestHTTP, PostUnreadableFileTest) { |
| 4501 ASSERT_TRUE(test_server_.Start()); |
| 4502 |
| 4503 TestDelegate d; |
| 4504 { |
| 4505 URLRequest r(test_server_.GetURL("echo"), &d, &default_context_); |
| 4506 r.set_method("POST"); |
| 4507 |
| 4508 base::FilePath dir; |
| 4509 PathService::Get(base::DIR_EXE, &dir); |
| 4510 file_util::SetCurrentDirectory(dir); |
| 4511 |
| 4512 ScopedVector<UploadElementReader> element_readers; |
| 4513 |
| 4514 element_readers.push_back(new UploadFileElementReader( |
| 4515 base::MessageLoopProxy::current().get(), |
| 4516 base::FilePath(FILE_PATH_LITERAL( |
| 4517 "c:\\path\\to\\non\\existant\\file.randomness.12345")), |
| 4518 0, |
| 4519 kuint64max, |
| 4520 base::Time())); |
| 4521 r.set_upload(make_scoped_ptr( |
| 4522 new UploadDataStream(element_readers.Pass(), 0))); |
| 4523 |
| 4524 r.Start(); |
| 4525 EXPECT_TRUE(r.is_pending()); |
| 4526 |
| 4527 base::RunLoop().Run(); |
| 4528 |
| 4529 EXPECT_TRUE(d.request_failed()); |
| 4530 EXPECT_FALSE(d.received_data_before_response()); |
| 4531 EXPECT_EQ(0, d.bytes_received()); |
| 4532 EXPECT_EQ(URLRequestStatus::FAILED, r.status().status()); |
| 4533 EXPECT_EQ(ERR_FILE_NOT_FOUND, r.status().error()); |
| 4534 } |
| 4535 } |
| 4536 |
4509 TEST_F(URLRequestTestHTTP, TestPostChunkedDataBeforeStart) { | 4537 TEST_F(URLRequestTestHTTP, TestPostChunkedDataBeforeStart) { |
4510 ASSERT_TRUE(test_server_.Start()); | 4538 ASSERT_TRUE(test_server_.Start()); |
4511 | 4539 |
4512 TestDelegate d; | 4540 TestDelegate d; |
4513 { | 4541 { |
4514 URLRequest r(test_server_.GetURL("echo"), &d, &default_context_); | 4542 URLRequest r(test_server_.GetURL("echo"), &d, &default_context_); |
4515 r.EnableChunkedUpload(); | 4543 r.EnableChunkedUpload(); |
4516 r.set_method("POST"); | 4544 r.set_method("POST"); |
4517 AddChunksToUpload(&r); | 4545 AddChunksToUpload(&r); |
4518 r.Start(); | 4546 r.Start(); |
(...skipping 2447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6966 | 6994 |
6967 EXPECT_FALSE(r.is_pending()); | 6995 EXPECT_FALSE(r.is_pending()); |
6968 EXPECT_EQ(1, d->response_started_count()); | 6996 EXPECT_EQ(1, d->response_started_count()); |
6969 EXPECT_FALSE(d->received_data_before_response()); | 6997 EXPECT_FALSE(d->received_data_before_response()); |
6970 EXPECT_EQ(d->bytes_received(), static_cast<int>(file_size)); | 6998 EXPECT_EQ(d->bytes_received(), static_cast<int>(file_size)); |
6971 } | 6999 } |
6972 } | 7000 } |
6973 #endif // !defined(DISABLE_FTP_SUPPORT) | 7001 #endif // !defined(DISABLE_FTP_SUPPORT) |
6974 | 7002 |
6975 } // namespace net | 7003 } // namespace net |
OLD | NEW |