OLD | NEW |
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2015 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/browsing_data/passwords_counter.h" | 5 #include "components/browsing_data/core/counters/passwords_counter.h" |
6 | 6 |
7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "chrome/browser/password_manager/password_store_factory.h" | 9 #include "chrome/browser/password_manager/password_store_factory.h" |
10 #include "chrome/browser/sync/test/integration/passwords_helper.h" | 10 #include "chrome/browser/sync/test/integration/passwords_helper.h" |
11 #include "chrome/browser/ui/browser.h" | 11 #include "chrome/browser/ui/browser.h" |
12 #include "chrome/test/base/in_process_browser_test.h" | 12 #include "chrome/test/base/in_process_browser_test.h" |
13 #include "components/autofill/core/common/password_form.h" | 13 #include "components/autofill/core/common/password_form.h" |
14 #include "components/browsing_data/core/browsing_data_utils.h" | 14 #include "components/browsing_data/core/browsing_data_utils.h" |
15 #include "components/browsing_data/core/pref_names.h" | 15 #include "components/browsing_data/core/pref_names.h" |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 // Tests that the counter correctly counts each individual credential on | 129 // Tests that the counter correctly counts each individual credential on |
130 // the same domain. | 130 // the same domain. |
131 IN_PROC_BROWSER_TEST_F(PasswordsCounterTest, SameDomain) { | 131 IN_PROC_BROWSER_TEST_F(PasswordsCounterTest, SameDomain) { |
132 AddLogin("https://www.google.com", "user1", false); | 132 AddLogin("https://www.google.com", "user1", false); |
133 AddLogin("https://www.google.com", "user2", false); | 133 AddLogin("https://www.google.com", "user2", false); |
134 AddLogin("https://www.google.com", "user3", false); | 134 AddLogin("https://www.google.com", "user3", false); |
135 AddLogin("https://www.chrome.com", "user1", false); | 135 AddLogin("https://www.chrome.com", "user1", false); |
136 AddLogin("https://www.chrome.com", "user2", false); | 136 AddLogin("https://www.chrome.com", "user2", false); |
137 | 137 |
138 Profile* profile = browser()->profile(); | 138 Profile* profile = browser()->profile(); |
139 PasswordsCounter counter(profile); | 139 browsing_data::PasswordsCounter counter(PasswordStoreFactory::GetForProfile( |
| 140 profile, ServiceAccessType::EXPLICIT_ACCESS)); |
140 counter.Init(profile->GetPrefs(), base::Bind(&PasswordsCounterTest::Callback, | 141 counter.Init(profile->GetPrefs(), base::Bind(&PasswordsCounterTest::Callback, |
141 base::Unretained(this))); | 142 base::Unretained(this))); |
142 counter.Restart(); | 143 counter.Restart(); |
143 | 144 |
144 WaitForCounting(); | 145 WaitForCounting(); |
145 EXPECT_EQ(5u, GetResult()); | 146 EXPECT_EQ(5u, GetResult()); |
146 } | 147 } |
147 | 148 |
148 // Tests that the counter doesn't count blacklisted entries. | 149 // Tests that the counter doesn't count blacklisted entries. |
149 IN_PROC_BROWSER_TEST_F(PasswordsCounterTest, Blacklisted) { | 150 IN_PROC_BROWSER_TEST_F(PasswordsCounterTest, Blacklisted) { |
150 AddLogin("https://www.google.com", "user1", false); | 151 AddLogin("https://www.google.com", "user1", false); |
151 AddLogin("https://www.google.com", "user2", true); | 152 AddLogin("https://www.google.com", "user2", true); |
152 AddLogin("https://www.chrome.com", "user3", true); | 153 AddLogin("https://www.chrome.com", "user3", true); |
153 | 154 |
154 Profile* profile = browser()->profile(); | 155 Profile* profile = browser()->profile(); |
155 PasswordsCounter counter(profile); | 156 browsing_data::PasswordsCounter counter(PasswordStoreFactory::GetForProfile( |
| 157 profile, ServiceAccessType::EXPLICIT_ACCESS)); |
| 158 |
156 counter.Init(profile->GetPrefs(), base::Bind(&PasswordsCounterTest::Callback, | 159 counter.Init(profile->GetPrefs(), base::Bind(&PasswordsCounterTest::Callback, |
157 base::Unretained(this))); | 160 base::Unretained(this))); |
158 counter.Restart(); | 161 counter.Restart(); |
159 | 162 |
160 WaitForCounting(); | 163 WaitForCounting(); |
161 EXPECT_EQ(1u, GetResult()); | 164 EXPECT_EQ(1u, GetResult()); |
162 } | 165 } |
163 | 166 |
164 // Tests that the counter starts counting automatically when the deletion | 167 // Tests that the counter starts counting automatically when the deletion |
165 // pref changes to true. | 168 // pref changes to true. |
166 IN_PROC_BROWSER_TEST_F(PasswordsCounterTest, PrefChanged) { | 169 IN_PROC_BROWSER_TEST_F(PasswordsCounterTest, PrefChanged) { |
167 SetPasswordsDeletionPref(false); | 170 SetPasswordsDeletionPref(false); |
168 AddLogin("https://www.google.com", "user", false); | 171 AddLogin("https://www.google.com", "user", false); |
169 AddLogin("https://www.chrome.com", "user", false); | 172 AddLogin("https://www.chrome.com", "user", false); |
170 | 173 |
171 Profile* profile = browser()->profile(); | 174 Profile* profile = browser()->profile(); |
172 PasswordsCounter counter(profile); | 175 browsing_data::PasswordsCounter counter(PasswordStoreFactory::GetForProfile( |
| 176 profile, ServiceAccessType::EXPLICIT_ACCESS)); |
173 counter.Init(profile->GetPrefs(), base::Bind(&PasswordsCounterTest::Callback, | 177 counter.Init(profile->GetPrefs(), base::Bind(&PasswordsCounterTest::Callback, |
174 base::Unretained(this))); | 178 base::Unretained(this))); |
175 SetPasswordsDeletionPref(true); | 179 SetPasswordsDeletionPref(true); |
176 | 180 |
177 WaitForCounting(); | 181 WaitForCounting(); |
178 EXPECT_EQ(2u, GetResult()); | 182 EXPECT_EQ(2u, GetResult()); |
179 } | 183 } |
180 | 184 |
181 // Tests that the counter does not count passwords if the deletion | 185 // Tests that the counter does not count passwords if the deletion |
182 // preference is false. | 186 // preference is false. |
183 IN_PROC_BROWSER_TEST_F(PasswordsCounterTest, PrefIsFalse) { | 187 IN_PROC_BROWSER_TEST_F(PasswordsCounterTest, PrefIsFalse) { |
184 SetPasswordsDeletionPref(false); | 188 SetPasswordsDeletionPref(false); |
185 AddLogin("https://www.google.com", "user", false); | 189 AddLogin("https://www.google.com", "user", false); |
186 | 190 |
187 Profile* profile = browser()->profile(); | 191 Profile* profile = browser()->profile(); |
188 PasswordsCounter counter(profile); | 192 browsing_data::PasswordsCounter counter(PasswordStoreFactory::GetForProfile( |
| 193 profile, ServiceAccessType::EXPLICIT_ACCESS)); |
189 counter.Init(profile->GetPrefs(), base::Bind(&PasswordsCounterTest::Callback, | 194 counter.Init(profile->GetPrefs(), base::Bind(&PasswordsCounterTest::Callback, |
190 base::Unretained(this))); | 195 base::Unretained(this))); |
191 counter.Restart(); | 196 counter.Restart(); |
192 | 197 |
193 EXPECT_FALSE(counter.cancelable_task_tracker()->HasTrackedTasks()); | 198 EXPECT_FALSE(counter.cancelable_task_tracker()->HasTrackedTasks()); |
194 } | 199 } |
195 | 200 |
196 // Tests that the counter starts counting automatically when | 201 // Tests that the counter starts counting automatically when |
197 // the password store changes. | 202 // the password store changes. |
198 IN_PROC_BROWSER_TEST_F(PasswordsCounterTest, StoreChanged) { | 203 IN_PROC_BROWSER_TEST_F(PasswordsCounterTest, StoreChanged) { |
199 AddLogin("https://www.google.com", "user", false); | 204 AddLogin("https://www.google.com", "user", false); |
200 | 205 |
201 Profile* profile = browser()->profile(); | 206 Profile* profile = browser()->profile(); |
202 PasswordsCounter counter(profile); | 207 browsing_data::PasswordsCounter counter(PasswordStoreFactory::GetForProfile( |
| 208 profile, ServiceAccessType::EXPLICIT_ACCESS)); |
203 counter.Init(profile->GetPrefs(), base::Bind(&PasswordsCounterTest::Callback, | 209 counter.Init(profile->GetPrefs(), base::Bind(&PasswordsCounterTest::Callback, |
204 base::Unretained(this))); | 210 base::Unretained(this))); |
205 counter.Restart(); | 211 counter.Restart(); |
206 | 212 |
207 WaitForCounting(); | 213 WaitForCounting(); |
208 EXPECT_EQ(1u, GetResult()); | 214 EXPECT_EQ(1u, GetResult()); |
209 | 215 |
210 AddLogin("https://www.chrome.com", "user", false); | 216 AddLogin("https://www.chrome.com", "user", false); |
211 WaitForCounting(); | 217 WaitForCounting(); |
212 EXPECT_EQ(2u, GetResult()); | 218 EXPECT_EQ(2u, GetResult()); |
213 | 219 |
214 RemoveLogin("https://www.chrome.com", "user", false); | 220 RemoveLogin("https://www.chrome.com", "user", false); |
215 WaitForCounting(); | 221 WaitForCounting(); |
216 EXPECT_EQ(1u, GetResult()); | 222 EXPECT_EQ(1u, GetResult()); |
217 } | 223 } |
218 | 224 |
219 // Tests that changing the deletion period restarts the counting, and that | 225 // Tests that changing the deletion period restarts the counting, and that |
220 // the result takes login creation dates into account. | 226 // the result takes login creation dates into account. |
221 IN_PROC_BROWSER_TEST_F(PasswordsCounterTest, PeriodChanged) { | 227 IN_PROC_BROWSER_TEST_F(PasswordsCounterTest, PeriodChanged) { |
222 AddLogin("https://www.google.com", "user", false); | 228 AddLogin("https://www.google.com", "user", false); |
223 RevertTimeInDays(2); | 229 RevertTimeInDays(2); |
224 AddLogin("https://example.com", "user1", false); | 230 AddLogin("https://example.com", "user1", false); |
225 RevertTimeInDays(3); | 231 RevertTimeInDays(3); |
226 AddLogin("https://example.com", "user2", false); | 232 AddLogin("https://example.com", "user2", false); |
227 RevertTimeInDays(30); | 233 RevertTimeInDays(30); |
228 AddLogin("https://www.chrome.com", "user", false); | 234 AddLogin("https://www.chrome.com", "user", false); |
229 | 235 |
230 Profile* profile = browser()->profile(); | 236 Profile* profile = browser()->profile(); |
231 PasswordsCounter counter(profile); | 237 browsing_data::PasswordsCounter counter(PasswordStoreFactory::GetForProfile( |
| 238 profile, ServiceAccessType::EXPLICIT_ACCESS)); |
232 counter.Init(profile->GetPrefs(), base::Bind(&PasswordsCounterTest::Callback, | 239 counter.Init(profile->GetPrefs(), base::Bind(&PasswordsCounterTest::Callback, |
233 base::Unretained(this))); | 240 base::Unretained(this))); |
234 | 241 |
235 SetDeletionPeriodPref(browsing_data::LAST_HOUR); | 242 SetDeletionPeriodPref(browsing_data::LAST_HOUR); |
236 WaitForCounting(); | 243 WaitForCounting(); |
237 EXPECT_EQ(1u, GetResult()); | 244 EXPECT_EQ(1u, GetResult()); |
238 | 245 |
239 SetDeletionPeriodPref(browsing_data::LAST_DAY); | 246 SetDeletionPeriodPref(browsing_data::LAST_DAY); |
240 WaitForCounting(); | 247 WaitForCounting(); |
241 EXPECT_EQ(1u, GetResult()); | 248 EXPECT_EQ(1u, GetResult()); |
242 | 249 |
243 SetDeletionPeriodPref(browsing_data::LAST_WEEK); | 250 SetDeletionPeriodPref(browsing_data::LAST_WEEK); |
244 WaitForCounting(); | 251 WaitForCounting(); |
245 EXPECT_EQ(3u, GetResult()); | 252 EXPECT_EQ(3u, GetResult()); |
246 | 253 |
247 SetDeletionPeriodPref(browsing_data::FOUR_WEEKS); | 254 SetDeletionPeriodPref(browsing_data::FOUR_WEEKS); |
248 WaitForCounting(); | 255 WaitForCounting(); |
249 EXPECT_EQ(3u, GetResult()); | 256 EXPECT_EQ(3u, GetResult()); |
250 | 257 |
251 SetDeletionPeriodPref(browsing_data::EVERYTHING); | 258 SetDeletionPeriodPref(browsing_data::EVERYTHING); |
252 WaitForCounting(); | 259 WaitForCounting(); |
253 EXPECT_EQ(4u, GetResult()); | 260 EXPECT_EQ(4u, GetResult()); |
254 } | 261 } |
255 | 262 |
256 } // namespace | 263 } // namespace |
OLD | NEW |