| Index: components/network_time/network_time_tracker_unittest.cc
|
| diff --git a/components/network_time/network_time_tracker_unittest.cc b/components/network_time/network_time_tracker_unittest.cc
|
| index 408425ec694bd5c681ee9f248331a31dc482eb47..87709366203da6135474df0c79c49d9669f194b5 100644
|
| --- a/components/network_time/network_time_tracker_unittest.cc
|
| +++ b/components/network_time/network_time_tracker_unittest.cc
|
| @@ -39,12 +39,13 @@ const char kWallClockBackwardsHistogram[] =
|
| "NetworkTimeTracker.WallClockRanBackwards";
|
| } // namespace
|
|
|
| -class NetworkTimeTrackerTest : public FieldTrialTest {
|
| +class NetworkTimeTrackerTest : public ::testing::Test {
|
| public:
|
| ~NetworkTimeTrackerTest() override {}
|
|
|
| NetworkTimeTrackerTest()
|
| : io_thread_("IO thread"),
|
| + field_trial_test_(new FieldTrialTest()),
|
| clock_(new base::SimpleTestClock),
|
| tick_clock_(new base::SimpleTestTickClock),
|
| test_server_(new net::EmbeddedTestServer) {
|
| @@ -53,7 +54,9 @@ class NetworkTimeTrackerTest : public FieldTrialTest {
|
| EXPECT_TRUE(io_thread_.StartWithOptions(thread_options));
|
| NetworkTimeTracker::RegisterPrefs(pref_service_.registry());
|
|
|
| - SetNetworkQueriesWithVariationsService(true, 0.0 /* query probability */);
|
| + field_trial_test_->SetNetworkQueriesWithVariationsService(
|
| + true, 0.0 /* query probability */,
|
| + FieldTrialTest::ENABLE_FETCHES_ON_DEMAND);
|
|
|
| tracker_.reset(new NetworkTimeTracker(
|
| std::unique_ptr<base::Clock>(clock_),
|
| @@ -87,30 +90,6 @@ class NetworkTimeTrackerTest : public FieldTrialTest {
|
| new net::TestURLRequestContextGetter(io_thread_.task_runner())));
|
| }
|
|
|
| - // Returns a valid time response. Update as follows:
|
| - //
|
| - // curl http://clients2.google.com/time/1/current?cup2key=1:123123123
|
| - //
|
| - // where 1 is the key version and 123123123 is the nonce. Copy the nonce, the
|
| - // response, and the x-cup-server-proof header into the test.
|
| - static std::unique_ptr<net::test_server::HttpResponse>
|
| - GoodTimeResponseHandler(const net::test_server::HttpRequest& request) {
|
| - net::test_server::BasicHttpResponse* response =
|
| - new net::test_server::BasicHttpResponse();
|
| - response->set_code(net::HTTP_OK);
|
| - response->set_content(
|
| - ")]}'\n"
|
| - "{\"current_time_millis\":1461621971825,\"server_nonce\":-6."
|
| - "006853099049523E85}");
|
| - response->AddCustomHeader(
|
| - "x-cup-server-proof",
|
| - "304402202e0f24db1ea69f1bbe81da4108f381fcf7a2781c53cf7663cb47083cb5fe8e"
|
| - "fd"
|
| - "022009d2b67c0deceaaf849f7c529be96701ed5f15d5efcaf401a94e0801accc9832:"
|
| - "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855");
|
| - return std::unique_ptr<net::test_server::HttpResponse>(response);
|
| - }
|
| -
|
| // Good signature over invalid data, though made with a non-production key.
|
| static std::unique_ptr<net::test_server::HttpResponse> BadDataResponseHandler(
|
| const net::test_server::HttpRequest& request) {
|
| @@ -175,6 +154,7 @@ class NetworkTimeTrackerTest : public FieldTrialTest {
|
|
|
| protected:
|
| base::Thread io_thread_;
|
| + std::unique_ptr<FieldTrialTest> field_trial_test_;
|
| base::MessageLoop message_loop_;
|
| base::TimeDelta resolution_;
|
| base::TimeDelta latency_;
|
| @@ -482,8 +462,7 @@ TEST_F(NetworkTimeTrackerTest, UpdateFromNetwork) {
|
| EXPECT_EQ(base::TimeDelta::FromMinutes(0),
|
| tracker_->GetTimerDelayForTesting());
|
|
|
| - test_server_->RegisterRequestHandler(
|
| - base::Bind(&NetworkTimeTrackerTest::GoodTimeResponseHandler));
|
| + test_server_->RegisterRequestHandler(base::Bind(&GoodTimeResponseHandler));
|
| EXPECT_TRUE(test_server_->Start());
|
| tracker_->SetTimeServerURLForTesting(test_server_->GetURL("/"));
|
| EXPECT_TRUE(tracker_->QueryTimeServiceForTesting());
|
| @@ -504,12 +483,12 @@ TEST_F(NetworkTimeTrackerTest, UpdateFromNetwork) {
|
| }
|
|
|
| TEST_F(NetworkTimeTrackerTest, NoNetworkQueryWhileSynced) {
|
| - test_server_->RegisterRequestHandler(
|
| - base::Bind(&NetworkTimeTrackerTest::GoodTimeResponseHandler));
|
| + test_server_->RegisterRequestHandler(base::Bind(&GoodTimeResponseHandler));
|
| EXPECT_TRUE(test_server_->Start());
|
| tracker_->SetTimeServerURLForTesting(test_server_->GetURL("/"));
|
|
|
| - SetNetworkQueriesWithVariationsService(true, 0.0);
|
| + field_trial_test_->SetNetworkQueriesWithVariationsService(
|
| + true, 0.0, FieldTrialTest::ENABLE_FETCHES_ON_DEMAND);
|
| base::Time in_network_time = clock_->Now();
|
| UpdateNetworkTime(in_network_time, resolution_, latency_,
|
| tick_clock_->NowTicks());
|
| @@ -520,7 +499,8 @@ TEST_F(NetworkTimeTrackerTest, NoNetworkQueryWhileSynced) {
|
| EXPECT_EQ(base::TimeDelta::FromMinutes(6),
|
| tracker_->GetTimerDelayForTesting());
|
|
|
| - SetNetworkQueriesWithVariationsService(true, 1.0);
|
| + field_trial_test_->SetNetworkQueriesWithVariationsService(
|
| + true, 1.0, FieldTrialTest::ENABLE_FETCHES_ON_DEMAND);
|
| EXPECT_TRUE(tracker_->QueryTimeServiceForTesting());
|
| tracker_->WaitForFetchForTesting(123123123);
|
| EXPECT_EQ(base::TimeDelta::FromMinutes(60),
|
| @@ -529,13 +509,15 @@ TEST_F(NetworkTimeTrackerTest, NoNetworkQueryWhileSynced) {
|
|
|
| TEST_F(NetworkTimeTrackerTest, NoNetworkQueryWhileFeatureDisabled) {
|
| // Disable network time queries and check that a query is not sent.
|
| - SetNetworkQueriesWithVariationsService(false, 0.0);
|
| + field_trial_test_->SetNetworkQueriesWithVariationsService(
|
| + false, 0.0, FieldTrialTest::ENABLE_FETCHES_ON_DEMAND);
|
| EXPECT_FALSE(tracker_->QueryTimeServiceForTesting());
|
| EXPECT_EQ(base::TimeDelta::FromMinutes(6),
|
| tracker_->GetTimerDelayForTesting());
|
|
|
| // Enable time queries and check that a query is sent.
|
| - SetNetworkQueriesWithVariationsService(true, 0.0);
|
| + field_trial_test_->SetNetworkQueriesWithVariationsService(
|
| + true, 0.0, FieldTrialTest::ENABLE_FETCHES_ON_DEMAND);
|
| EXPECT_TRUE(tracker_->QueryTimeServiceForTesting());
|
| tracker_->WaitForFetchForTesting(123123123);
|
| }
|
| @@ -655,8 +637,7 @@ TEST_F(NetworkTimeTrackerTest, UpdateFromNetworkLargeResponse) {
|
| histograms.ExpectTotalCount(kFetchFailedHistogram, 0);
|
| histograms.ExpectTotalCount(kFetchValidHistogram, 0);
|
|
|
| - test_server_->RegisterRequestHandler(
|
| - base::Bind(&NetworkTimeTrackerTest::GoodTimeResponseHandler));
|
| + test_server_->RegisterRequestHandler(base::Bind(&GoodTimeResponseHandler));
|
| EXPECT_TRUE(test_server_->Start());
|
| tracker_->SetTimeServerURLForTesting(test_server_->GetURL("/"));
|
|
|
|
|