| Index: headless/lib/headless_browser_browsertest.cc
|
| diff --git a/headless/lib/headless_browser_browsertest.cc b/headless/lib/headless_browser_browsertest.cc
|
| index ffcd39b33445ae7d95177a3695f93e65b08cabd1..93c9cbfaead7e924ec017b1db0a7464c3553aa77 100644
|
| --- a/headless/lib/headless_browser_browsertest.cc
|
| +++ b/headless/lib/headless_browser_browsertest.cc
|
| @@ -6,6 +6,7 @@
|
| #include "headless/public/headless_browser.h"
|
| #include "headless/public/headless_web_contents.h"
|
| #include "headless/test/headless_browser_test.h"
|
| +#include "net/test/spawned_test_server/spawned_test_server.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "ui/gfx/geometry/size.h"
|
|
|
| @@ -19,4 +20,42 @@ IN_PROC_BROWSER_TEST_F(HeadlessBrowserTest, CreateAndDestroyWebContents) {
|
| web_contents.reset();
|
| }
|
|
|
| +class HeadlessBrowserTestWithProxy : public HeadlessBrowserTest {
|
| + public:
|
| + HeadlessBrowserTestWithProxy()
|
| + : proxy_server_(net::SpawnedTestServer::TYPE_HTTP,
|
| + net::SpawnedTestServer::kLocalhost,
|
| + base::FilePath(FILE_PATH_LITERAL("headless/test/data"))) {
|
| + }
|
| +
|
| + void SetUp() override {
|
| + ASSERT_TRUE(proxy_server_.Start());
|
| + HeadlessBrowserTest::SetUp();
|
| + }
|
| +
|
| + void TearDown() override {
|
| + proxy_server_.Stop();
|
| + HeadlessBrowserTest::TearDown();
|
| + }
|
| +
|
| + net::SpawnedTestServer* proxy_server() { return &proxy_server_; }
|
| +
|
| + private:
|
| + net::SpawnedTestServer proxy_server_;
|
| +};
|
| +
|
| +IN_PROC_BROWSER_TEST_F(HeadlessBrowserTestWithProxy, SetProxyServer) {
|
| + HeadlessBrowser::Options::Builder builder;
|
| + builder.SetProxyServer(proxy_server()->host_port_pair());
|
| + SetBrowserOptions(builder.Build());
|
| +
|
| + scoped_ptr<HeadlessWebContents> web_contents =
|
| + browser()->CreateWebContents(gfx::Size(800, 600));
|
| +
|
| + // Load a page which doesn't actually exist, but for which the our proxy
|
| + // returns valid content anyway.
|
| + EXPECT_TRUE(NavigateAndWaitForLoad(
|
| + web_contents.get(), GURL("http://not-an-actual-domain.tld/hello.html")));
|
| +}
|
| +
|
| } // namespace headless
|
|
|