Commit d2a13318 authored by shalev@chromium.org's avatar shalev@chromium.org

Regression test for lack of errors on requests with invalid ports

This cl introduces a regression test for bug 138745, in which the
ftp_protocol_handler did not correctly return errors on requests with invalid
ports.

This bug was fixed in
http://codereview.chromium.org/10834053/

BUG=http://code.google.com/p/chromium/issues/detail?id=138735


Review URL: https://chromiumcodereview.appspot.com/10844004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150050 0039d316-1c4b-4281-b951-d872f2087c98
parent 804f709f
...@@ -52,6 +52,7 @@ ...@@ -52,6 +52,7 @@
#include "net/proxy/proxy_service.h" #include "net/proxy/proxy_service.h"
#include "net/socket/ssl_client_socket.h" #include "net/socket/ssl_client_socket.h"
#include "net/test/test_server.h" #include "net/test/test_server.h"
#include "net/url_request/ftp_protocol_handler.h"
#include "net/url_request/url_request.h" #include "net/url_request/url_request.h"
#include "net/url_request/url_request_file_dir_job.h" #include "net/url_request/url_request_file_dir_job.h"
#include "net/url_request/url_request_http_job.h" #include "net/url_request/url_request_http_job.h"
...@@ -4112,6 +4113,38 @@ class URLRequestTestFTP : public URLRequestTest { ...@@ -4112,6 +4113,38 @@ class URLRequestTestFTP : public URLRequestTest {
TestServer test_server_; TestServer test_server_;
}; };
// Make sure an FTP request using an unsafe ports fails.
TEST_F(URLRequestTestFTP, UnsafePort) {
ASSERT_TRUE(test_server_.Start());
URLRequestJobFactory job_factory;
GURL url("ftp://127.0.0.1:7");
FtpProtocolHandler ftp_protocol_handler(
default_context_.network_delegate(),
default_context_.ftp_transaction_factory(),
default_context_.ftp_auth_cache());
job_factory.SetProtocolHandler(
"ftp",
new FtpProtocolHandler(default_context_.network_delegate(),
default_context_.ftp_transaction_factory(),
default_context_.ftp_auth_cache()));
default_context_.set_job_factory(&job_factory);
TestDelegate d;
{
URLRequest r(url, &d, &default_context_);
r.Start();
EXPECT_TRUE(r.is_pending());
MessageLoop::current()->Run();
EXPECT_FALSE(r.is_pending());
EXPECT_EQ(URLRequestStatus::FAILED, r.status().status());
EXPECT_EQ(ERR_UNSAFE_PORT, r.status().error());
}
}
// Flaky, see http://crbug.com/25045. // Flaky, see http://crbug.com/25045.
TEST_F(URLRequestTestFTP, DISABLED_FTPDirectoryListing) { TEST_F(URLRequestTestFTP, DISABLED_FTPDirectoryListing) {
ASSERT_TRUE(test_server_.Start()); ASSERT_TRUE(test_server_.Start());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment