Index: components/network_time/network_time_test_utils.h |
diff --git a/components/network_time/network_time_test_utils.h b/components/network_time/network_time_test_utils.h |
index 97ed8dce53509e93ea1fda438cc1f54103447b83..c7aa18c026f4d2c4574ba7fe59af6d2c1c0f6f93 100644 |
--- a/components/network_time/network_time_test_utils.h |
+++ b/components/network_time/network_time_test_utils.h |
@@ -27,25 +27,53 @@ class HttpResponse; |
namespace network_time { |
+// The body of a valid time response. Can be returned, with |
+// |kGoodTimeResponseServerProofHeader|, in responses from test servers |
+// to simulate a network time server. This response uses 1 as the key |
+// version and 123123123 as the nonce. Use |
+// NetworkTimeTracker::OverrideNonceForTesting() to set the nonce so |
+// that this response validates. |
+extern const char kGoodTimeResponseBody[]; |
+ |
+// The x-cup-server-proof header value that should be served along with |
+// |kGoodTimeResponseBody| to make a test server response be accepted by |
+// NetworkTimeTracker as a valid response. |
+extern const char kGoodTimeResponseServerProofHeader[]; |
+ |
+// The time that |kGoodTimeResponseBody| uses. Can be converted to a |
+// base::Time with base::Time::FromJsTime. |
+extern const double kGoodTimeResponseHandlerJsTime; |
+ |
+// Returns a valid network time response using the constants above. See |
+// comments in the .cc for how to update the time returned in the response. |
std::unique_ptr<net::test_server::HttpResponse> GoodTimeResponseHandler( |
const net::test_server::HttpRequest& request); |
// Allows tests to configure the network time queries field trial. |
class FieldTrialTest { |
public: |
- enum FetchesOnDemandStatus { |
- ENABLE_FETCHES_ON_DEMAND, |
- DISABLE_FETCHES_ON_DEMAND, |
+ enum FetchBehavior { |
+ FETCHES_IN_BACKGROUND_ONLY, |
+ FETCHES_ON_DEMAND_ONLY, |
+ FETCHES_IN_BACKGROUND_AND_ON_DEMAND, |
}; |
- FieldTrialTest(); |
virtual ~FieldTrialTest(); |
- void SetNetworkQueriesWithVariationsService( |
- bool enable, |
- float query_probability, |
- FetchesOnDemandStatus fetches_on_demand); |
+ |
+ // A FieldTrialList exists as a global singleton. Use |
+ // CreateForUnitTest() in unit tests to create a FieldTrialTest that |
+ // creates its own FieldTrialList; use CreateForBrowserTest() to use |
+ // the singleton FieldTrialList that is created during browser setup. |
+ static FieldTrialTest* CreateForUnitTest(); |
+ static FieldTrialTest* CreateForBrowserTest(); |
+ |
+ void SetNetworkQueriesWithVariationsService(bool enable, |
+ float query_probability, |
+ FetchBehavior fetch_behavior); |
private: |
+ FieldTrialTest(); |
+ bool create_field_trial_list_ = true; |
std::unique_ptr<base::FieldTrialList> field_trial_list_; |
std::unique_ptr<base::test::ScopedFeatureList> scoped_feature_list_; |