Chromium Code Reviews| Index: components/password_manager/core/browser/obsolete_http_cleaner_unittest.cc |
| diff --git a/components/password_manager/core/browser/obsolete_http_cleaner_unittest.cc b/components/password_manager/core/browser/obsolete_http_cleaner_unittest.cc |
| index 7ae1fd70d402cec287f699db6e68d8721fdb67db..19e24b070b28332a23dc45f76f4d827006db0ddb 100644 |
| --- a/components/password_manager/core/browser/obsolete_http_cleaner_unittest.cc |
| +++ b/components/password_manager/core/browser/obsolete_http_cleaner_unittest.cc |
| @@ -18,6 +18,8 @@ |
| using autofill::PasswordForm; |
| using testing::Return; |
| +using testing::SaveArg; |
| +using testing::_; |
| namespace password_manager { |
| @@ -75,7 +77,8 @@ class MockPasswordManagerClient : public StubPasswordManagerClient { |
| explicit MockPasswordManagerClient(PasswordStore* store) : store_(store) {} |
| PasswordStore* GetPasswordStore() const override { return store_; } |
| - MOCK_CONST_METHOD1(IsHSTSActiveForHost, bool(const GURL&)); |
| + MOCK_CONST_METHOD2(PostHSTSQueryForHost, |
| + void(const GURL&, const HSTSCallback& callback)); |
| private: |
| PasswordStore* store_; |
| @@ -130,13 +133,16 @@ TEST_F(ObsoleteHttpCleanerTest, TestBlacklistDeletion) { |
| PasswordForm form = |
| test_case.is_http ? CreateTestHTTPForm() : CreateTestHTTPSForm(); |
| form.blacklisted_by_user = test_case.is_blacklisted; |
| + PasswordManagerClient::HSTSCallback callback; |
| if (test_case.is_http && test_case.is_blacklisted) { |
| - EXPECT_CALL(client(), IsHSTSActiveForHost(form.origin)) |
| - .WillOnce(Return(test_case.is_hsts)); |
| + EXPECT_CALL(client(), PostHSTSQueryForHost(form.origin, _)) |
| + .WillOnce(SaveArg<1>(&callback)); |
| } |
| - EXPECT_CALL(store(), RemoveLogin(form)).Times(test_case.is_deleted); |
| cleaner.OnGetPasswordStoreResults(MakeResults({form})); |
| + EXPECT_CALL(store(), RemoveLogin(form)).Times(test_case.is_deleted); |
| + if (callback) |
|
vasilii
2017/03/10 15:37:43
I think you know exactly when it's true.
jdoerrie
2017/03/13 17:26:21
Done.
|
| + callback.Run(test_case.is_hsts); |
| } |
| } |
| @@ -188,10 +194,16 @@ TEST_F(ObsoleteHttpCleanerTest, TestAutofillableDeletion) { |
| https_form.password_value + base::ASCIIToUTF16("-different"); |
| } |
| - EXPECT_CALL(client(), IsHSTSActiveForHost(https_form.origin)) |
| - .WillOnce(Return(test_case.is_hsts)); |
| - EXPECT_CALL(store(), RemoveLogin(http_form)).Times(test_case.is_deleted); |
| + PasswordManagerClient::HSTSCallback callback; |
| + if (test_case.same_host && test_case.same_user && test_case.same_pass) { |
| + EXPECT_CALL(client(), PostHSTSQueryForHost(http_form.origin, _)) |
| + .WillOnce(SaveArg<1>(&callback)); |
| + } |
| + |
| cleaner.OnGetPasswordStoreResults(MakeResults({http_form, https_form})); |
| + EXPECT_CALL(store(), RemoveLogin(http_form)).Times(test_case.is_deleted); |
| + if (callback) |
|
vasilii
2017/03/10 15:37:43
Same as above.
jdoerrie
2017/03/13 17:26:22
Done.
|
| + callback.Run(test_case.is_hsts); |
| } |
| } |
| @@ -218,14 +230,17 @@ TEST_F(ObsoleteHttpCleanerTest, TestSiteStatsDeletion) { |
| InteractionsStats stats = |
| test_case.is_http ? CreateTestHTTPStats() : CreateTestHTTPSStats(); |
| + PasswordManagerClient::HSTSCallback callback; |
| if (test_case.is_http) { |
| - EXPECT_CALL(client(), IsHSTSActiveForHost(stats.origin_domain)) |
| - .WillOnce(Return(test_case.is_hsts)); |
| + EXPECT_CALL(client(), PostHSTSQueryForHost(stats.origin_domain, _)) |
| + .WillOnce(SaveArg<1>(&callback)); |
| } |
| + cleaner.OnGetSiteStatistics({stats}); |
| EXPECT_CALL(store(), RemoveSiteStatsImpl(stats.origin_domain)) |
| .Times(test_case.is_deleted); |
| - cleaner.OnGetSiteStatistics({stats}); |
| + if (callback) |
|
vasilii
2017/03/10 15:37:43
And here.
jdoerrie
2017/03/13 17:26:22
Done.
|
| + callback.Run(test_case.is_hsts); |
| base::RunLoop().RunUntilIdle(); |
|
vasilii
2017/03/10 15:37:43
A comment? I already almost forgot why it's needed
jdoerrie
2017/03/13 17:26:22
Done.
|
| } |
| } |