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

Unified Diff: net/proxy/proxy_script_fetcher_impl_unittest.cc

Issue 10068021: Fix file access on Chrome for ChromeOS on Linux (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix net unittests Created 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/proxy/network_delegate_error_observer_unittest.cc ('k') | net/url_request/url_request.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/proxy/proxy_script_fetcher_impl_unittest.cc
diff --git a/net/proxy/proxy_script_fetcher_impl_unittest.cc b/net/proxy/proxy_script_fetcher_impl_unittest.cc
index 8881161ab5873c95c38091c7e3dd357fe00be18c..45fcc075c148b73e18f36bc1dc1f1c7c93d8a692 100644
--- a/net/proxy/proxy_script_fetcher_impl_unittest.cc
+++ b/net/proxy/proxy_script_fetcher_impl_unittest.cc
@@ -21,6 +21,7 @@
#include "net/http/http_server_properties_impl.h"
#include "net/test/test_server.h"
#include "net/url_request/url_request_context_storage.h"
+#include "net/url_request/url_request_file_job.h"
#include "net/url_request/url_request_job_factory.h"
#include "net/url_request/url_request_test_util.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -114,6 +115,80 @@ GURL GetTestFileUrl(const std::string& relpath) {
return GURL(base_url.spec() + "/" + relpath);
}
+// Really simple NetworkDelegate so we can allow local file access on ChromeOS
+// without introducing layering violations.
+class BasicNetworkDelegate : public NetworkDelegate {
+ public:
+ BasicNetworkDelegate() {}
+ virtual ~BasicNetworkDelegate() {}
+
+ private:
+ virtual int OnBeforeURLRequest(URLRequest* request,
+ const CompletionCallback& callback,
+ GURL* new_url) OVERRIDE {
+ return OK;
+ }
+
+ virtual int OnBeforeSendHeaders(URLRequest* request,
+ const CompletionCallback& callback,
+ HttpRequestHeaders* headers) OVERRIDE {
+ return OK;
+ }
+
+ virtual void OnSendHeaders(URLRequest* request,
+ const HttpRequestHeaders& headers) OVERRIDE {}
+
+ virtual int OnHeadersReceived(
+ URLRequest* request,
+ const CompletionCallback& callback,
+ HttpResponseHeaders* original_response_headers,
+ scoped_refptr<HttpResponseHeaders>* override_response_headers)
+ OVERRIDE {
+ return OK;
+ }
+
+ virtual void OnBeforeRedirect(URLRequest* request,
+ const GURL& new_location) OVERRIDE {}
+
+ virtual void OnResponseStarted(URLRequest* request) OVERRIDE {}
+
+ virtual void OnRawBytesRead(const URLRequest& request,
+ int bytes_read) OVERRIDE {}
+
+ virtual void OnCompleted(URLRequest* request, bool started) OVERRIDE {}
+
+ virtual void OnURLRequestDestroyed(URLRequest* request) OVERRIDE {}
+
+ virtual void OnPACScriptError(int line_number,
+ const string16& error) OVERRIDE {}
+
+ virtual NetworkDelegate::AuthRequiredResponse OnAuthRequired(
+ URLRequest* request,
+ const AuthChallengeInfo& auth_info,
+ const AuthCallback& callback,
+ AuthCredentials* credentials) OVERRIDE {
+ return NetworkDelegate::AUTH_REQUIRED_RESPONSE_NO_ACTION;
+ }
+
+ virtual bool OnCanGetCookies(const URLRequest& request,
+ const CookieList& cookie_list) OVERRIDE {
+ return true;
+ }
+
+ virtual bool OnCanSetCookie(const URLRequest& request,
+ const std::string& cookie_line,
+ CookieOptions* options) OVERRIDE {
+ return true;
+ }
+
+ virtual bool OnCanAccessFile(const net::URLRequest& request,
+ const FilePath& path) const OVERRIDE {
+ return true;
+ }
+
+ DISALLOW_COPY_AND_ASSIGN(BasicNetworkDelegate);
+};
+
} // namespace
class ProxyScriptFetcherImplTest : public PlatformTest {
@@ -124,17 +199,20 @@ class ProxyScriptFetcherImplTest : public PlatformTest {
FilePath(kDocRoot)) {
}
- static void SetUpTestCase() {
- URLRequest::AllowFileAccess();
+ // testing::Test overrides
+ virtual void SetUp() OVERRIDE {
+ context_ = new RequestContext;
+ context_->set_network_delegate(&network_delegate_);
}
protected:
TestServer test_server_;
+ BasicNetworkDelegate network_delegate_;
+ scoped_refptr<URLRequestContext> context_;
};
TEST_F(ProxyScriptFetcherImplTest, FileUrl) {
- scoped_refptr<URLRequestContext> context(new RequestContext);
- ProxyScriptFetcherImpl pac_fetcher(context);
+ ProxyScriptFetcherImpl pac_fetcher(context_.get());
{ // Fetch a non-existent file.
string16 text;
@@ -161,8 +239,7 @@ TEST_F(ProxyScriptFetcherImplTest, FileUrl) {
TEST_F(ProxyScriptFetcherImplTest, HttpMimeType) {
ASSERT_TRUE(test_server_.Start());
- scoped_refptr<URLRequestContext> context(new RequestContext);
- ProxyScriptFetcherImpl pac_fetcher(context);
+ ProxyScriptFetcherImpl pac_fetcher(context_.get());
{ // Fetch a PAC with mime type "text/plain"
GURL url(test_server_.GetURL("files/pac.txt"));
@@ -196,8 +273,7 @@ TEST_F(ProxyScriptFetcherImplTest, HttpMimeType) {
TEST_F(ProxyScriptFetcherImplTest, HttpStatusCode) {
ASSERT_TRUE(test_server_.Start());
- scoped_refptr<URLRequestContext> context(new RequestContext);
- ProxyScriptFetcherImpl pac_fetcher(context);
+ ProxyScriptFetcherImpl pac_fetcher(context_.get());
{ // Fetch a PAC which gives a 500 -- FAIL
GURL url(test_server_.GetURL("files/500.pac"));
@@ -222,8 +298,7 @@ TEST_F(ProxyScriptFetcherImplTest, HttpStatusCode) {
TEST_F(ProxyScriptFetcherImplTest, ContentDisposition) {
ASSERT_TRUE(test_server_.Start());
- scoped_refptr<URLRequestContext> context(new RequestContext);
- ProxyScriptFetcherImpl pac_fetcher(context);
+ ProxyScriptFetcherImpl pac_fetcher(context_.get());
// Fetch PAC scripts via HTTP with a Content-Disposition header -- should
// have no effect.
@@ -239,8 +314,7 @@ TEST_F(ProxyScriptFetcherImplTest, ContentDisposition) {
TEST_F(ProxyScriptFetcherImplTest, NoCache) {
ASSERT_TRUE(test_server_.Start());
- scoped_refptr<URLRequestContext> context(new RequestContext);
- ProxyScriptFetcherImpl pac_fetcher(context);
+ ProxyScriptFetcherImpl pac_fetcher(context_.get());
// Fetch a PAC script whose HTTP headers make it cacheable for 1 hour.
GURL url(test_server_.GetURL("files/cacheable_1hr.pac"));
@@ -271,8 +345,7 @@ TEST_F(ProxyScriptFetcherImplTest, NoCache) {
TEST_F(ProxyScriptFetcherImplTest, TooLarge) {
ASSERT_TRUE(test_server_.Start());
- scoped_refptr<URLRequestContext> context(new RequestContext);
- ProxyScriptFetcherImpl pac_fetcher(context);
+ ProxyScriptFetcherImpl pac_fetcher(context_.get());
// Set the maximum response size to 50 bytes.
int prev_size = pac_fetcher.SetSizeConstraint(50);
@@ -312,8 +385,7 @@ TEST_F(ProxyScriptFetcherImplTest, TooLarge) {
TEST_F(ProxyScriptFetcherImplTest, Hang) {
ASSERT_TRUE(test_server_.Start());
- scoped_refptr<URLRequestContext> context(new RequestContext);
- ProxyScriptFetcherImpl pac_fetcher(context);
+ ProxyScriptFetcherImpl pac_fetcher(context_.get());
// Set the timeout period to 0.5 seconds.
base::TimeDelta prev_timeout = pac_fetcher.SetTimeoutConstraint(
@@ -350,8 +422,7 @@ TEST_F(ProxyScriptFetcherImplTest, Hang) {
TEST_F(ProxyScriptFetcherImplTest, Encodings) {
ASSERT_TRUE(test_server_.Start());
- scoped_refptr<URLRequestContext> context(new RequestContext);
- ProxyScriptFetcherImpl pac_fetcher(context);
+ ProxyScriptFetcherImpl pac_fetcher(context_.get());
// Test a response that is gzip-encoded -- should get inflated.
{
@@ -378,8 +449,7 @@ TEST_F(ProxyScriptFetcherImplTest, Encodings) {
}
TEST_F(ProxyScriptFetcherImplTest, DataURLs) {
- scoped_refptr<URLRequestContext> context(new RequestContext);
- ProxyScriptFetcherImpl pac_fetcher(context);
+ ProxyScriptFetcherImpl pac_fetcher(context_.get());
const char kEncodedUrl[] =
"data:application/x-ns-proxy-autoconfig;base64,ZnVuY3Rpb24gRmluZFByb3h5R"
« no previous file with comments | « net/proxy/network_delegate_error_observer_unittest.cc ('k') | net/url_request/url_request.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698