OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 "components/cronet/host_cache_persistence_manager.h" | 5 #include "components/cronet/host_cache_persistence_manager.h" |
6 | 6 |
7 #include "base/test/scoped_mock_time_message_loop_task_runner.h" | 7 #include "base/test/scoped_mock_time_message_loop_task_runner.h" |
8 #include "base/test/scoped_task_environment.h" | 8 #include "base/test/scoped_task_environment.h" |
9 #include "base/values.h" | 9 #include "base/values.h" |
10 #include "components/prefs/pref_registry_simple.h" | 10 #include "components/prefs/pref_registry_simple.h" |
11 #include "components/prefs/testing_pref_service.h" | 11 #include "components/prefs/testing_pref_service.h" |
12 #include "net/base/net_errors.h" | 12 #include "net/base/net_errors.h" |
13 #include "net/dns/host_cache.h" | 13 #include "net/dns/host_cache.h" |
14 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" |
15 | 15 |
16 namespace cronet { | 16 namespace cronet { |
17 | 17 |
18 class HostCachePersistenceManagerTest : public testing::Test { | 18 class HostCachePersistenceManagerTest : public testing::Test { |
19 protected: | 19 protected: |
20 void SetUp() override { | 20 void SetUp() override { |
21 cache_ = net::HostCache::CreateDefaultCache(); | 21 cache_ = net::HostCache::CreateDefaultCache(); |
22 pref_service_ = base::MakeUnique<TestingPrefServiceSimple>(); | 22 pref_service_ = base::MakeUnique<TestingPrefServiceSimple>(); |
23 pref_service_->registry()->RegisterListPref(kPrefName); | 23 pref_service_->registry()->RegisterListPref(kPrefName); |
24 } | 24 } |
25 | 25 |
26 void MakePersistenceManager(base::TimeDelta delay) { | 26 void MakePersistenceManager(base::TimeDelta delay) { |
27 persistence_manager_ = base::MakeUnique<HostCachePersistenceManager>( | 27 persistence_manager_ = base::MakeUnique<HostCachePersistenceManager>( |
28 cache_.get(), pref_service_.get(), kPrefName, delay); | 28 cache_.get(), pref_service_.get(), kPrefName, delay, nullptr); |
29 } | 29 } |
30 | 30 |
31 // Sets an entry in the HostCache in order to trigger a pref write. The | 31 // Sets an entry in the HostCache in order to trigger a pref write. The |
32 // caller is responsible for making sure this is a change that will trigger | 32 // caller is responsible for making sure this is a change that will trigger |
33 // a write, and the HostCache's interaction with its PersistenceDelegate is | 33 // a write, and the HostCache's interaction with its PersistenceDelegate is |
34 // assumed to work (it's tested in net/dns/host_cache_unittest.cc). | 34 // assumed to work (it's tested in net/dns/host_cache_unittest.cc). |
35 void WriteToCache(const std::string& host) { | 35 void WriteToCache(const std::string& host) { |
36 net::HostCache::Key key(host, net::ADDRESS_FAMILY_UNSPECIFIED, 0); | 36 net::HostCache::Key key(host, net::ADDRESS_FAMILY_UNSPECIFIED, 0); |
37 net::HostCache::Entry entry(net::OK, net::AddressList()); | 37 net::HostCache::Entry entry(net::OK, net::AddressList()); |
38 cache_->Set(key, entry, base::TimeTicks::Now(), | 38 cache_->Set(key, entry, base::TimeTicks::Now(), |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
173 MakePersistenceManager(base::TimeDelta::FromSeconds(1)); | 173 MakePersistenceManager(base::TimeDelta::FromSeconds(1)); |
174 ASSERT_EQ(0u, cache_->size()); | 174 ASSERT_EQ(0u, cache_->size()); |
175 | 175 |
176 CheckPref(0); | 176 CheckPref(0); |
177 InitializePref(); | 177 InitializePref(); |
178 CheckPref(3); | 178 CheckPref(3); |
179 ASSERT_EQ(3u, cache_->size()); | 179 ASSERT_EQ(3u, cache_->size()); |
180 } | 180 } |
181 | 181 |
182 } // namespace cronet | 182 } // namespace cronet |
OLD | NEW |