OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "base/files/file_path.h" | 5 #include "base/files/file_path.h" |
6 #include "chrome/browser/extensions/active_install_data.h" | 6 #include "chrome/browser/extensions/active_install_data.h" |
7 #include "chrome/browser/extensions/install_tracker.h" | 7 #include "chrome/browser/extensions/install_tracker.h" |
8 #include "chrome/test/base/testing_profile.h" | 8 #include "chrome/test/base/testing_profile.h" |
9 #include "content/public/test/test_browser_thread_bundle.h" | 9 #include "content/public/test/test_browser_thread_bundle.h" |
10 #include "extensions/browser/extension_registry.h" | 10 #include "extensions/browser/extension_registry.h" |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 | 54 |
55 ~InstallTrackerTest() override {} | 55 ~InstallTrackerTest() override {} |
56 | 56 |
57 protected: | 57 protected: |
58 Profile* profile() { return profile_.get(); } | 58 Profile* profile() { return profile_.get(); } |
59 InstallTracker* tracker() { return tracker_.get(); } | 59 InstallTracker* tracker() { return tracker_.get(); } |
60 | 60 |
61 void VerifyInstallData(const ActiveInstallData& original, | 61 void VerifyInstallData(const ActiveInstallData& original, |
62 const ActiveInstallData& retrieved) { | 62 const ActiveInstallData& retrieved) { |
63 EXPECT_EQ(original.extension_id, retrieved.extension_id); | 63 EXPECT_EQ(original.extension_id, retrieved.extension_id); |
64 EXPECT_EQ(original.is_ephemeral, retrieved.is_ephemeral); | |
65 EXPECT_EQ(original.percent_downloaded, retrieved.percent_downloaded); | 64 EXPECT_EQ(original.percent_downloaded, retrieved.percent_downloaded); |
66 } | 65 } |
67 | 66 |
68 content::TestBrowserThreadBundle thread_bundle_; | 67 content::TestBrowserThreadBundle thread_bundle_; |
69 scoped_ptr<TestingProfile> profile_; | 68 scoped_ptr<TestingProfile> profile_; |
70 scoped_ptr<InstallTracker> tracker_; | 69 scoped_ptr<InstallTracker> tracker_; |
71 }; | 70 }; |
72 | 71 |
73 // Verifies that active installs are registered and deregistered correctly. | 72 // Verifies that active installs are registered and deregistered correctly. |
74 TEST_F(InstallTrackerTest, AddAndRemoveActiveInstalls) { | 73 TEST_F(InstallTrackerTest, AddAndRemoveActiveInstalls) { |
75 ActiveInstallData install_data1(kExtensionId1); | 74 ActiveInstallData install_data1(kExtensionId1); |
76 install_data1.percent_downloaded = 76; | 75 install_data1.percent_downloaded = 76; |
77 ActiveInstallData install_data2(kExtensionId2); | 76 ActiveInstallData install_data2(kExtensionId2); |
78 install_data2.is_ephemeral = true; | |
79 | 77 |
80 tracker_->AddActiveInstall(install_data1); | 78 tracker_->AddActiveInstall(install_data1); |
81 tracker_->AddActiveInstall(install_data2); | 79 tracker_->AddActiveInstall(install_data2); |
82 | 80 |
83 const ActiveInstallData* retrieved_data1 = | 81 const ActiveInstallData* retrieved_data1 = |
84 tracker_->GetActiveInstall(kExtensionId1); | 82 tracker_->GetActiveInstall(kExtensionId1); |
85 const ActiveInstallData* retrieved_data2 = | 83 const ActiveInstallData* retrieved_data2 = |
86 tracker_->GetActiveInstall(kExtensionId2); | 84 tracker_->GetActiveInstall(kExtensionId2); |
87 const ActiveInstallData* retrieved_data3 = | 85 const ActiveInstallData* retrieved_data3 = |
88 tracker_->GetActiveInstall(kExtensionId3); | 86 tracker_->GetActiveInstall(kExtensionId3); |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 retrieved_data = tracker_->GetActiveInstall(kExtensionId1); | 165 retrieved_data = tracker_->GetActiveInstall(kExtensionId1); |
168 ASSERT_TRUE(retrieved_data); | 166 ASSERT_TRUE(retrieved_data); |
169 EXPECT_EQ(kUpdatedDownloadProgress, retrieved_data->percent_downloaded); | 167 EXPECT_EQ(kUpdatedDownloadProgress, retrieved_data->percent_downloaded); |
170 } | 168 } |
171 | 169 |
172 // Verifies that OnBeginExtensionInstall() registers an active install and | 170 // Verifies that OnBeginExtensionInstall() registers an active install and |
173 // OnInstallFailure() removes an active install. | 171 // OnInstallFailure() removes an active install. |
174 TEST_F(InstallTrackerTest, ExtensionInstallFailure) { | 172 TEST_F(InstallTrackerTest, ExtensionInstallFailure) { |
175 InstallObserver::ExtensionInstallParams install_params( | 173 InstallObserver::ExtensionInstallParams install_params( |
176 kExtensionId1, std::string(), gfx::ImageSkia(), false, false); | 174 kExtensionId1, std::string(), gfx::ImageSkia(), false, false); |
177 install_params.is_ephemeral = true; | |
178 tracker_->OnBeginExtensionInstall(install_params); | 175 tracker_->OnBeginExtensionInstall(install_params); |
179 | 176 |
180 const ActiveInstallData* retrieved_data = | 177 const ActiveInstallData* retrieved_data = |
181 tracker_->GetActiveInstall(kExtensionId1); | 178 tracker_->GetActiveInstall(kExtensionId1); |
182 ASSERT_TRUE(retrieved_data); | 179 ASSERT_TRUE(retrieved_data); |
183 EXPECT_EQ(0, retrieved_data->percent_downloaded); | 180 EXPECT_EQ(0, retrieved_data->percent_downloaded); |
184 EXPECT_EQ(install_params.extension_id, retrieved_data->extension_id); | 181 EXPECT_EQ(install_params.extension_id, retrieved_data->extension_id); |
185 EXPECT_EQ(install_params.is_ephemeral, retrieved_data->is_ephemeral); | |
186 retrieved_data = NULL; | 182 retrieved_data = NULL; |
187 | 183 |
188 tracker_->OnInstallFailure(kExtensionId1); | 184 tracker_->OnInstallFailure(kExtensionId1); |
189 EXPECT_FALSE(tracker_->GetActiveInstall(kExtensionId1)); | 185 EXPECT_FALSE(tracker_->GetActiveInstall(kExtensionId1)); |
190 } | 186 } |
191 | 187 |
192 // Verifies that OnExtensionInstalled() notification removes an active install. | 188 // Verifies that OnExtensionInstalled() notification removes an active install. |
193 TEST_F(InstallTrackerTest, ExtensionInstalledEvent) { | 189 TEST_F(InstallTrackerTest, ExtensionInstalledEvent) { |
194 InstallObserver::ExtensionInstallParams install_params( | 190 InstallObserver::ExtensionInstallParams install_params( |
195 kExtensionId1, std::string(), gfx::ImageSkia(), false, false); | 191 kExtensionId1, std::string(), gfx::ImageSkia(), false, false); |
196 tracker_->OnBeginExtensionInstall(install_params); | 192 tracker_->OnBeginExtensionInstall(install_params); |
197 | 193 |
198 const ActiveInstallData* retrieved_data = | 194 const ActiveInstallData* retrieved_data = |
199 tracker_->GetActiveInstall(kExtensionId1); | 195 tracker_->GetActiveInstall(kExtensionId1); |
200 ASSERT_TRUE(retrieved_data); | 196 ASSERT_TRUE(retrieved_data); |
201 EXPECT_EQ(0, retrieved_data->percent_downloaded); | 197 EXPECT_EQ(0, retrieved_data->percent_downloaded); |
202 EXPECT_EQ(install_params.extension_id, retrieved_data->extension_id); | 198 EXPECT_EQ(install_params.extension_id, retrieved_data->extension_id); |
203 EXPECT_EQ(install_params.is_ephemeral, retrieved_data->is_ephemeral); | |
204 retrieved_data = NULL; | 199 retrieved_data = NULL; |
205 | 200 |
206 // Simulate an extension install. | 201 // Simulate an extension install. |
207 scoped_refptr<Extension> extension = CreateDummyExtension(kExtensionId1); | 202 scoped_refptr<Extension> extension = CreateDummyExtension(kExtensionId1); |
208 ASSERT_TRUE(extension.get()); | 203 ASSERT_TRUE(extension.get()); |
209 ExtensionRegistry* registry = ExtensionRegistry::Get(profile()); | 204 ExtensionRegistry* registry = ExtensionRegistry::Get(profile()); |
210 ASSERT_TRUE(registry); | 205 ASSERT_TRUE(registry); |
211 registry->AddEnabled(extension); | 206 registry->AddEnabled(extension); |
212 registry->TriggerOnInstalled(extension.get(), false); | 207 registry->TriggerOnInstalled(extension.get(), false); |
213 | 208 |
214 EXPECT_FALSE(tracker_->GetActiveInstall(kExtensionId1)); | 209 EXPECT_FALSE(tracker_->GetActiveInstall(kExtensionId1)); |
215 } | 210 } |
OLD | NEW |