Index: chrome/browser/component_updater/subresource_filter_component_installer_unittest.cc |
diff --git a/chrome/browser/component_updater/subresource_filter_component_installer_unittest.cc b/chrome/browser/component_updater/subresource_filter_component_installer_unittest.cc |
index 8a05ca813833ee267fefc4df1f717f61e1fcc2ac..7daff3cae126427192e6a2afa828e2a6d9c472dd 100644 |
--- a/chrome/browser/component_updater/subresource_filter_component_installer_unittest.cc |
+++ b/chrome/browser/component_updater/subresource_filter_component_installer_unittest.cc |
@@ -16,6 +16,8 @@ |
#include "base/run_loop.h" |
#include "base/strings/string_util.h" |
#include "base/test/test_simple_task_runner.h" |
+#include "base/version.h" |
+#include "chrome/browser/after_startup_task_utils.h" |
#include "chrome/test/base/testing_browser_process.h" |
#include "components/component_updater/mock_component_updater_service.h" |
#include "components/prefs/testing_pref_service.h" |
@@ -38,18 +40,19 @@ class TestRulesetService : public subresource_filter::RulesetService { |
~TestRulesetService() override {} |
- void NotifyRulesetVersionAvailable(const std::string& rules, |
- const base::Version& version) override { |
- rules_ = rules; |
- version_ = version; |
+ void IndexAndStoreAndPublishRulesetVersionIfNeeded( |
+ const base::FilePath& unindexed_ruleset_path, |
+ const std::string& content_version) override { |
+ ruleset_path_ = unindexed_ruleset_path; |
+ content_version_ = content_version; |
} |
- const std::string& rules() { return rules_; } |
- const base::Version& version() { return version_; } |
+ const base::FilePath& ruleset_path() const { return ruleset_path_; } |
+ const std::string& content_version() const { return content_version_; } |
private: |
- std::string rules_; |
- base::Version version_; |
+ base::FilePath ruleset_path_; |
+ std::string content_version_; |
DISALLOW_COPY_AND_ASSIGN(TestRulesetService); |
}; |
@@ -81,7 +84,8 @@ class SubresourceFilterComponentInstallerTest : public PlatformTest { |
ASSERT_TRUE(component_install_dir_.CreateUniqueTempDir()); |
ASSERT_TRUE(ruleset_service_dir_.CreateUniqueTempDir()); |
- subresource_filter::RulesetVersion::RegisterPrefs(pref_service_.registry()); |
+ subresource_filter::IndexedRulesetVersion::RegisterPrefs( |
+ pref_service_.registry()); |
std::unique_ptr<subresource_filter::RulesetService> service( |
new TestRulesetService(&pref_service_, task_runner_, |
@@ -89,8 +93,11 @@ class SubresourceFilterComponentInstallerTest : public PlatformTest { |
TestingBrowserProcess::GetGlobal()->SetRulesetService(std::move(service)); |
traits_.reset(new SubresourceFilterComponentInstallerTraits()); |
+ AfterStartupTaskUtils::SetBrowserStartupIsCompleteForTesting(); |
} |
+ void TearDown() override { AfterStartupTaskUtils::UnsafeResetForTesting(); } |
+ |
TestRulesetService* service() { |
return static_cast<TestRulesetService*>( |
TestingBrowserProcess::GetGlobal() |
@@ -109,24 +116,24 @@ class SubresourceFilterComponentInstallerTest : public PlatformTest { |
return component_install_dir_.path(); |
} |
- void LoadSubresourceFilterRules(const std::string& rules) { |
- const base::DictionaryValue manifest; |
+ void LoadSubresourceFilterRules(const std::string& ruleset_contents) { |
+ std::unique_ptr<base::DictionaryValue> manifest(new base::DictionaryValue); |
const base::FilePath subresource_filters_dir(component_install_dir()); |
const base::FilePath first_subresource_filter_file = |
subresource_filters_dir.Append( |
FILE_PATH_LITERAL("subresource_filter_rules.blob")); |
- WriteSubresourceFilterToFile(rules, first_subresource_filter_file); |
+ WriteSubresourceFilterToFile(ruleset_contents, |
+ first_subresource_filter_file); |
ASSERT_TRUE( |
- traits_->VerifyInstallation(manifest, component_install_dir_.path())); |
+ traits_->VerifyInstallation(*manifest, component_install_dir_.path())); |
- const base::Version v("1.0"); |
- // TODO(melandory): test ComponentReady. |
- traits_->LoadSubresourceFilterRulesFromDisk(component_install_dir(), v); |
- // Drain the RunLoop created by the TestBrowserThreadBundle |
+ const base::Version expected_version("1.2.3.4"); |
+ traits_->ComponentReady(expected_version, component_install_dir(), |
+ std::move(manifest)); |
base::RunLoop().RunUntilIdle(); |
- EXPECT_EQ(v, service()->version()); |
+ EXPECT_EQ(expected_version.GetString(), service()->content_version()); |
} |
private: |
@@ -145,7 +152,7 @@ TEST_F(SubresourceFilterComponentInstallerTest, |
base::FieldTrialList field_trial_list(nullptr); |
subresource_filter::testing::ScopedSubresourceFilterFeatureToggle |
scoped_feature_toggle(base::FeatureList::OVERRIDE_DISABLE_FEATURE, |
- subresource_filter::kActivationStateDisabled); |
+ subresource_filter::kActivationStateEnabled); |
std::unique_ptr<SubresourceFilterMockComponentUpdateService> |
component_updater(new SubresourceFilterMockComponentUpdateService()); |
EXPECT_CALL(*component_updater, RegisterComponent(testing::_)).Times(0); |
@@ -158,7 +165,7 @@ TEST_F(SubresourceFilterComponentInstallerTest, |
base::FieldTrialList field_trial_list(nullptr); |
subresource_filter::testing::ScopedSubresourceFilterFeatureToggle |
scoped_feature_toggle(base::FeatureList::OVERRIDE_ENABLE_FEATURE, |
- subresource_filter::kActivationStateEnabled); |
+ subresource_filter::kActivationStateDisabled); |
std::unique_ptr<SubresourceFilterMockComponentUpdateService> |
component_updater(new SubresourceFilterMockComponentUpdateService()); |
EXPECT_CALL(*component_updater, RegisterComponent(testing::_)).Times(1); |
@@ -167,14 +174,23 @@ TEST_F(SubresourceFilterComponentInstallerTest, |
} |
TEST_F(SubresourceFilterComponentInstallerTest, LoadEmptyFile) { |
+ ASSERT_TRUE(service()); |
ASSERT_NO_FATAL_FAILURE(LoadSubresourceFilterRules(std::string())); |
+ std::string actual_ruleset_contents; |
+ ASSERT_TRUE(base::ReadFileToString(service()->ruleset_path(), |
+ &actual_ruleset_contents)); |
+ EXPECT_TRUE(actual_ruleset_contents.empty()) << actual_ruleset_contents; |
} |
TEST_F(SubresourceFilterComponentInstallerTest, LoadFileWithData) { |
ASSERT_TRUE(service()); |
- const std::string rules("example.com"); |
- ASSERT_NO_FATAL_FAILURE(LoadSubresourceFilterRules(rules)); |
- EXPECT_EQ(rules, service()->rules()); |
+ const std::string expected_ruleset_contents("foobar"); |
+ ASSERT_NO_FATAL_FAILURE( |
+ LoadSubresourceFilterRules(expected_ruleset_contents)); |
+ std::string actual_ruleset_contents; |
+ ASSERT_TRUE(base::ReadFileToString(service()->ruleset_path(), |
+ &actual_ruleset_contents)); |
+ EXPECT_EQ(expected_ruleset_contents, actual_ruleset_contents); |
} |
} // namespace component_updater |