summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ssl/ssl_browser_tests.cc
diff options
context:
space:
mode:
authorphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-17 20:07:11 +0000
committerphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-17 20:07:11 +0000
commit95409e1020037b0bbfbce17f861d3de090d10186 (patch)
tree90a893af1247b1d4a3767c5ab14aae797f467946 /chrome/browser/ssl/ssl_browser_tests.cc
parent701e869b30deffda579c5c413cf1d73defee34fa (diff)
downloadchromium_src-95409e1020037b0bbfbce17f861d3de090d10186.zip
chromium_src-95409e1020037b0bbfbce17f861d3de090d10186.tar.gz
chromium_src-95409e1020037b0bbfbce17f861d3de090d10186.tar.bz2
Test server cleanup patch of death:
- reduce the number of different classes - clean up the internal code - modify the interface to expose less internal details (this will allow more flexibility with port numbers) TEST=many BUG=49680 Review URL: http://codereview.chromium.org/3080029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56405 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ssl/ssl_browser_tests.cc')
-rw-r--r--chrome/browser/ssl/ssl_browser_tests.cc349
1 files changed, 130 insertions, 219 deletions
diff --git a/chrome/browser/ssl/ssl_browser_tests.cc b/chrome/browser/ssl/ssl_browser_tests.cc
index 284d6ac..54abc50 100644
--- a/chrome/browser/ssl/ssl_browser_tests.cc
+++ b/chrome/browser/ssl/ssl_browser_tests.cc
@@ -3,6 +3,7 @@
// found in the LICENSE file.
#include "base/time.h"
+#include "chrome/app/chrome_dll_resource.h"
#include "chrome/browser/browser.h"
#include "chrome/browser/pref_service.h"
#include "chrome/browser/profile.h"
@@ -15,26 +16,20 @@
#include "net/base/cert_status_flags.h"
#include "net/test/test_server.h"
-const wchar_t kDocRoot[] = L"chrome/test/data";
+const FilePath::CharType kDocRoot[] = FILE_PATH_LITERAL("chrome/test/data");
class SSLUITest : public InProcessBrowserTest {
public:
- SSLUITest() {
+ SSLUITest()
+ : https_server_(net::TestServer::TYPE_HTTPS, FilePath(kDocRoot)),
+ https_server_expired_(net::TestServer::TYPE_HTTPS_EXPIRED_CERTIFICATE,
+ FilePath(kDocRoot)),
+ https_server_mismatched_(
+ net::TestServer::TYPE_HTTPS_MISMATCHED_HOSTNAME,
+ FilePath(kDocRoot)) {
EnableDOMAutomation();
}
- scoped_refptr<net::HTTPTestServer> PlainServer() {
- return net::HTTPTestServer::CreateServer(kDocRoot);
- }
-
- scoped_refptr<net::HTTPSTestServer> GoodCertServer() {
- return net::HTTPSTestServer::CreateGoodServer(kDocRoot);
- }
-
- scoped_refptr<net::HTTPSTestServer> BadCertServer() {
- return net::HTTPSTestServer::CreateExpiredServer(kDocRoot);
- }
-
void CheckAuthenticatedState(TabContents* tab,
bool displayed_insecure_content) {
NavigationEntry* entry = tab->controller().GetActiveEntry();
@@ -116,17 +111,20 @@ class SSLUITest : public InProcessBrowserTest {
ui_test_utils::WaitForNavigation(&(tab->controller()));
}
+ net::TestServer https_server_;
+ net::TestServer https_server_expired_;
+ net::TestServer https_server_mismatched_;
+
private:
DISALLOW_COPY_AND_ASSIGN(SSLUITest);
};
// Visits a regular page over http.
IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTP) {
- scoped_refptr<net::HTTPTestServer> server = PlainServer();
- ASSERT_TRUE(server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
ui_test_utils::NavigateToURL(browser(),
- server->TestServerPage("files/ssl/google.html"));
+ test_server()->GetURL("files/ssl/google.html"));
CheckUnauthenticatedState(browser()->GetSelectedTabContents());
}
@@ -136,35 +134,31 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTP) {
// TODO(jcampan): test that bad HTTPS content is blocked (otherwise we'll give
// the secure cookies away!).
IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTPWithBrokenHTTPSResource) {
- scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
- ASSERT_TRUE(http_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
- ASSERT_TRUE(bad_https_server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
+ ASSERT_TRUE(https_server_expired_.Start());
ui_test_utils::NavigateToURL(browser(),
- http_server->TestServerPage("files/ssl/page_with_unsafe_contents.html"));
+ test_server()->GetURL("files/ssl/page_with_unsafe_contents.html"));
CheckUnauthenticatedState(browser()->GetSelectedTabContents());
}
// Visits a page over OK https:
IN_PROC_BROWSER_TEST_F(SSLUITest, TestOKHTTPS) {
- scoped_refptr<net::HTTPSTestServer> https_server = GoodCertServer();
- ASSERT_TRUE(https_server.get() != NULL);
+ ASSERT_TRUE(https_server_.Start());
ui_test_utils::NavigateToURL(browser(),
- https_server->TestServerPage("files/ssl/google.html"));
+ https_server_.GetURL("files/ssl/google.html"));
CheckAuthenticatedState(browser()->GetSelectedTabContents(), false);
}
// Visits a page with https error and proceed:
IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTPSExpiredCertAndProceed) {
- scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
- ASSERT_TRUE(bad_https_server.get() != NULL);
+ ASSERT_TRUE(https_server_expired_.Start());
ui_test_utils::NavigateToURL(browser(),
- bad_https_server->TestServerPage("files/ssl/google.html"));
+ https_server_expired_.GetURL("files/ssl/google.html"));
TabContents* tab = browser()->GetSelectedTabContents();
CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
@@ -188,23 +182,20 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTPSExpiredCertAndProceed) {
FLAKY_TestHTTPSExpiredCertAndDontProceed
#endif
IN_PROC_BROWSER_TEST_F(SSLUITest, MAYBE_TestHTTPSExpiredCertAndDontProceed) {
- scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
- ASSERT_TRUE(http_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
- ASSERT_TRUE(good_https_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
- ASSERT_TRUE(bad_https_server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
+ ASSERT_TRUE(https_server_.Start());
+ ASSERT_TRUE(https_server_expired_.Start());
// First navigate to an OK page.
ui_test_utils::NavigateToURL(browser(),
- good_https_server->TestServerPage("files/ssl/google.html"));
+ https_server_.GetURL("files/ssl/google.html"));
TabContents* tab = browser()->GetSelectedTabContents();
NavigationEntry* entry = tab->controller().GetActiveEntry();
ASSERT_TRUE(entry);
GURL cross_site_url =
- bad_https_server->TestServerPage("files/ssl/google.html");
+ https_server_expired_.GetURL("files/ssl/google.html");
// Change the host name from 127.0.0.1 to localhost so it triggers a
// cross-site navigation so we can test http://crbug.com/5800 is gone.
ASSERT_EQ("127.0.0.1", cross_site_url.host());
@@ -230,27 +221,25 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, MAYBE_TestHTTPSExpiredCertAndDontProceed) {
// Try to navigate to a new page. (to make sure bug 5800 is fixed).
ui_test_utils::NavigateToURL(browser(),
- http_server->TestServerPage("files/ssl/google.html"));
+ test_server()->GetURL("files/ssl/google.html"));
CheckUnauthenticatedState(tab);
}
// Visits a page with https error and then goes back using Browser::GoBack.
IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTPSExpiredCertAndGoBackViaButton) {
- scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
- ASSERT_TRUE(http_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
- ASSERT_TRUE(bad_https_server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
+ ASSERT_TRUE(https_server_expired_.Start());
// First navigate to an HTTP page.
ui_test_utils::NavigateToURL(browser(),
- http_server->TestServerPage("files/ssl/google.html"));
+ test_server()->GetURL("files/ssl/google.html"));
TabContents* tab = browser()->GetSelectedTabContents();
NavigationEntry* entry = tab->controller().GetActiveEntry();
ASSERT_TRUE(entry);
// Now go to a bad HTTPS page that shows an interstitial.
ui_test_utils::NavigateToURL(browser(),
- bad_https_server->TestServerPage("files/ssl/google.html"));
+ https_server_expired_.GetURL("files/ssl/google.html"));
CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
true); // Interstitial showing
@@ -265,21 +254,19 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTPSExpiredCertAndGoBackViaButton) {
// Visits a page with https error and then goes back using GoToOffset.
// Marked as flaky, see bug 40932.
IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestHTTPSExpiredCertAndGoBackViaMenu) {
- scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
- ASSERT_TRUE(http_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
- ASSERT_TRUE(bad_https_server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
+ ASSERT_TRUE(https_server_expired_.Start());
// First navigate to an HTTP page.
ui_test_utils::NavigateToURL(browser(),
- http_server->TestServerPage("files/ssl/google.html"));
+ test_server()->GetURL("files/ssl/google.html"));
TabContents* tab = browser()->GetSelectedTabContents();
NavigationEntry* entry = tab->controller().GetActiveEntry();
ASSERT_TRUE(entry);
// Now go to a bad HTTPS page that shows an interstitial.
ui_test_utils::NavigateToURL(browser(),
- bad_https_server->TestServerPage("files/ssl/google.html"));
+ https_server_expired_.GetURL("files/ssl/google.html"));
CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
true); // Interstitial showing
@@ -294,19 +281,17 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestHTTPSExpiredCertAndGoBackViaMenu) {
// Visits a page with https error and then goes forward using GoToOffset.
// Marked as flaky, see bug 40932.
IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestHTTPSExpiredCertAndGoForward) {
- scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
- ASSERT_TRUE(http_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
- ASSERT_TRUE(bad_https_server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
+ ASSERT_TRUE(https_server_expired_.Start());
// First navigate to two HTTP pages.
ui_test_utils::NavigateToURL(browser(),
- http_server->TestServerPage("files/ssl/google.html"));
+ test_server()->GetURL("files/ssl/google.html"));
TabContents* tab = browser()->GetSelectedTabContents();
NavigationEntry* entry1 = tab->controller().GetActiveEntry();
ASSERT_TRUE(entry1);
ui_test_utils::NavigateToURL(browser(),
- http_server->TestServerPage("files/ssl/blank_page.html"));
+ test_server()->GetURL("files/ssl/blank_page.html"));
NavigationEntry* entry2 = tab->controller().GetActiveEntry();
ASSERT_TRUE(entry2);
@@ -319,7 +304,7 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestHTTPSExpiredCertAndGoForward) {
// Now go to a bad HTTPS page that shows an interstitial.
ui_test_utils::NavigateToURL(browser(),
- bad_https_server->TestServerPage("files/ssl/google.html"));
+ https_server_expired_.GetURL("files/ssl/google.html"));
CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
true); // Interstitial showing
@@ -340,42 +325,22 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestHTTPSExpiredCertAndGoForward) {
// does not cause any problems (it was causing a crasher, see
// http://crbug.com/19941).
IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTPSErrorWithNoNavEntry) {
- scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
- ASSERT_TRUE(http_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
- ASSERT_TRUE(bad_https_server.get() != NULL);
-
- // Load a page with a link that opens a new window (therefore with no history
- // and no navigation entries).
- ui_test_utils::NavigateToURL(browser(),
- http_server->TestServerPage("files/ssl/page_with_blank_target.html"));
-
- bool success = false;
+ ASSERT_TRUE(https_server_expired_.Start());
ui_test_utils::WindowedNotificationObserver<NavigationController>
load_stop_signal(NotificationType::LOAD_STOP, NULL);
+ Browser* used_browser = NULL;
+ TabContents* tab_contents = browser()->AddTabWithURL(
+ https_server_expired_.GetURL("files/ssl/google.htm"), GURL(),
+ PageTransition::TYPED, -1, TabStripModel::ADD_SELECTED,
+ NULL, std::string(), &used_browser);
+ load_stop_signal.WaitFor(&(tab_contents->controller()));
- // Simulate clicking the link (and therefore navigating to that new page).
- // This will causes a new tab to be created.
- EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
- browser()->GetSelectedTabContents()->render_view_host(), std::wstring(),
- L"window.domAutomationController.send(navigateInNewTab());",
- &success));
- EXPECT_TRUE(success);
-
- // By the time we got a response, the new tab should have been created and be
- // the selected tab.
- EXPECT_EQ(2, browser()->tab_count());
- EXPECT_EQ(1, browser()->selected_index());
-
- // Since the navigation was initiated by the renderer (when we clicked on the
- // link) and since the main page network request failed, we won't get a
- // navigation entry committed. So we'll just wait for the load to stop.
- load_stop_signal.WaitFor(
- &(browser()->GetSelectedTabContents()->controller()));
+ // Verify our assumption that there was no prior navigation.
+ EXPECT_FALSE(browser()->command_updater()->IsCommandEnabled(IDC_BACK));
// We should have an interstitial page showing.
- ASSERT_TRUE(browser()->GetSelectedTabContents()->interstitial_page());
+ ASSERT_TRUE(tab_contents->interstitial_page());
}
//
@@ -384,13 +349,11 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTPSErrorWithNoNavEntry) {
// Visits a page that displays insecure content.
IN_PROC_BROWSER_TEST_F(SSLUITest, TestDisplaysInsecureContent) {
- scoped_refptr<net::HTTPSTestServer> https_server = GoodCertServer();
- ASSERT_TRUE(https_server.get() != NULL);
- scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
- ASSERT_TRUE(http_server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
+ ASSERT_TRUE(https_server_.Start());
// Load a page that displays insecure content.
- ui_test_utils::NavigateToURL(browser(), https_server->TestServerPage(
+ ui_test_utils::NavigateToURL(browser(), https_server_.GetURL(
"files/ssl/page_displays_insecure_content.html"));
CheckAuthenticatedState(browser()->GetSelectedTabContents(), true);
@@ -400,12 +363,10 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestDisplaysInsecureContent) {
// content warnings by randomizing location.hash.
// Based on http://crbug.com/8706
IN_PROC_BROWSER_TEST_F(SSLUITest, TestRunsInsecuredContentRandomizeHash) {
- scoped_refptr<net::HTTPSTestServer> https_server = GoodCertServer();
- ASSERT_TRUE(https_server.get() != NULL);
- scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
- ASSERT_TRUE(http_server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
+ ASSERT_TRUE(https_server_.Start());
- ui_test_utils::NavigateToURL(browser(), https_server->TestServerPage(
+ ui_test_utils::NavigateToURL(browser(), https_server_.GetURL(
"files/ssl/page_runs_insecure_content.html"));
CheckAuthenticationBrokenState(browser()->GetSelectedTabContents(), 0, true,
@@ -417,12 +378,10 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestRunsInsecuredContentRandomizeHash) {
// - images and scripts are filtered out entirely
// Marked as flaky, see bug 40932.
IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestUnsafeContents) {
- scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
- ASSERT_TRUE(good_https_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
- ASSERT_TRUE(bad_https_server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
+ ASSERT_TRUE(https_server_expired_.Start());
- ui_test_utils::NavigateToURL(browser(), good_https_server->TestServerPage(
+ ui_test_utils::NavigateToURL(browser(), https_server_.GetURL(
"files/ssl/page_with_unsafe_contents.html"));
TabContents* tab = browser()->GetSelectedTabContents();
@@ -456,12 +415,10 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestUnsafeContents) {
// Visits a page with insecure content loaded by JS (after the initial page
// load).
IN_PROC_BROWSER_TEST_F(SSLUITest, TestDisplaysInsecureContentLoadedFromJS) {
- scoped_refptr<net::HTTPSTestServer> https_server = GoodCertServer();
- ASSERT_TRUE(https_server.get() != NULL);
- scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
- ASSERT_TRUE(http_server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
+ ASSERT_TRUE(https_server_.Start());
- ui_test_utils::NavigateToURL(browser(), https_server->TestServerPage(
+ ui_test_utils::NavigateToURL(browser(), https_server_.GetURL(
"files/ssl/page_with_dynamic_insecure_content.html"));
TabContents* tab = browser()->GetSelectedTabContents();
@@ -481,13 +438,11 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestDisplaysInsecureContentLoadedFromJS) {
// one that doesn't. The test checks that we do not propagate the insecure
// content state from one to the other.
IN_PROC_BROWSER_TEST_F(SSLUITest, TestDisplaysInsecureContentTwoTabs) {
- scoped_refptr<net::HTTPSTestServer> https_server = GoodCertServer();
- ASSERT_TRUE(https_server.get() != NULL);
- scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
- ASSERT_TRUE(http_server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
+ ASSERT_TRUE(https_server_.Start());
ui_test_utils::NavigateToURL(browser(),
- https_server->TestServerPage("files/ssl/blank_page.html"));
+ https_server_.GetURL("files/ssl/blank_page.html"));
TabContents* tab1 = browser()->GetSelectedTabContents();
@@ -495,7 +450,7 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestDisplaysInsecureContentTwoTabs) {
CheckAuthenticatedState(tab1, false);
// Create a new tab.
- GURL url = https_server->TestServerPage(
+ GURL url = https_server_.GetURL(
"files/ssl/page_displays_insecure_content.html");
TabContents* tab2 = browser()->AddTabWithURL(url, GURL(),
PageTransition::TYPED, 0, TabStripModel::ADD_SELECTED,
@@ -513,13 +468,11 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestDisplaysInsecureContentTwoTabs) {
// that doesn't. The test checks that we propagate the insecure content state
// from one to the other.
IN_PROC_BROWSER_TEST_F(SSLUITest, TestRunsInsecureContentTwoTabs) {
- scoped_refptr<net::HTTPSTestServer> https_server = GoodCertServer();
- ASSERT_TRUE(https_server.get() != NULL);
- scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
- ASSERT_TRUE(http_server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
+ ASSERT_TRUE(https_server_.Start());
ui_test_utils::NavigateToURL(browser(),
- https_server->TestServerPage("files/ssl/blank_page.html"));
+ https_server_.GetURL("files/ssl/blank_page.html"));
TabContents* tab1 = browser()->GetSelectedTabContents();
@@ -528,7 +481,7 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestRunsInsecureContentTwoTabs) {
// Create a new tab.
GURL url =
- https_server->TestServerPage("files/ssl/page_runs_insecure_content.html");
+ https_server_.GetURL("files/ssl/page_runs_insecure_content.html");
TabContents* tab2 = browser()->AddTabWithURL(url, GURL(),
PageTransition::TYPED, 0, TabStripModel::ADD_SELECTED,
tab1->GetSiteInstance(), std::string(), NULL);
@@ -546,19 +499,17 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestRunsInsecureContentTwoTabs) {
// referencing that same image over http (hoping it is coming from the webcore
// memory cache).
IN_PROC_BROWSER_TEST_F(SSLUITest, TestDisplaysCachedInsecureContent) {
- scoped_refptr<net::HTTPSTestServer> https_server = GoodCertServer();
- ASSERT_TRUE(https_server.get() != NULL);
- scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
- ASSERT_TRUE(http_server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
+ ASSERT_TRUE(https_server_.Start());
- ui_test_utils::NavigateToURL(browser(), http_server->TestServerPage(
+ ui_test_utils::NavigateToURL(browser(), test_server()->GetURL(
"files/ssl/page_displays_insecure_content.html"));
TabContents* tab = browser()->GetSelectedTabContents();
CheckUnauthenticatedState(tab);
// Load again but over SSL. It should be marked as displaying insecure
// content (even though the image comes from the WebCore memory cache).
- ui_test_utils::NavigateToURL(browser(), https_server->TestServerPage(
+ ui_test_utils::NavigateToURL(browser(), https_server_.GetURL(
"files/ssl/page_displays_insecure_content.html"));
CheckAuthenticatedState(tab, true);
}
@@ -567,19 +518,17 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestDisplaysCachedInsecureContent) {
// referencing that same script over http (hoping it is coming from the webcore
// memory cache).
IN_PROC_BROWSER_TEST_F(SSLUITest, TestRunsCachedInsecureContent) {
- scoped_refptr<net::HTTPSTestServer> https_server = GoodCertServer();
- ASSERT_TRUE(https_server.get() != NULL);
- scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
- ASSERT_TRUE(http_server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
+ ASSERT_TRUE(https_server_.Start());
ui_test_utils::NavigateToURL(browser(),
- http_server->TestServerPage("files/ssl/page_runs_insecure_content.html"));
+ test_server()->GetURL("files/ssl/page_runs_insecure_content.html"));
TabContents* tab = browser()->GetSelectedTabContents();
CheckUnauthenticatedState(tab);
// Load again but over SSL. It should be marked as displaying insecure
// content (even though the image comes from the WebCore memory cache).
- ui_test_utils::NavigateToURL(browser(), https_server->TestServerPage(
+ ui_test_utils::NavigateToURL(browser(), https_server_.GetURL(
"files/ssl/page_runs_insecure_content.html"));
CheckAuthenticationBrokenState(tab, 0, true, false);
}
@@ -594,45 +543,32 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestRunsCachedInsecureContent) {
// This test ensures the CN invalid status does not 'stick' to a certificate
// (see bug #1044942) and that it depends on the host-name.
IN_PROC_BROWSER_TEST_F(SSLUITest, MAYBE_TestCNInvalidStickiness) {
- const std::string kLocalHost = "localhost";
- scoped_refptr<net::HTTPSTestServer> https_server =
- net::HTTPSTestServer::CreateMismatchedServer(kDocRoot);
- ASSERT_TRUE(https_server.get() != NULL);
+ ASSERT_TRUE(https_server_.Start());
+ ASSERT_TRUE(https_server_mismatched_.Start());
// First we hit the server with hostname, this generates an invalid policy
// error.
ui_test_utils::NavigateToURL(browser(),
- https_server->TestServerPage("files/ssl/google.html"));
+ https_server_mismatched_.GetURL("files/ssl/google.html"));
// We get an interstitial page as a result.
TabContents* tab = browser()->GetSelectedTabContents();
CheckAuthenticationBrokenState(tab, net::CERT_STATUS_COMMON_NAME_INVALID,
false, true); // Interstitial showing.
-
ProceedThroughInterstitial(tab);
-
CheckAuthenticationBrokenState(tab, net::CERT_STATUS_COMMON_NAME_INVALID,
false, false); // No interstitial showing.
// Now we try again with the right host name this time.
-
- // Let's change the host-name in the url.
- GURL url = https_server->TestServerPage("files/ssl/google.html");
- std::string::size_type hostname_index = url.spec().find(kLocalHost);
- ASSERT_TRUE(hostname_index != std::string::npos); // Test sanity check.
- std::string new_url;
- new_url.append(url.spec().substr(0, hostname_index));
- new_url.append(net::TestServerLauncher::kHostName);
- new_url.append(url.spec().substr(hostname_index + kLocalHost.size()));
-
- ui_test_utils::NavigateToURL(browser(), GURL(new_url));
+ GURL url(https_server_.GetURL("files/ssl/google.html"));
+ ui_test_utils::NavigateToURL(browser(), url);
// Security state should be OK.
CheckAuthenticatedState(tab, false);
// Now try again the broken one to make sure it is still broken.
ui_test_utils::NavigateToURL(browser(),
- https_server->TestServerPage("files/ssl/google.html"));
+ https_server_mismatched_.GetURL("files/ssl/google.html"));
// Since we OKed the interstitial last time, we get right to the page.
CheckAuthenticationBrokenState(tab, net::CERT_STATUS_COMMON_NAME_INVALID,
@@ -641,11 +577,10 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, MAYBE_TestCNInvalidStickiness) {
// Test that navigating to a #ref does not change a bad security state.
IN_PROC_BROWSER_TEST_F(SSLUITest, TestRefNavigation) {
- scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
- ASSERT_TRUE(bad_https_server.get() != NULL);
+ ASSERT_TRUE(https_server_expired_.Start());
ui_test_utils::NavigateToURL(browser(),
- bad_https_server->TestServerPage("files/ssl/page_with_refs.html"));
+ https_server_expired_.GetURL("files/ssl/page_with_refs.html"));
TabContents* tab = browser()->GetSelectedTabContents();
CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
@@ -659,7 +594,7 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestRefNavigation) {
// Now navigate to a ref in the page, the security state should not have
// changed.
ui_test_utils::NavigateToURL(browser(),
- bad_https_server->TestServerPage("files/ssl/page_with_refs.html#jp"));
+ https_server_expired_.GetURL("files/ssl/page_with_refs.html#jp"));
CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
false); // No interstitial showing.
@@ -670,13 +605,11 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestRefNavigation) {
// TODO(jcampan): http://crbug.com/2136 disabled because the popup is not
// opened as it is not initiated by a user gesture.
IN_PROC_BROWSER_TEST_F(SSLUITest, DISABLED_TestCloseTabWithUnsafePopup) {
- scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
- ASSERT_TRUE(http_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
- ASSERT_TRUE(bad_https_server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
+ ASSERT_TRUE(https_server_expired_.Start());
ui_test_utils::NavigateToURL(browser(),
- http_server->TestServerPage("files/ssl/page_with_unsafe_popup.html"));
+ test_server()->GetURL("files/ssl/page_with_unsafe_popup.html"));
TabContents* tab1 = browser()->GetSelectedTabContents();
// It is probably overkill to add a notification for a popup-opening, let's
@@ -692,8 +625,8 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, DISABLED_TestCloseTabWithUnsafePopup) {
// Let's add another tab to make sure the browser does not exit when we close
// the first tab.
- GURL url = http_server->TestServerPage("files/ssl/google.html");
Browser* browser_used = NULL;
+ GURL url = test_server()->GetURL("files/ssl/google.html");
TabContents* tab2 = browser()->AddTabWithURL(
url, GURL(), PageTransition::TYPED, 0, TabStripModel::ADD_SELECTED, NULL,
std::string(), &browser_used);
@@ -709,13 +642,11 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, DISABLED_TestCloseTabWithUnsafePopup) {
// Visit a page over bad https that is a redirect to a page with good https.
// Marked as flaky, see bug 40932.
IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestRedirectBadToGoodHTTPS) {
- scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
- ASSERT_TRUE(good_https_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
- ASSERT_TRUE(bad_https_server.get() != NULL);
+ ASSERT_TRUE(https_server_.Start());
+ ASSERT_TRUE(https_server_expired_.Start());
- GURL url1 = bad_https_server->TestServerPage("server-redirect?");
- GURL url2 = good_https_server->TestServerPage("files/ssl/google.html");
+ GURL url1 = https_server_expired_.GetURL("server-redirect?");
+ GURL url2 = https_server_.GetURL("files/ssl/google.html");
ui_test_utils::NavigateToURL(browser(), GURL(url1.spec() + url2.spec()));
@@ -733,13 +664,11 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestRedirectBadToGoodHTTPS) {
// Visit a page over good https that is a redirect to a page with bad https.
// Marked as flaky, see bug 40932.
IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestRedirectGoodToBadHTTPS) {
- scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
- ASSERT_TRUE(good_https_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
- ASSERT_TRUE(bad_https_server.get() != NULL);
+ ASSERT_TRUE(https_server_.Start());
+ ASSERT_TRUE(https_server_expired_.Start());
- GURL url1 = good_https_server->TestServerPage("server-redirect?");
- GURL url2 = bad_https_server->TestServerPage("files/ssl/google.html");
+ GURL url1 = https_server_.GetURL("server-redirect?");
+ GURL url2 = https_server_expired_.GetURL("files/ssl/google.html");
ui_test_utils::NavigateToURL(browser(), GURL(url1.spec() + url2.spec()));
TabContents* tab = browser()->GetSelectedTabContents();
@@ -754,17 +683,15 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestRedirectGoodToBadHTTPS) {
// Visit a page over http that is a redirect to a page with good HTTPS.
IN_PROC_BROWSER_TEST_F(SSLUITest, TestRedirectHTTPToGoodHTTPS) {
- scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
- ASSERT_TRUE(http_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
- ASSERT_TRUE(good_https_server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
+ ASSERT_TRUE(https_server_.Start());
TabContents* tab = browser()->GetSelectedTabContents();
// HTTP redirects to good HTTPS.
- GURL http_url = http_server->TestServerPage("server-redirect?");
+ GURL http_url = test_server()->GetURL("server-redirect?");
GURL good_https_url =
- good_https_server->TestServerPage("files/ssl/google.html");
+ https_server_.GetURL("files/ssl/google.html");
ui_test_utils::NavigateToURL(browser(),
GURL(http_url.spec() + good_https_url.spec()));
@@ -773,16 +700,14 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestRedirectHTTPToGoodHTTPS) {
// Visit a page over http that is a redirect to a page with bad HTTPS.
IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestRedirectHTTPToBadHTTPS) {
- scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
- ASSERT_TRUE(http_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
- ASSERT_TRUE(bad_https_server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
+ ASSERT_TRUE(https_server_expired_.Start());
TabContents* tab = browser()->GetSelectedTabContents();
- GURL http_url = http_server->TestServerPage("server-redirect?");
+ GURL http_url = test_server()->GetURL("server-redirect?");
GURL bad_https_url =
- bad_https_server->TestServerPage("files/ssl/google.html");
+ https_server_expired_.GetURL("files/ssl/google.html");
ui_test_utils::NavigateToURL(browser(),
GURL(http_url.spec() + bad_https_url.spec()));
CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
@@ -798,13 +723,11 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestRedirectHTTPToBadHTTPS) {
// we don't keep the secure state).
// Marked as flaky, see bug 40932.
IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestRedirectHTTPSToHTTP) {
- scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
- ASSERT_TRUE(http_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> https_server = GoodCertServer();
- ASSERT_TRUE(https_server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
+ ASSERT_TRUE(https_server_.Start());
- GURL https_url = https_server->TestServerPage("server-redirect?");
- GURL http_url = http_server->TestServerPage("files/ssl/google.html");
+ GURL https_url = https_server_.GetURL("server-redirect?");
+ GURL http_url = test_server()->GetURL("files/ssl/google.html");
ui_test_utils::NavigateToURL(browser(),
GURL(https_url.spec() + http_url.spec()));
@@ -833,16 +756,13 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestConnectToBadPort) {
// - navigate to HTTP (expect insecure content), then back
// Disabled, http://crbug.com/18626.
IN_PROC_BROWSER_TEST_F(SSLUITest, DISABLED_TestGoodFrameNavigation) {
- scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
- ASSERT_TRUE(http_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
- ASSERT_TRUE(good_https_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
- ASSERT_TRUE(bad_https_server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
+ ASSERT_TRUE(https_server_.Start());
+ ASSERT_TRUE(https_server_expired_.Start());
TabContents* tab = browser()->GetSelectedTabContents();
ui_test_utils::NavigateToURL(browser(),
- good_https_server->TestServerPage("files/ssl/top_frame.html"));
+ https_server_.GetURL("files/ssl/top_frame.html"));
CheckAuthenticatedState(tab, false);
@@ -905,14 +825,12 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, DISABLED_TestGoodFrameNavigation) {
// - navigate to an OK HTTPS frame (expected to be still authentication broken).
// Marked as flaky, see bug 40932.
IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestBadFrameNavigation) {
- scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
- ASSERT_TRUE(good_https_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
- ASSERT_TRUE(bad_https_server.get() != NULL);
+ ASSERT_TRUE(https_server_.Start());
+ ASSERT_TRUE(https_server_expired_.Start());
TabContents* tab = browser()->GetSelectedTabContents();
ui_test_utils::NavigateToURL(browser(),
- bad_https_server->TestServerPage("files/ssl/top_frame.html"));
+ https_server_expired_.GetURL("files/ssl/top_frame.html"));
CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
true); // Interstitial showing
@@ -944,16 +862,13 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestBadFrameNavigation) {
FLAKY_TestUnauthenticatedFrameNavigation
#endif
IN_PROC_BROWSER_TEST_F(SSLUITest, MAYBE_TestUnauthenticatedFrameNavigation) {
- scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
- ASSERT_TRUE(http_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
- ASSERT_TRUE(good_https_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
- ASSERT_TRUE(bad_https_server.get() != NULL);
+ ASSERT_TRUE(test_server()->Start());
+ ASSERT_TRUE(https_server_.Start());
+ ASSERT_TRUE(https_server_expired_.Start());
TabContents* tab = browser()->GetSelectedTabContents();
ui_test_utils::NavigateToURL(browser(),
- http_server->TestServerPage("files/ssl/top_frame.html"));
+ test_server()->GetURL("files/ssl/top_frame.html"));
CheckUnauthenticatedState(tab);
// Now navigate inside the frame to a secure HTTPS frame.
@@ -992,14 +907,12 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, MAYBE_TestUnauthenticatedFrameNavigation) {
// Marked as flaky, see bug 40932.
IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestUnsafeContentsInWorkerFiltered) {
- scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
- ASSERT_TRUE(good_https_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
- ASSERT_TRUE(bad_https_server.get() != NULL);
+ ASSERT_TRUE(https_server_.Start());
+ ASSERT_TRUE(https_server_expired_.Start());
// This page will spawn a Worker which will try to load content from
// BadCertServer.
- ui_test_utils::NavigateToURL(browser(), good_https_server->TestServerPage(
+ ui_test_utils::NavigateToURL(browser(), https_server_.GetURL(
"files/ssl/page_with_unsafe_worker.html"));
TabContents* tab = browser()->GetSelectedTabContents();
// Expect Worker not to load insecure content.
@@ -1010,15 +923,13 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestUnsafeContentsInWorkerFiltered) {
// Marked as flaky, see bug 40932.
IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestUnsafeContentsInWorker) {
- scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
- ASSERT_TRUE(good_https_server.get() != NULL);
- scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
- ASSERT_TRUE(bad_https_server.get() != NULL);
+ ASSERT_TRUE(https_server_.Start());
+ ASSERT_TRUE(https_server_expired_.Start());
// Navigate to an unsafe site. Proceed with interstitial page to indicate
// the user approves the bad certificate.
ui_test_utils::NavigateToURL(browser(),
- bad_https_server->TestServerPage("files/ssl/blank_page.html"));
+ https_server_expired_.GetURL("files/ssl/blank_page.html"));
TabContents* tab = browser()->GetSelectedTabContents();
CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
true); // Interstitial showing
@@ -1029,7 +940,7 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestUnsafeContentsInWorker) {
// Navigate to safe page that has Worker loading unsafe content.
// Expect content to load but be marked as auth broken due to running insecure
// content.
- ui_test_utils::NavigateToURL(browser(), good_https_server->TestServerPage(
+ ui_test_utils::NavigateToURL(browser(), https_server_.GetURL(
"files/ssl/page_with_unsafe_worker.html"));
CheckWorkerLoadResult(tab, true); // Worker loads insecure content
CheckAuthenticationBrokenState(tab, 0, true, false);