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

Side by Side Diff: chrome/browser/chromeos/extensions/external_cache_unittest.cc

Issue 829583002: Validate hash_sha256 checksum on .crx update. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add histogram description. Created 5 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 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 "chrome/browser/chromeos/extensions/external_cache.h" 5 #include "chrome/browser/chromeos/extensions/external_cache.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 10
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 extensions::ExternalProviderImpl::kExternalCrx)); 200 extensions::ExternalProviderImpl::kExternalCrx));
201 EXPECT_TRUE(entry3->HasKey( 201 EXPECT_TRUE(entry3->HasKey(
202 extensions::ExternalProviderImpl::kExternalVersion)); 202 extensions::ExternalProviderImpl::kExternalVersion));
203 EXPECT_FALSE(entry3->HasKey( 203 EXPECT_FALSE(entry3->HasKey(
204 extensions::ExternalProviderImpl::kIsFromWebstore)); 204 extensions::ExternalProviderImpl::kIsFromWebstore));
205 205
206 // Update from Webstore. 206 // Update from Webstore.
207 base::FilePath temp_dir(CreateTempDir()); 207 base::FilePath temp_dir(CreateTempDir());
208 base::FilePath temp_file2 = temp_dir.Append("b.crx"); 208 base::FilePath temp_file2 = temp_dir.Append("b.crx");
209 CreateFile(temp_file2); 209 CreateFile(temp_file2);
210 external_cache.OnExtensionDownloadFinished(kTestExtensionId2, 210 external_cache.OnExtensionDownloadFinished(
211 temp_file2, 211 kTestExtensionId2, temp_file2, std::string(), true, GURL(), "2",
212 true, 212 extensions::ExtensionDownloaderDelegate::PingResult(), std::set<int>());
213 GURL(),
214 "2",
215 extensions::ExtensionDownloaderDelegate::PingResult(),
216 std::set<int>());
217 213
218 WaitForCompletion(); 214 WaitForCompletion();
219 EXPECT_EQ(provided_prefs()->size(), 3ul); 215 EXPECT_EQ(provided_prefs()->size(), 3ul);
220 216
221 const base::DictionaryValue* entry2 = NULL; 217 const base::DictionaryValue* entry2 = NULL;
222 ASSERT_TRUE(provided_prefs()->GetDictionary(kTestExtensionId2, &entry2)); 218 ASSERT_TRUE(provided_prefs()->GetDictionary(kTestExtensionId2, &entry2));
223 EXPECT_FALSE(entry2->HasKey( 219 EXPECT_FALSE(entry2->HasKey(
224 extensions::ExternalProviderImpl::kExternalUpdateUrl)); 220 extensions::ExternalProviderImpl::kExternalUpdateUrl));
225 EXPECT_TRUE(entry2->HasKey( 221 EXPECT_TRUE(entry2->HasKey(
226 extensions::ExternalProviderImpl::kExternalCrx)); 222 extensions::ExternalProviderImpl::kExternalCrx));
227 EXPECT_TRUE(entry2->HasKey( 223 EXPECT_TRUE(entry2->HasKey(
228 extensions::ExternalProviderImpl::kExternalVersion)); 224 extensions::ExternalProviderImpl::kExternalVersion));
229 from_webstore = false; 225 from_webstore = false;
230 EXPECT_TRUE(entry2->GetBoolean( 226 EXPECT_TRUE(entry2->GetBoolean(
231 extensions::ExternalProviderImpl::kIsFromWebstore, &from_webstore)); 227 extensions::ExternalProviderImpl::kIsFromWebstore, &from_webstore));
232 EXPECT_TRUE(from_webstore); 228 EXPECT_TRUE(from_webstore);
233 EXPECT_TRUE(base::PathExists( 229 EXPECT_TRUE(base::PathExists(
234 GetExtensionFile(cache_dir, kTestExtensionId2, "2"))); 230 GetExtensionFile(cache_dir, kTestExtensionId2, "2")));
235 231
236 // Update not from Webstore. 232 // Update not from Webstore.
237 base::FilePath temp_file4 = temp_dir.Append("d.crx"); 233 base::FilePath temp_file4 = temp_dir.Append("d.crx");
238 CreateFile(temp_file4); 234 CreateFile(temp_file4);
239 external_cache.OnExtensionDownloadFinished(kTestExtensionId4, 235 external_cache.OnExtensionDownloadFinished(
240 temp_file4, 236 kTestExtensionId4, temp_file4, std::string(), true, GURL(), "4",
241 true, 237 extensions::ExtensionDownloaderDelegate::PingResult(), std::set<int>());
242 GURL(),
243 "4",
244 extensions::ExtensionDownloaderDelegate::PingResult(),
245 std::set<int>());
246 238
247 WaitForCompletion(); 239 WaitForCompletion();
248 EXPECT_EQ(provided_prefs()->size(), 4ul); 240 EXPECT_EQ(provided_prefs()->size(), 4ul);
249 241
250 const base::DictionaryValue* entry4 = NULL; 242 const base::DictionaryValue* entry4 = NULL;
251 ASSERT_TRUE(provided_prefs()->GetDictionary(kTestExtensionId4, &entry4)); 243 ASSERT_TRUE(provided_prefs()->GetDictionary(kTestExtensionId4, &entry4));
252 EXPECT_FALSE(entry4->HasKey( 244 EXPECT_FALSE(entry4->HasKey(
253 extensions::ExternalProviderImpl::kExternalUpdateUrl)); 245 extensions::ExternalProviderImpl::kExternalUpdateUrl));
254 EXPECT_TRUE(entry4->HasKey( 246 EXPECT_TRUE(entry4->HasKey(
255 extensions::ExternalProviderImpl::kExternalCrx)); 247 extensions::ExternalProviderImpl::kExternalCrx));
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 ASSERT_TRUE(provided_prefs()->GetDictionary(kTestExtensionId1, &entry1)); 299 ASSERT_TRUE(provided_prefs()->GetDictionary(kTestExtensionId1, &entry1));
308 EXPECT_TRUE(entry1->HasKey( 300 EXPECT_TRUE(entry1->HasKey(
309 extensions::ExternalProviderImpl::kExternalUpdateUrl)); 301 extensions::ExternalProviderImpl::kExternalUpdateUrl));
310 EXPECT_FALSE(entry1->HasKey( 302 EXPECT_FALSE(entry1->HasKey(
311 extensions::ExternalProviderImpl::kExternalCrx)); 303 extensions::ExternalProviderImpl::kExternalCrx));
312 EXPECT_FALSE(entry1->HasKey( 304 EXPECT_FALSE(entry1->HasKey(
313 extensions::ExternalProviderImpl::kExternalVersion)); 305 extensions::ExternalProviderImpl::kExternalVersion));
314 } 306 }
315 307
316 } // namespace chromeos 308 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698