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

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: Fix histogram value. Created 5 years, 10 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 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 extensions::ExternalProviderImpl::kExternalCrx)); 198 extensions::ExternalProviderImpl::kExternalCrx));
199 EXPECT_TRUE(entry3->HasKey( 199 EXPECT_TRUE(entry3->HasKey(
200 extensions::ExternalProviderImpl::kExternalVersion)); 200 extensions::ExternalProviderImpl::kExternalVersion));
201 EXPECT_FALSE(entry3->HasKey( 201 EXPECT_FALSE(entry3->HasKey(
202 extensions::ExternalProviderImpl::kIsFromWebstore)); 202 extensions::ExternalProviderImpl::kIsFromWebstore));
203 203
204 // Update from Webstore. 204 // Update from Webstore.
205 base::FilePath temp_dir(CreateTempDir()); 205 base::FilePath temp_dir(CreateTempDir());
206 base::FilePath temp_file2 = temp_dir.Append("b.crx"); 206 base::FilePath temp_file2 = temp_dir.Append("b.crx");
207 CreateFile(temp_file2); 207 CreateFile(temp_file2);
208 external_cache.OnExtensionDownloadFinished(kTestExtensionId2, 208 external_cache.OnExtensionDownloadFinished(
209 temp_file2, 209 extensions::CRXFileInfo(kTestExtensionId2, temp_file2), true, GURL(), "2",
210 true, 210 extensions::ExtensionDownloaderDelegate::PingResult(), std::set<int>());
211 GURL(),
212 "2",
213 extensions::ExtensionDownloaderDelegate::PingResult(),
214 std::set<int>());
215 211
216 WaitForCompletion(); 212 WaitForCompletion();
217 EXPECT_EQ(provided_prefs()->size(), 3ul); 213 EXPECT_EQ(provided_prefs()->size(), 3ul);
218 214
219 const base::DictionaryValue* entry2 = NULL; 215 const base::DictionaryValue* entry2 = NULL;
220 ASSERT_TRUE(provided_prefs()->GetDictionary(kTestExtensionId2, &entry2)); 216 ASSERT_TRUE(provided_prefs()->GetDictionary(kTestExtensionId2, &entry2));
221 EXPECT_FALSE(entry2->HasKey( 217 EXPECT_FALSE(entry2->HasKey(
222 extensions::ExternalProviderImpl::kExternalUpdateUrl)); 218 extensions::ExternalProviderImpl::kExternalUpdateUrl));
223 EXPECT_TRUE(entry2->HasKey( 219 EXPECT_TRUE(entry2->HasKey(
224 extensions::ExternalProviderImpl::kExternalCrx)); 220 extensions::ExternalProviderImpl::kExternalCrx));
225 EXPECT_TRUE(entry2->HasKey( 221 EXPECT_TRUE(entry2->HasKey(
226 extensions::ExternalProviderImpl::kExternalVersion)); 222 extensions::ExternalProviderImpl::kExternalVersion));
227 from_webstore = false; 223 from_webstore = false;
228 EXPECT_TRUE(entry2->GetBoolean( 224 EXPECT_TRUE(entry2->GetBoolean(
229 extensions::ExternalProviderImpl::kIsFromWebstore, &from_webstore)); 225 extensions::ExternalProviderImpl::kIsFromWebstore, &from_webstore));
230 EXPECT_TRUE(from_webstore); 226 EXPECT_TRUE(from_webstore);
231 EXPECT_TRUE(base::PathExists( 227 EXPECT_TRUE(base::PathExists(
232 GetExtensionFile(cache_dir, kTestExtensionId2, "2"))); 228 GetExtensionFile(cache_dir, kTestExtensionId2, "2")));
233 229
234 // Update not from Webstore. 230 // Update not from Webstore.
235 base::FilePath temp_file4 = temp_dir.Append("d.crx"); 231 base::FilePath temp_file4 = temp_dir.Append("d.crx");
236 CreateFile(temp_file4); 232 CreateFile(temp_file4);
237 external_cache.OnExtensionDownloadFinished(kTestExtensionId4, 233 external_cache.OnExtensionDownloadFinished(
238 temp_file4, 234 extensions::CRXFileInfo(kTestExtensionId4, temp_file4), true, GURL(), "4",
239 true, 235 extensions::ExtensionDownloaderDelegate::PingResult(), std::set<int>());
240 GURL(),
241 "4",
242 extensions::ExtensionDownloaderDelegate::PingResult(),
243 std::set<int>());
244 236
245 WaitForCompletion(); 237 WaitForCompletion();
246 EXPECT_EQ(provided_prefs()->size(), 4ul); 238 EXPECT_EQ(provided_prefs()->size(), 4ul);
247 239
248 const base::DictionaryValue* entry4 = NULL; 240 const base::DictionaryValue* entry4 = NULL;
249 ASSERT_TRUE(provided_prefs()->GetDictionary(kTestExtensionId4, &entry4)); 241 ASSERT_TRUE(provided_prefs()->GetDictionary(kTestExtensionId4, &entry4));
250 EXPECT_FALSE(entry4->HasKey( 242 EXPECT_FALSE(entry4->HasKey(
251 extensions::ExternalProviderImpl::kExternalUpdateUrl)); 243 extensions::ExternalProviderImpl::kExternalUpdateUrl));
252 EXPECT_TRUE(entry4->HasKey( 244 EXPECT_TRUE(entry4->HasKey(
253 extensions::ExternalProviderImpl::kExternalCrx)); 245 extensions::ExternalProviderImpl::kExternalCrx));
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
305 ASSERT_TRUE(provided_prefs()->GetDictionary(kTestExtensionId1, &entry1)); 297 ASSERT_TRUE(provided_prefs()->GetDictionary(kTestExtensionId1, &entry1));
306 EXPECT_TRUE(entry1->HasKey( 298 EXPECT_TRUE(entry1->HasKey(
307 extensions::ExternalProviderImpl::kExternalUpdateUrl)); 299 extensions::ExternalProviderImpl::kExternalUpdateUrl));
308 EXPECT_FALSE(entry1->HasKey( 300 EXPECT_FALSE(entry1->HasKey(
309 extensions::ExternalProviderImpl::kExternalCrx)); 301 extensions::ExternalProviderImpl::kExternalCrx));
310 EXPECT_FALSE(entry1->HasKey( 302 EXPECT_FALSE(entry1->HasKey(
311 extensions::ExternalProviderImpl::kExternalVersion)); 303 extensions::ExternalProviderImpl::kExternalVersion));
312 } 304 }
313 305
314 } // namespace chromeos 306 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698