OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/precache/core/precache_fetcher.h" | 5 #include "components/precache/core/precache_fetcher.h" |
6 | 6 |
7 #include <list> | 7 #include <list> |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 "http://manifest-url-prefix.com/http%253A%252F%252Fbad-manifest.com%252F"; | 95 "http://manifest-url-prefix.com/http%253A%252F%252Fbad-manifest.com%252F"; |
96 const char kGoodManifestURL[] = | 96 const char kGoodManifestURL[] = |
97 "http://manifest-url-prefix.com/http%253A%252F%252Fgood-manifest.com%252F"; | 97 "http://manifest-url-prefix.com/http%253A%252F%252Fgood-manifest.com%252F"; |
98 const char kResourceFetchFailureURL[] = "http://resource-fetch-failure.com"; | 98 const char kResourceFetchFailureURL[] = "http://resource-fetch-failure.com"; |
99 const char kGoodResourceURL[] = "http://good-resource.com"; | 99 const char kGoodResourceURL[] = "http://good-resource.com"; |
100 const char kForcedStartingURLManifestURL[] = | 100 const char kForcedStartingURLManifestURL[] = |
101 "http://manifest-url-prefix.com/" | 101 "http://manifest-url-prefix.com/" |
102 "http%253A%252F%252Fforced-starting-url.com%252F"; | 102 "http%253A%252F%252Fforced-starting-url.com%252F"; |
103 | 103 |
104 TEST_F(PrecacheFetcherTest, FullPrecache) { | 104 TEST_F(PrecacheFetcherTest, FullPrecache) { |
105 CommandLine::ForCurrentProcess()->AppendSwitchASCII( | 105 base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( |
106 switches::kPrecacheConfigSettingsURL, kConfigURL); | 106 switches::kPrecacheConfigSettingsURL, kConfigURL); |
107 CommandLine::ForCurrentProcess()->AppendSwitchASCII( | 107 base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( |
108 switches::kPrecacheManifestURLPrefix, kManfiestURLPrefix); | 108 switches::kPrecacheManifestURLPrefix, kManfiestURLPrefix); |
109 | 109 |
110 std::list<GURL> starting_urls; | 110 std::list<GURL> starting_urls; |
111 starting_urls.push_back(GURL("http://manifest-fetch-failure.com")); | 111 starting_urls.push_back(GURL("http://manifest-fetch-failure.com")); |
112 starting_urls.push_back(GURL("http://bad-manifest.com")); | 112 starting_urls.push_back(GURL("http://bad-manifest.com")); |
113 starting_urls.push_back(GURL("http://good-manifest.com")); | 113 starting_urls.push_back(GURL("http://good-manifest.com")); |
114 starting_urls.push_back(GURL("http://not-in-top-3.com")); | 114 starting_urls.push_back(GURL("http://not-in-top-3.com")); |
115 | 115 |
116 PrecacheConfigurationSettings config; | 116 PrecacheConfigurationSettings config; |
117 config.set_top_sites_count(3); | 117 config.set_top_sites_count(3); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 expected_requested_urls.insert(GURL(kResourceFetchFailureURL)); | 157 expected_requested_urls.insert(GURL(kResourceFetchFailureURL)); |
158 expected_requested_urls.insert(GURL(kGoodResourceURL)); | 158 expected_requested_urls.insert(GURL(kGoodResourceURL)); |
159 expected_requested_urls.insert(GURL(kForcedStartingURLManifestURL)); | 159 expected_requested_urls.insert(GURL(kForcedStartingURLManifestURL)); |
160 | 160 |
161 EXPECT_EQ(expected_requested_urls, url_callback_.requested_urls()); | 161 EXPECT_EQ(expected_requested_urls, url_callback_.requested_urls()); |
162 | 162 |
163 EXPECT_TRUE(precache_delegate_.was_on_done_called()); | 163 EXPECT_TRUE(precache_delegate_.was_on_done_called()); |
164 } | 164 } |
165 | 165 |
166 TEST_F(PrecacheFetcherTest, ConfigFetchFailure) { | 166 TEST_F(PrecacheFetcherTest, ConfigFetchFailure) { |
167 CommandLine::ForCurrentProcess()->AppendSwitchASCII( | 167 base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( |
168 switches::kPrecacheConfigSettingsURL, kConfigURL); | 168 switches::kPrecacheConfigSettingsURL, kConfigURL); |
169 | 169 |
170 std::list<GURL> starting_urls(1, GURL("http://starting-url.com")); | 170 std::list<GURL> starting_urls(1, GURL("http://starting-url.com")); |
171 | 171 |
172 factory_.SetFakeResponse(GURL(kConfigURL), "", | 172 factory_.SetFakeResponse(GURL(kConfigURL), "", |
173 net::HTTP_INTERNAL_SERVER_ERROR, | 173 net::HTTP_INTERNAL_SERVER_ERROR, |
174 net::URLRequestStatus::FAILED); | 174 net::URLRequestStatus::FAILED); |
175 | 175 |
176 PrecacheFetcher precache_fetcher(starting_urls, request_context_.get(), | 176 PrecacheFetcher precache_fetcher(starting_urls, request_context_.get(), |
177 &precache_delegate_); | 177 &precache_delegate_); |
178 precache_fetcher.Start(); | 178 precache_fetcher.Start(); |
179 | 179 |
180 base::MessageLoop::current()->RunUntilIdle(); | 180 base::MessageLoop::current()->RunUntilIdle(); |
181 | 181 |
182 std::multiset<GURL> expected_requested_urls; | 182 std::multiset<GURL> expected_requested_urls; |
183 expected_requested_urls.insert(GURL(kConfigURL)); | 183 expected_requested_urls.insert(GURL(kConfigURL)); |
184 EXPECT_EQ(expected_requested_urls, url_callback_.requested_urls()); | 184 EXPECT_EQ(expected_requested_urls, url_callback_.requested_urls()); |
185 | 185 |
186 EXPECT_TRUE(precache_delegate_.was_on_done_called()); | 186 EXPECT_TRUE(precache_delegate_.was_on_done_called()); |
187 } | 187 } |
188 | 188 |
189 TEST_F(PrecacheFetcherTest, BadConfig) { | 189 TEST_F(PrecacheFetcherTest, BadConfig) { |
190 CommandLine::ForCurrentProcess()->AppendSwitchASCII( | 190 base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( |
191 switches::kPrecacheConfigSettingsURL, kConfigURL); | 191 switches::kPrecacheConfigSettingsURL, kConfigURL); |
192 | 192 |
193 std::list<GURL> starting_urls(1, GURL("http://starting-url.com")); | 193 std::list<GURL> starting_urls(1, GURL("http://starting-url.com")); |
194 | 194 |
195 factory_.SetFakeResponse(GURL(kConfigURL), "bad protobuf", net::HTTP_OK, | 195 factory_.SetFakeResponse(GURL(kConfigURL), "bad protobuf", net::HTTP_OK, |
196 net::URLRequestStatus::SUCCESS); | 196 net::URLRequestStatus::SUCCESS); |
197 | 197 |
198 PrecacheFetcher precache_fetcher(starting_urls, request_context_.get(), | 198 PrecacheFetcher precache_fetcher(starting_urls, request_context_.get(), |
199 &precache_delegate_); | 199 &precache_delegate_); |
200 precache_fetcher.Start(); | 200 precache_fetcher.Start(); |
201 | 201 |
202 base::MessageLoop::current()->RunUntilIdle(); | 202 base::MessageLoop::current()->RunUntilIdle(); |
203 | 203 |
204 std::multiset<GURL> expected_requested_urls; | 204 std::multiset<GURL> expected_requested_urls; |
205 expected_requested_urls.insert(GURL(kConfigURL)); | 205 expected_requested_urls.insert(GURL(kConfigURL)); |
206 EXPECT_EQ(expected_requested_urls, url_callback_.requested_urls()); | 206 EXPECT_EQ(expected_requested_urls, url_callback_.requested_urls()); |
207 | 207 |
208 EXPECT_TRUE(precache_delegate_.was_on_done_called()); | 208 EXPECT_TRUE(precache_delegate_.was_on_done_called()); |
209 } | 209 } |
210 | 210 |
211 TEST_F(PrecacheFetcherTest, Cancel) { | 211 TEST_F(PrecacheFetcherTest, Cancel) { |
212 CommandLine::ForCurrentProcess()->AppendSwitchASCII( | 212 base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( |
213 switches::kPrecacheConfigSettingsURL, kConfigURL); | 213 switches::kPrecacheConfigSettingsURL, kConfigURL); |
214 | 214 |
215 std::list<GURL> starting_urls(1, GURL("http://starting-url.com")); | 215 std::list<GURL> starting_urls(1, GURL("http://starting-url.com")); |
216 | 216 |
217 PrecacheConfigurationSettings config; | 217 PrecacheConfigurationSettings config; |
218 config.set_top_sites_count(1); | 218 config.set_top_sites_count(1); |
219 | 219 |
220 factory_.SetFakeResponse(GURL(kConfigURL), config.SerializeAsString(), | 220 factory_.SetFakeResponse(GURL(kConfigURL), config.SerializeAsString(), |
221 net::HTTP_OK, net::URLRequestStatus::SUCCESS); | 221 net::HTTP_OK, net::URLRequestStatus::SUCCESS); |
222 | 222 |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 EXPECT_TRUE(precache_delegate_.was_on_done_called()); | 264 EXPECT_TRUE(precache_delegate_.was_on_done_called()); |
265 } | 265 } |
266 | 266 |
267 #endif // PRECACHE_CONFIG_SETTINGS_URL | 267 #endif // PRECACHE_CONFIG_SETTINGS_URL |
268 | 268 |
269 #if defined(PRECACHE_MANIFEST_URL_PREFIX) | 269 #if defined(PRECACHE_MANIFEST_URL_PREFIX) |
270 | 270 |
271 // If the default precache manifest URL prefix is defined, then test that it | 271 // If the default precache manifest URL prefix is defined, then test that it |
272 // works with the PrecacheFetcher. | 272 // works with the PrecacheFetcher. |
273 TEST_F(PrecacheFetcherTest, PrecacheUsingDefaultManifestURLPrefix) { | 273 TEST_F(PrecacheFetcherTest, PrecacheUsingDefaultManifestURLPrefix) { |
274 CommandLine::ForCurrentProcess()->AppendSwitchASCII( | 274 base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( |
275 switches::kPrecacheConfigSettingsURL, kConfigURL); | 275 switches::kPrecacheConfigSettingsURL, kConfigURL); |
276 | 276 |
277 std::list<GURL> starting_urls(1, GURL("http://starting-url.com")); | 277 std::list<GURL> starting_urls(1, GURL("http://starting-url.com")); |
278 | 278 |
279 PrecacheConfigurationSettings config; | 279 PrecacheConfigurationSettings config; |
280 config.set_top_sites_count(1); | 280 config.set_top_sites_count(1); |
281 | 281 |
282 GURL manifest_url(PRECACHE_MANIFEST_URL_PREFIX | 282 GURL manifest_url(PRECACHE_MANIFEST_URL_PREFIX |
283 "http%253A%252F%252Fstarting-url.com%252F"); | 283 "http%253A%252F%252Fstarting-url.com%252F"); |
284 | 284 |
(...skipping 14 matching lines...) Expand all Loading... |
299 EXPECT_EQ(expected_requested_urls, url_callback_.requested_urls()); | 299 EXPECT_EQ(expected_requested_urls, url_callback_.requested_urls()); |
300 | 300 |
301 EXPECT_TRUE(precache_delegate_.was_on_done_called()); | 301 EXPECT_TRUE(precache_delegate_.was_on_done_called()); |
302 } | 302 } |
303 | 303 |
304 #endif // PRECACHE_MANIFEST_URL_PREFIX | 304 #endif // PRECACHE_MANIFEST_URL_PREFIX |
305 | 305 |
306 } // namespace | 306 } // namespace |
307 | 307 |
308 } // namespace precache | 308 } // namespace precache |
OLD | NEW |