| 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 "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 #include <utility> | 10 #include <utility> |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 109 void CreateFile(const base::FilePath& file) { | 109 void CreateFile(const base::FilePath& file) { |
| 110 EXPECT_EQ(base::WriteFile(file, NULL, 0), 0); | 110 EXPECT_EQ(base::WriteFile(file, NULL, 0), 0); |
| 111 } | 111 } |
| 112 | 112 |
| 113 base::FilePath GetExtensionFile(const base::FilePath& dir, | 113 base::FilePath GetExtensionFile(const base::FilePath& dir, |
| 114 const std::string& id, | 114 const std::string& id, |
| 115 const std::string& version) { | 115 const std::string& version) { |
| 116 return dir.Append(id + "-" + version + ".crx"); | 116 return dir.Append(id + "-" + version + ".crx"); |
| 117 } | 117 } |
| 118 | 118 |
| 119 base::DictionaryValue* CreateEntryWithUpdateUrl(bool from_webstore) { | 119 std::unique_ptr<base::DictionaryValue> CreateEntryWithUpdateUrl( |
| 120 base::DictionaryValue* entry = new base::DictionaryValue; | 120 bool from_webstore) { |
| 121 auto entry = base::MakeUnique<base::DictionaryValue>(); |
| 121 entry->SetString(extensions::ExternalProviderImpl::kExternalUpdateUrl, | 122 entry->SetString(extensions::ExternalProviderImpl::kExternalUpdateUrl, |
| 122 from_webstore ? extension_urls::GetWebstoreUpdateUrl().spec() | 123 from_webstore ? extension_urls::GetWebstoreUpdateUrl().spec() |
| 123 : kNonWebstoreUpdateUrl); | 124 : kNonWebstoreUpdateUrl); |
| 124 return entry; | 125 return entry; |
| 125 } | 126 } |
| 126 | 127 |
| 127 void WaitForCompletion() { | 128 void WaitForCompletion() { |
| 128 // Wait for background task completion that sends replay to UI thread. | 129 // Wait for background task completion that sends replay to UI thread. |
| 129 pool_owner_->pool()->FlushForTesting(); | 130 pool_owner_->pool()->FlushForTesting(); |
| 130 // Wait for UI thread task completion. | 131 // Wait for UI thread task completion. |
| (...skipping 24 matching lines...) Expand all Loading... |
| 155 | 156 |
| 156 DISALLOW_COPY_AND_ASSIGN(ExternalCacheTest); | 157 DISALLOW_COPY_AND_ASSIGN(ExternalCacheTest); |
| 157 }; | 158 }; |
| 158 | 159 |
| 159 TEST_F(ExternalCacheTest, Basic) { | 160 TEST_F(ExternalCacheTest, Basic) { |
| 160 base::FilePath cache_dir(CreateCacheDir(false)); | 161 base::FilePath cache_dir(CreateCacheDir(false)); |
| 161 ExternalCache external_cache(cache_dir, request_context_getter(), | 162 ExternalCache external_cache(cache_dir, request_context_getter(), |
| 162 background_task_runner(), this, true, false); | 163 background_task_runner(), this, true, false); |
| 163 | 164 |
| 164 std::unique_ptr<base::DictionaryValue> prefs(new base::DictionaryValue); | 165 std::unique_ptr<base::DictionaryValue> prefs(new base::DictionaryValue); |
| 165 base::DictionaryValue* dict = CreateEntryWithUpdateUrl(true); | 166 prefs->Set(kTestExtensionId1, CreateEntryWithUpdateUrl(true)); |
| 166 prefs->Set(kTestExtensionId1, dict); | |
| 167 CreateExtensionFile(cache_dir, kTestExtensionId1, "1"); | 167 CreateExtensionFile(cache_dir, kTestExtensionId1, "1"); |
| 168 dict = CreateEntryWithUpdateUrl(true); | 168 prefs->Set(kTestExtensionId2, CreateEntryWithUpdateUrl(true)); |
| 169 prefs->Set(kTestExtensionId2, dict); | |
| 170 prefs->Set(kTestExtensionId3, CreateEntryWithUpdateUrl(false)); | 169 prefs->Set(kTestExtensionId3, CreateEntryWithUpdateUrl(false)); |
| 171 CreateExtensionFile(cache_dir, kTestExtensionId3, "3"); | 170 CreateExtensionFile(cache_dir, kTestExtensionId3, "3"); |
| 172 prefs->Set(kTestExtensionId4, CreateEntryWithUpdateUrl(false)); | 171 prefs->Set(kTestExtensionId4, CreateEntryWithUpdateUrl(false)); |
| 173 | 172 |
| 174 external_cache.UpdateExtensionsList(std::move(prefs)); | 173 external_cache.UpdateExtensionsList(std::move(prefs)); |
| 175 WaitForCompletion(); | 174 WaitForCompletion(); |
| 176 | 175 |
| 177 ASSERT_TRUE(provided_prefs()); | 176 ASSERT_TRUE(provided_prefs()); |
| 178 EXPECT_EQ(provided_prefs()->size(), 2ul); | 177 EXPECT_EQ(provided_prefs()->size(), 2ul); |
| 179 | 178 |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 ASSERT_TRUE(provided_prefs()->GetDictionary(kTestExtensionId1, &entry1)); | 300 ASSERT_TRUE(provided_prefs()->GetDictionary(kTestExtensionId1, &entry1)); |
| 302 EXPECT_TRUE(entry1->HasKey( | 301 EXPECT_TRUE(entry1->HasKey( |
| 303 extensions::ExternalProviderImpl::kExternalUpdateUrl)); | 302 extensions::ExternalProviderImpl::kExternalUpdateUrl)); |
| 304 EXPECT_FALSE(entry1->HasKey( | 303 EXPECT_FALSE(entry1->HasKey( |
| 305 extensions::ExternalProviderImpl::kExternalCrx)); | 304 extensions::ExternalProviderImpl::kExternalCrx)); |
| 306 EXPECT_FALSE(entry1->HasKey( | 305 EXPECT_FALSE(entry1->HasKey( |
| 307 extensions::ExternalProviderImpl::kExternalVersion)); | 306 extensions::ExternalProviderImpl::kExternalVersion)); |
| 308 } | 307 } |
| 309 | 308 |
| 310 } // namespace chromeos | 309 } // namespace chromeos |
| OLD | NEW |