Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(319)

Side by Side Diff: chrome/browser/extensions/api/declarative/rules_registry_with_cache_unittest.cc

Issue 49693003: Refactor RulesRegistryWithCache to RulesRegistry (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed nits Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/extensions/api/declarative/rules_registry_with_cache.h" 5 #include "chrome/browser/extensions/api/declarative/rules_registry.h"
6 6
7 // Here we test the TestRulesRegistry which is the simplest possible 7 // Here we test the TestRulesRegistry which is the simplest possible
8 // implementation of RulesRegistryWithCache as a proxy for 8 // implementation of RulesRegistryWithCache as a proxy for
9 // RulesRegistryWithCache. 9 // RulesRegistryWithCache.
10 10
11 #include "base/command_line.h" 11 #include "base/command_line.h"
12 #include "base/message_loop/message_loop.h" 12 #include "base/message_loop/message_loop.h"
13 #include "chrome/browser/extensions/api/declarative/rules_cache_delegate.h"
13 #include "chrome/browser/extensions/api/declarative/test_rules_registry.h" 14 #include "chrome/browser/extensions/api/declarative/test_rules_registry.h"
14 #include "chrome/browser/extensions/extension_prefs.h" 15 #include "chrome/browser/extensions/extension_prefs.h"
15 #include "chrome/browser/extensions/extension_service.h" 16 #include "chrome/browser/extensions/extension_service.h"
16 #include "chrome/browser/extensions/test_extension_system.h" 17 #include "chrome/browser/extensions/test_extension_system.h"
17 #include "chrome/browser/value_store/testing_value_store.h" 18 #include "chrome/browser/value_store/testing_value_store.h"
18 #include "chrome/common/extensions/extension.h" 19 #include "chrome/common/extensions/extension.h"
19 #include "chrome/common/extensions/extension_test_util.h" 20 #include "chrome/common/extensions/extension_test_util.h"
20 #include "chrome/test/base/testing_profile.h" 21 #include "chrome/test/base/testing_profile.h"
21 #include "content/public/test/test_browser_thread.h" 22 #include "content/public/test/test_browser_thread.h"
22 #include "testing/gtest/include/gtest/gtest.h" 23 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 103
103 TEST_F(RulesRegistryWithCacheTest, AddRules) { 104 TEST_F(RulesRegistryWithCacheTest, AddRules) {
104 // Check that nothing happens if the concrete RulesRegistry refuses to insert 105 // Check that nothing happens if the concrete RulesRegistry refuses to insert
105 // the rules. 106 // the rules.
106 registry_->SetResult("Error"); 107 registry_->SetResult("Error");
107 EXPECT_EQ("Error", AddRule(kExtensionId, kRuleId)); 108 EXPECT_EQ("Error", AddRule(kExtensionId, kRuleId));
108 EXPECT_EQ(0, GetNumberOfRules(kExtensionId)); 109 EXPECT_EQ(0, GetNumberOfRules(kExtensionId));
109 registry_->SetResult(std::string()); 110 registry_->SetResult(std::string());
110 111
111 // Check that rules can be inserted. 112 // Check that rules can be inserted.
112 EXPECT_EQ("", AddRule(kExtensionId, kRuleId)); 113 EXPECT_EQ("", AddRule(kExtensionId, kRule2Id));
113 EXPECT_EQ(1, GetNumberOfRules(kExtensionId)); 114 EXPECT_EQ(1, GetNumberOfRules(kExtensionId));
114 115
115 // Check that rules cannot be inserted twice with the same kRuleId. 116 // Check that rules cannot be inserted twice with the same kRuleId.
116 EXPECT_NE("", AddRule(kExtensionId, kRuleId)); 117 EXPECT_NE("", AddRule(kExtensionId, kRuleId));
117 EXPECT_EQ(1, GetNumberOfRules(kExtensionId)); 118 EXPECT_EQ(1, GetNumberOfRules(kExtensionId));
118 119
119 // Check that different extensions may use the same kRuleId. 120 // Check that different extensions may use the same kRuleId.
120 EXPECT_EQ("", AddRule(kExtension2Id, kRuleId)); 121 EXPECT_EQ("", AddRule(kExtension2Id, kRuleId));
121 EXPECT_EQ(1, GetNumberOfRules(kExtensionId)); 122 EXPECT_EQ(1, GetNumberOfRules(kExtensionId));
122 EXPECT_EQ(1, GetNumberOfRules(kExtension2Id)); 123 EXPECT_EQ(1, GetNumberOfRules(kExtension2Id));
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 extensions::ExtensionSystem::Get(&profile)); 223 extensions::ExtensionSystem::Get(&profile));
223 ExtensionPrefs* extension_prefs = system->CreateExtensionPrefs( 224 ExtensionPrefs* extension_prefs = system->CreateExtensionPrefs(
224 CommandLine::ForCurrentProcess(), base::FilePath()); 225 CommandLine::ForCurrentProcess(), base::FilePath());
225 system->CreateExtensionService( 226 system->CreateExtensionService(
226 CommandLine::ForCurrentProcess(), base::FilePath(), false); 227 CommandLine::ForCurrentProcess(), base::FilePath(), false);
227 // The value store is first created during CreateExtensionService. 228 // The value store is first created during CreateExtensionService.
228 TestingValueStore* store = system->value_store(); 229 TestingValueStore* store = system->value_store();
229 230
230 const std::string event_name("testEvent"); 231 const std::string event_name("testEvent");
231 const std::string rules_stored_key( 232 const std::string rules_stored_key(
232 RulesRegistryWithCache::RuleStorageOnUI::GetRulesStoredKey( 233 RulesCacheDelegate::GetRulesStoredKey(
233 event_name, profile.IsOffTheRecord())); 234 event_name, profile.IsOffTheRecord()));
234 scoped_ptr<RulesRegistryWithCache::RuleStorageOnUI> ui_part; 235 scoped_ptr<RulesCacheDelegate> ui_part;
235 scoped_refptr<RulesRegistryWithCache> registry(new TestRulesRegistry( 236 scoped_refptr<RulesRegistry> registry(new TestRulesRegistry(
236 &profile, event_name, content::BrowserThread::UI, &ui_part)); 237 &profile, event_name, content::BrowserThread::UI, &ui_part));
237 238
238 // 1. Test the handling of preferences. 239 // 1. Test the handling of preferences.
239 // Default value is always true. 240 // Default value is always true.
240 EXPECT_TRUE(ui_part->GetDeclarativeRulesStored(kExtensionId)); 241 EXPECT_TRUE(ui_part->GetDeclarativeRulesStored(kExtensionId));
241 242
242 extension_prefs->UpdateExtensionPref( 243 extension_prefs->UpdateExtensionPref(
243 kExtensionId, rules_stored_key, new base::FundamentalValue(false)); 244 kExtensionId, rules_stored_key, new base::FundamentalValue(false));
244 EXPECT_FALSE(ui_part->GetDeclarativeRulesStored(kExtensionId)); 245 EXPECT_FALSE(ui_part->GetDeclarativeRulesStored(kExtensionId));
245 246
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 // extension system creates a TestExtensionSystem. 295 // extension system creates a TestExtensionSystem.
295 extensions::TestExtensionSystem* system = 296 extensions::TestExtensionSystem* system =
296 static_cast<extensions::TestExtensionSystem*>( 297 static_cast<extensions::TestExtensionSystem*>(
297 extensions::ExtensionSystem::Get(&profile)); 298 extensions::ExtensionSystem::Get(&profile));
298 ExtensionPrefs* extension_prefs = system->CreateExtensionPrefs( 299 ExtensionPrefs* extension_prefs = system->CreateExtensionPrefs(
299 CommandLine::ForCurrentProcess(), base::FilePath()); 300 CommandLine::ForCurrentProcess(), base::FilePath());
300 301
301 const std::string event_name1("testEvent1"); 302 const std::string event_name1("testEvent1");
302 const std::string event_name2("testEvent2"); 303 const std::string event_name2("testEvent2");
303 const std::string rules_stored_key1( 304 const std::string rules_stored_key1(
304 RulesRegistryWithCache::RuleStorageOnUI::GetRulesStoredKey( 305 RulesCacheDelegate::GetRulesStoredKey(
305 event_name1, profile.IsOffTheRecord())); 306 event_name1, profile.IsOffTheRecord()));
306 const std::string rules_stored_key2( 307 const std::string rules_stored_key2(
307 RulesRegistryWithCache::RuleStorageOnUI::GetRulesStoredKey( 308 RulesCacheDelegate::GetRulesStoredKey(
308 event_name2, profile.IsOffTheRecord())); 309 event_name2, profile.IsOffTheRecord()));
309 scoped_ptr<RulesRegistryWithCache::RuleStorageOnUI> ui_part1; 310 scoped_ptr<RulesCacheDelegate> ui_part1;
310 scoped_refptr<RulesRegistryWithCache> registry1(new TestRulesRegistry( 311 scoped_refptr<RulesRegistry> registry1(new TestRulesRegistry(
311 &profile, event_name1, content::BrowserThread::UI, &ui_part1)); 312 &profile, event_name1, content::BrowserThread::UI, &ui_part1));
312 scoped_ptr<RulesRegistryWithCache::RuleStorageOnUI> ui_part2; 313 scoped_ptr<RulesCacheDelegate> ui_part2;
313 scoped_refptr<RulesRegistryWithCache> registry2(new TestRulesRegistry( 314 scoped_refptr<RulesRegistry> registry2(new TestRulesRegistry(
314 &profile, event_name2, content::BrowserThread::UI, &ui_part2)); 315 &profile, event_name2, content::BrowserThread::UI, &ui_part2));
315 316
316 // Checkt the correct default values. 317 // Checkt the correct default values.
317 EXPECT_TRUE(ui_part1->GetDeclarativeRulesStored(kExtensionId)); 318 EXPECT_TRUE(ui_part1->GetDeclarativeRulesStored(kExtensionId));
318 EXPECT_TRUE(ui_part2->GetDeclarativeRulesStored(kExtensionId)); 319 EXPECT_TRUE(ui_part2->GetDeclarativeRulesStored(kExtensionId));
319 320
320 // Update the flag for the first registry. 321 // Update the flag for the first registry.
321 extension_prefs->UpdateExtensionPref( 322 extension_prefs->UpdateExtensionPref(
322 kExtensionId, rules_stored_key1, new base::FundamentalValue(false)); 323 kExtensionId, rules_stored_key1, new base::FundamentalValue(false));
323 EXPECT_FALSE(ui_part1->GetDeclarativeRulesStored(kExtensionId)); 324 EXPECT_FALSE(ui_part1->GetDeclarativeRulesStored(kExtensionId));
(...skipping 18 matching lines...) Expand all
342 "web_request_all_host_permissions.json", 343 "web_request_all_host_permissions.json",
343 Manifest::INVALID_LOCATION, 344 Manifest::INVALID_LOCATION,
344 Extension::NO_FLAGS, 345 Extension::NO_FLAGS,
345 kExtensionId, 346 kExtensionId,
346 &error)); 347 &error));
347 ASSERT_TRUE(error.empty()); 348 ASSERT_TRUE(error.empty());
348 extension_service->AddExtension(extension.get()); 349 extension_service->AddExtension(extension.get());
349 system->SetReady(); 350 system->SetReady();
350 351
351 // 2. First run, adding a rule for the extension. 352 // 2. First run, adding a rule for the extension.
352 scoped_ptr<RulesRegistryWithCache::RuleStorageOnUI> ui_part; 353 scoped_ptr<RulesCacheDelegate> ui_part;
353 scoped_refptr<TestRulesRegistry> registry(new TestRulesRegistry( 354 scoped_refptr<TestRulesRegistry> registry(new TestRulesRegistry(
354 &profile, "testEvent", content::BrowserThread::UI, &ui_part)); 355 &profile, "testEvent", content::BrowserThread::UI, &ui_part));
355 AddRule(kExtensionId, kRuleId, registry.get()); 356 AddRule(kExtensionId, kRuleId, registry.get());
356 message_loop_.RunUntilIdle(); // Posted tasks store the added rule. 357 message_loop_.RunUntilIdle(); // Posted tasks store the added rule.
357 EXPECT_EQ(1, GetNumberOfRules(kExtensionId, registry.get())); 358 EXPECT_EQ(1, GetNumberOfRules(kExtensionId, registry.get()));
358 359
359 // 3. Restart the TestRulesRegistry and see the rule still there. 360 // 3. Restart the TestRulesRegistry and see the rule still there.
360 registry = new TestRulesRegistry( 361 registry = new TestRulesRegistry(
361 &profile, "testEvent", content::BrowserThread::UI, &ui_part); 362 &profile, "testEvent", content::BrowserThread::UI, &ui_part);
362 message_loop_.RunUntilIdle(); // Posted tasks retrieve the stored rule. 363 message_loop_.RunUntilIdle(); // Posted tasks retrieve the stored rule.
363 EXPECT_EQ(1, GetNumberOfRules(kExtensionId, registry.get())); 364 EXPECT_EQ(1, GetNumberOfRules(kExtensionId, registry.get()));
364 } 365 }
365 366
366 } // namespace extensions 367 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698