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

Side by Side Diff: chrome/browser/ssl/ssl_browser_tests.cc

Issue 2653443002: Update NetworkTimeQueries field trial config (Closed)
Patch Set: meacer suggestion: configure finch via command line Created 3 years, 11 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 unified diff | Download patch
OLDNEW
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 <utility> 5 #include <utility>
6 6
7 #include "base/base_switches.h" 7 #include "base/base_switches.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/bind_helpers.h" 9 #include "base/bind_helpers.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 #include "components/content_settings/core/browser/host_content_settings_map.h" 54 #include "components/content_settings/core/browser/host_content_settings_map.h"
55 #include "components/network_time/network_time_test_utils.h" 55 #include "components/network_time/network_time_test_utils.h"
56 #include "components/network_time/network_time_tracker.h" 56 #include "components/network_time/network_time_tracker.h"
57 #include "components/prefs/testing_pref_service.h" 57 #include "components/prefs/testing_pref_service.h"
58 #include "components/security_interstitials/core/controller_client.h" 58 #include "components/security_interstitials/core/controller_client.h"
59 #include "components/security_interstitials/core/metrics_helper.h" 59 #include "components/security_interstitials/core/metrics_helper.h"
60 #include "components/security_state/core/security_state.h" 60 #include "components/security_state/core/security_state.h"
61 #include "components/security_state/core/switches.h" 61 #include "components/security_state/core/switches.h"
62 #include "components/ssl_errors/error_classification.h" 62 #include "components/ssl_errors/error_classification.h"
63 #include "components/variations/variations_associated_data.h" 63 #include "components/variations/variations_associated_data.h"
64 #include "components/variations/variations_switches.h"
64 #include "components/web_modal/web_contents_modal_dialog_manager.h" 65 #include "components/web_modal/web_contents_modal_dialog_manager.h"
65 #include "content/public/browser/browser_context.h" 66 #include "content/public/browser/browser_context.h"
66 #include "content/public/browser/interstitial_page.h" 67 #include "content/public/browser/interstitial_page.h"
67 #include "content/public/browser/navigation_controller.h" 68 #include "content/public/browser/navigation_controller.h"
68 #include "content/public/browser/navigation_entry.h" 69 #include "content/public/browser/navigation_entry.h"
69 #include "content/public/browser/notification_details.h" 70 #include "content/public/browser/notification_details.h"
70 #include "content/public/browser/notification_service.h" 71 #include "content/public/browser/notification_service.h"
71 #include "content/public/browser/render_frame_host.h" 72 #include "content/public/browser/render_frame_host.h"
72 #include "content/public/browser/render_view_host.h" 73 #include "content/public/browser/render_view_host.h"
73 #include "content/public/browser/render_widget_host_view.h" 74 #include "content/public/browser/render_widget_host_view.h"
(...skipping 20 matching lines...) Expand all
94 #include "net/ssl/ssl_info.h" 95 #include "net/ssl/ssl_info.h"
95 #include "net/test/cert_test_util.h" 96 #include "net/test/cert_test_util.h"
96 #include "net/test/embedded_test_server/embedded_test_server.h" 97 #include "net/test/embedded_test_server/embedded_test_server.h"
97 #include "net/test/embedded_test_server/request_handler_util.h" 98 #include "net/test/embedded_test_server/request_handler_util.h"
98 #include "net/test/spawned_test_server/spawned_test_server.h" 99 #include "net/test/spawned_test_server/spawned_test_server.h"
99 #include "net/test/test_certificate_data.h" 100 #include "net/test/test_certificate_data.h"
100 #include "net/test/test_data_directory.h" 101 #include "net/test/test_data_directory.h"
101 #include "net/url_request/url_request_context.h" 102 #include "net/url_request/url_request_context.h"
102 #include "net/url_request/url_request_filter.h" 103 #include "net/url_request/url_request_filter.h"
103 #include "net/url_request/url_request_job.h" 104 #include "net/url_request/url_request_job.h"
105 #include "net/url_request/url_request_test_util.h"
104 106
105 #if defined(USE_NSS_CERTS) 107 #if defined(USE_NSS_CERTS)
106 #include "chrome/browser/net/nss_context.h" 108 #include "chrome/browser/net/nss_context.h"
107 #include "net/base/crypto_module.h" 109 #include "net/base/crypto_module.h"
108 #include "net/cert/nss_cert_database.h" 110 #include "net/cert/nss_cert_database.h"
109 #endif // defined(USE_NSS_CERTS) 111 #endif // defined(USE_NSS_CERTS)
110 112
111 using base::ASCIIToUTF16; 113 using base::ASCIIToUTF16;
112 using chrome_browser_interstitials::SecurityInterstitialIDNTest; 114 using chrome_browser_interstitials::SecurityInterstitialIDNTest;
113 using content::InterstitialPage; 115 using content::InterstitialPage;
(...skipping 2887 matching lines...) Expand 10 before | Expand all | Expand 10 after
3001 net::URLRequestFilter::GetInstance()->ClearHandlers(); 3003 net::URLRequestFilter::GetInstance()->ClearHandlers();
3002 } 3004 }
3003 3005
3004 // A fixture for testing on-demand network time queries on SSL 3006 // A fixture for testing on-demand network time queries on SSL
3005 // certificate date errors. It can simulate a delayed network time 3007 // certificate date errors. It can simulate a delayed network time
3006 // request, and it allows the user to configure the experimental 3008 // request, and it allows the user to configure the experimental
3007 // parameters of the NetworkTimeTracker. Expects only one network time 3009 // parameters of the NetworkTimeTracker. Expects only one network time
3008 // request to be issued during the test. 3010 // request to be issued during the test.
3009 class SSLNetworkTimeBrowserTest : public SSLUITest { 3011 class SSLNetworkTimeBrowserTest : public SSLUITest {
3010 public: 3012 public:
3011 SSLNetworkTimeBrowserTest() 3013 SSLNetworkTimeBrowserTest() : SSLUITest(), interceptor_(nullptr) {}
3012 : SSLUITest(),
3013 field_trial_test_(network_time::FieldTrialTest::CreateForBrowserTest()),
3014 interceptor_(nullptr) {}
3015 ~SSLNetworkTimeBrowserTest() override {} 3014 ~SSLNetworkTimeBrowserTest() override {}
3016 3015
3016 void SetUpCommandLine(base::CommandLine* command_line) override {
3017 command_line->AppendSwitchASCII(
3018 switches::kEnableFeatures,
3019 std::string(network_time::kNetworkTimeServiceQuerying.name) +
3020 "<SSLNetworkTimeBrowserTestFieldTrial");
3021 command_line->AppendSwitchASCII(
3022 switches::kForceFieldTrials,
3023 "SSLNetworkTimeBrowserTestFieldTrial/Enabled/");
3024 command_line->AppendSwitchASCII(
3025 variations::switches::kForceFieldTrialParams,
3026 "SSLNetworkTimeBrowserTestFieldTrial.Enabled:FetchBehavior/"
3027 "on-demand-only");
3028 }
3029
3017 void SetUpOnMainThread() override { SetUpNetworkTimeServer(); } 3030 void SetUpOnMainThread() override { SetUpNetworkTimeServer(); }
3018 3031
3019 void TearDownOnMainThread() override { 3032 void TearDownOnMainThread() override {
3020 content::BrowserThread::PostTask(content::BrowserThread::IO, FROM_HERE, 3033 content::BrowserThread::PostTask(content::BrowserThread::IO, FROM_HERE,
3021 base::Bind(&CleanUpOnIOThread)); 3034 base::Bind(&CleanUpOnIOThread));
3022 } 3035 }
3023 3036
3024 protected: 3037 protected:
3025 network_time::FieldTrialTest* field_trial_test() const {
3026 return field_trial_test_.get();
3027 }
3028
3029 void SetUpNetworkTimeServer() { 3038 void SetUpNetworkTimeServer() {
3030 field_trial_test()->SetNetworkQueriesWithVariationsService( 3039 // Install the URL interceptor that serves delayed network time responses.
3031 true, 0.0, network_time::NetworkTimeTracker::FETCHES_ON_DEMAND_ONLY);
3032
3033 // Install the URL interceptor that serves delayed network time
3034 // responses.
3035 interceptor_ = new DelayedNetworkTimeInterceptor(); 3040 interceptor_ = new DelayedNetworkTimeInterceptor();
3036 content::BrowserThread::PostTask( 3041 content::BrowserThread::PostTask(
3037 content::BrowserThread::IO, FROM_HERE, 3042 content::BrowserThread::IO, FROM_HERE,
3038 base::Bind(&SetUpNetworkTimeInterceptorOnIOThread, 3043 base::Bind(&SetUpNetworkTimeInterceptorOnIOThread,
3039 base::Unretained(interceptor_), 3044 base::Unretained(interceptor_),
3040 g_browser_process->network_time_tracker() 3045 g_browser_process->network_time_tracker()
3041 ->GetTimeServerURLForTesting())); 3046 ->GetTimeServerURLForTesting()));
3042 } 3047 }
3043 3048
3044 void TriggerTimeResponse() { 3049 void TriggerTimeResponse() {
3045 content::BrowserThread::PostTask( 3050 content::BrowserThread::PostTask(
3046 content::BrowserThread::IO, FROM_HERE, 3051 content::BrowserThread::IO, FROM_HERE,
3047 base::Bind(&ResumeDelayedNetworkTimeRequest, 3052 base::Bind(&ResumeDelayedNetworkTimeRequest,
3048 base::Unretained(interceptor_))); 3053 base::Unretained(interceptor_)));
3049 } 3054 }
3050 3055
3051 // Asserts that the first time request to the server is currently pending. 3056 // Asserts that the first time request to the server is currently pending.
3052 void CheckTimeQueryPending() { 3057 void CheckTimeQueryPending() {
3053 base::Time unused_time; 3058 base::Time unused_time;
3054 base::TimeDelta unused_uncertainty; 3059 base::TimeDelta unused_uncertainty;
3055 ASSERT_EQ(network_time::NetworkTimeTracker::NETWORK_TIME_FIRST_SYNC_PENDING, 3060 ASSERT_EQ(network_time::NetworkTimeTracker::NETWORK_TIME_FIRST_SYNC_PENDING,
3056 g_browser_process->network_time_tracker()->GetNetworkTime( 3061 g_browser_process->network_time_tracker()->GetNetworkTime(
3057 &unused_time, &unused_uncertainty)); 3062 &unused_time, &unused_uncertainty));
3058 } 3063 }
3059 3064
3060 private: 3065 private:
3061 std::unique_ptr<network_time::FieldTrialTest> field_trial_test_;
3062 DelayedNetworkTimeInterceptor* interceptor_; 3066 DelayedNetworkTimeInterceptor* interceptor_;
3063 3067
3064 DISALLOW_COPY_AND_ASSIGN(SSLNetworkTimeBrowserTest); 3068 DISALLOW_COPY_AND_ASSIGN(SSLNetworkTimeBrowserTest);
3065 }; 3069 };
3066 3070
3067 // Tests that if an on-demand network time fetch returns that the clock 3071 // Tests that if an on-demand network time fetch returns that the clock
3068 // is okay, a normal SSL interstitial is shown. 3072 // is okay, a normal SSL interstitial is shown.
3069 IN_PROC_BROWSER_TEST_F(SSLNetworkTimeBrowserTest, OnDemandFetchClockOk) { 3073 IN_PROC_BROWSER_TEST_F(SSLNetworkTimeBrowserTest, OnDemandFetchClockOk) {
3070 ASSERT_TRUE(https_server_expired_.Start()); 3074 ASSERT_TRUE(https_server_expired_.Start());
3071 // Use a testing clock set to the time that GoodTimeResponseHandler 3075 // Use a testing clock set to the time that GoodTimeResponseHandler
(...skipping 816 matching lines...) Expand 10 before | Expand all | Expand 10 after
3888 3892
3889 // Visit a page over https that contains a frame with a redirect. 3893 // Visit a page over https that contains a frame with a redirect.
3890 3894
3891 // XMLHttpRequest insecure content in synchronous mode. 3895 // XMLHttpRequest insecure content in synchronous mode.
3892 3896
3893 // XMLHttpRequest insecure content in asynchronous mode. 3897 // XMLHttpRequest insecure content in asynchronous mode.
3894 3898
3895 // XMLHttpRequest over bad ssl in synchronous mode. 3899 // XMLHttpRequest over bad ssl in synchronous mode.
3896 3900
3897 // XMLHttpRequest over OK ssl in synchronous mode. 3901 // XMLHttpRequest over OK ssl in synchronous mode.
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ssl/ssl_error_handler_unittest.cc » ('j') | components/network_time/network_time_test_utils.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698