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

Side by Side Diff: chrome/browser/extensions/api/storage/settings_apitest.cc

Issue 1786263002: Remove uses of ENABLE_CONFIGURATION_POLICY from src/chrome. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: sort Created 4 years, 9 months 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 <utility> 5 #include <utility>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/json/json_writer.h" 8 #include "base/json/json_writer.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
11 #include "base/values.h" 11 #include "base/values.h"
12 #include "chrome/browser/extensions/api/storage/settings_sync_util.h" 12 #include "chrome/browser/extensions/api/storage/settings_sync_util.h"
13 #include "chrome/browser/extensions/extension_apitest.h" 13 #include "chrome/browser/extensions/extension_apitest.h"
14 #include "chrome/browser/extensions/extension_system_factory.h" 14 #include "chrome/browser/extensions/extension_system_factory.h"
15 #include "chrome/browser/policy/schema_registry_service.h"
16 #include "chrome/browser/policy/schema_registry_service_factory.h"
15 #include "chrome/browser/profiles/profile.h" 17 #include "chrome/browser/profiles/profile.h"
16 #include "chrome/browser/ui/browser.h" 18 #include "chrome/browser/ui/browser.h"
19 #include "components/policy/core/browser/browser_policy_connector.h"
20 #include "components/policy/core/common/mock_configuration_policy_provider.h"
21 #include "components/policy/core/common/policy_bundle.h"
22 #include "components/policy/core/common/policy_map.h"
23 #include "components/policy/core/common/policy_namespace.h"
24 #include "components/policy/core/common/policy_types.h"
25 #include "components/policy/core/common/schema.h"
26 #include "components/policy/core/common/schema_map.h"
27 #include "components/policy/core/common/schema_registry.h"
17 #include "extensions/browser/api/storage/settings_namespace.h" 28 #include "extensions/browser/api/storage/settings_namespace.h"
18 #include "extensions/browser/api/storage/storage_frontend.h" 29 #include "extensions/browser/api/storage/storage_frontend.h"
19 #include "extensions/browser/extension_system.h" 30 #include "extensions/browser/extension_system.h"
20 #include "extensions/common/value_builder.h" 31 #include "extensions/common/value_builder.h"
21 #include "extensions/test/extension_test_message_listener.h" 32 #include "extensions/test/extension_test_message_listener.h"
22 #include "extensions/test/result_catcher.h" 33 #include "extensions/test/result_catcher.h"
23 #include "sync/api/fake_sync_change_processor.h" 34 #include "sync/api/fake_sync_change_processor.h"
24 #include "sync/api/sync_change.h" 35 #include "sync/api/sync_change.h"
25 #include "sync/api/sync_change_processor.h" 36 #include "sync/api/sync_change_processor.h"
26 #include "sync/api/sync_change_processor_wrapper_for_test.h" 37 #include "sync/api/sync_change_processor_wrapper_for_test.h"
27 #include "sync/api/sync_error_factory.h" 38 #include "sync/api/sync_error_factory.h"
28 #include "sync/api/sync_error_factory_mock.h" 39 #include "sync/api/sync_error_factory_mock.h"
29 #include "sync/api/syncable_service.h" 40 #include "sync/api/syncable_service.h"
30 #include "testing/gmock/include/gmock/gmock.h" 41 #include "testing/gmock/include/gmock/gmock.h"
31 42
32 #if defined(ENABLE_CONFIGURATION_POLICY)
33 #include "chrome/browser/policy/schema_registry_service.h"
34 #include "chrome/browser/policy/schema_registry_service_factory.h"
35 #include "components/policy/core/browser/browser_policy_connector.h"
36 #include "components/policy/core/common/mock_configuration_policy_provider.h"
37 #include "components/policy/core/common/policy_bundle.h"
38 #include "components/policy/core/common/policy_map.h"
39 #include "components/policy/core/common/policy_namespace.h"
40 #include "components/policy/core/common/policy_types.h"
41 #include "components/policy/core/common/schema.h"
42 #include "components/policy/core/common/schema_map.h"
43 #include "components/policy/core/common/schema_registry.h"
44 #endif
45
46 namespace extensions { 43 namespace extensions {
47 44
48 using settings_namespace::LOCAL; 45 using settings_namespace::LOCAL;
49 using settings_namespace::MANAGED; 46 using settings_namespace::MANAGED;
50 using settings_namespace::Namespace; 47 using settings_namespace::Namespace;
51 using settings_namespace::SYNC; 48 using settings_namespace::SYNC;
52 using settings_namespace::ToString; 49 using settings_namespace::ToString;
53 using testing::Mock; 50 using testing::Mock;
54 using testing::Return; 51 using testing::Return;
55 using testing::_; 52 using testing::_;
(...skipping 16 matching lines...) Expand all
72 MOCK_METHOD1(OnSchemaRegistryUpdated, void(bool)); 69 MOCK_METHOD1(OnSchemaRegistryUpdated, void(bool));
73 }; 70 };
74 71
75 } // namespace 72 } // namespace
76 73
77 class ExtensionSettingsApiTest : public ExtensionApiTest { 74 class ExtensionSettingsApiTest : public ExtensionApiTest {
78 protected: 75 protected:
79 void SetUpInProcessBrowserTestFixture() override { 76 void SetUpInProcessBrowserTestFixture() override {
80 ExtensionApiTest::SetUpInProcessBrowserTestFixture(); 77 ExtensionApiTest::SetUpInProcessBrowserTestFixture();
81 78
82 #if defined(ENABLE_CONFIGURATION_POLICY)
83 EXPECT_CALL(policy_provider_, IsInitializationComplete(_)) 79 EXPECT_CALL(policy_provider_, IsInitializationComplete(_))
84 .WillRepeatedly(Return(true)); 80 .WillRepeatedly(Return(true));
85 policy_provider_.SetAutoRefresh(); 81 policy_provider_.SetAutoRefresh();
86 policy::BrowserPolicyConnector::SetPolicyProviderForTesting( 82 policy::BrowserPolicyConnector::SetPolicyProviderForTesting(
87 &policy_provider_); 83 &policy_provider_);
88 #endif
89 } 84 }
90 85
91 void ReplyWhenSatisfied( 86 void ReplyWhenSatisfied(
92 Namespace settings_namespace, 87 Namespace settings_namespace,
93 const std::string& normal_action, 88 const std::string& normal_action,
94 const std::string& incognito_action) { 89 const std::string& incognito_action) {
95 MaybeLoadAndReplyWhenSatisfied( 90 MaybeLoadAndReplyWhenSatisfied(
96 settings_namespace, normal_action, incognito_action, NULL, false); 91 settings_namespace, normal_action, incognito_action, NULL, false);
97 } 92 }
98 93
(...skipping 26 matching lines...) Expand all
125 void InitSync(syncer::SyncChangeProcessor* sync_processor) { 120 void InitSync(syncer::SyncChangeProcessor* sync_processor) {
126 base::MessageLoop::current()->RunUntilIdle(); 121 base::MessageLoop::current()->RunUntilIdle();
127 InitSyncWithSyncableService(sync_processor, GetSyncableService()); 122 InitSyncWithSyncableService(sync_processor, GetSyncableService());
128 } 123 }
129 124
130 void SendChanges(const syncer::SyncChangeList& change_list) { 125 void SendChanges(const syncer::SyncChangeList& change_list) {
131 base::MessageLoop::current()->RunUntilIdle(); 126 base::MessageLoop::current()->RunUntilIdle();
132 SendChangesToSyncableService(change_list, GetSyncableService()); 127 SendChangesToSyncableService(change_list, GetSyncableService());
133 } 128 }
134 129
135 #if defined(ENABLE_CONFIGURATION_POLICY)
136 void SetPolicies(const base::DictionaryValue& policies) { 130 void SetPolicies(const base::DictionaryValue& policies) {
137 scoped_ptr<policy::PolicyBundle> bundle(new policy::PolicyBundle()); 131 scoped_ptr<policy::PolicyBundle> bundle(new policy::PolicyBundle());
138 policy::PolicyMap& policy_map = bundle->Get(policy::PolicyNamespace( 132 policy::PolicyMap& policy_map = bundle->Get(policy::PolicyNamespace(
139 policy::POLICY_DOMAIN_EXTENSIONS, kManagedStorageExtensionId)); 133 policy::POLICY_DOMAIN_EXTENSIONS, kManagedStorageExtensionId));
140 policy_map.LoadFrom(&policies, policy::POLICY_LEVEL_MANDATORY, 134 policy_map.LoadFrom(&policies, policy::POLICY_LEVEL_MANDATORY,
141 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD); 135 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD);
142 policy_provider_.UpdatePolicy(std::move(bundle)); 136 policy_provider_.UpdatePolicy(std::move(bundle));
143 } 137 }
144 #endif
145 138
146 private: 139 private:
147 const Extension* MaybeLoadAndReplyWhenSatisfied( 140 const Extension* MaybeLoadAndReplyWhenSatisfied(
148 Namespace settings_namespace, 141 Namespace settings_namespace,
149 const std::string& normal_action, 142 const std::string& normal_action,
150 const std::string& incognito_action, 143 const std::string& incognito_action,
151 // May be NULL to imply not loading the extension. 144 // May be NULL to imply not loading the extension.
152 const std::string* extension_dir, 145 const std::string* extension_dir,
153 bool is_final_action) { 146 bool is_final_action) {
154 ExtensionTestMessageListener listener("waiting", true); 147 ExtensionTestMessageListener listener("waiting", true);
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 } 196 }
204 197
205 void SendChangesToSyncableService( 198 void SendChangesToSyncableService(
206 const syncer::SyncChangeList& change_list, 199 const syncer::SyncChangeList& change_list,
207 syncer::SyncableService* settings_service) { 200 syncer::SyncableService* settings_service) {
208 EXPECT_FALSE( 201 EXPECT_FALSE(
209 settings_service->ProcessSyncChanges(FROM_HERE, change_list).IsSet()); 202 settings_service->ProcessSyncChanges(FROM_HERE, change_list).IsSet());
210 } 203 }
211 204
212 protected: 205 protected:
213 #if defined(ENABLE_CONFIGURATION_POLICY)
214 policy::MockConfigurationPolicyProvider policy_provider_; 206 policy::MockConfigurationPolicyProvider policy_provider_;
215 #endif
216 }; 207 };
217 208
218 IN_PROC_BROWSER_TEST_F(ExtensionSettingsApiTest, SimpleTest) { 209 IN_PROC_BROWSER_TEST_F(ExtensionSettingsApiTest, SimpleTest) {
219 ASSERT_TRUE(RunExtensionTest("settings/simple_test")) << message_; 210 ASSERT_TRUE(RunExtensionTest("settings/simple_test")) << message_;
220 } 211 }
221 212
222 // Structure of this test taken from IncognitoSplitMode. 213 // Structure of this test taken from IncognitoSplitMode.
223 // Note that only split-mode incognito is tested, because spanning mode 214 // Note that only split-mode incognito is tested, because spanning mode
224 // incognito looks the same as normal mode when the only API activity comes 215 // incognito looks the same as normal mode when the only API activity comes
225 // from background pages. 216 // from background pages.
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 393
403 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); 394 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
404 EXPECT_TRUE(catcher_incognito.GetNextResult()) << catcher.message(); 395 EXPECT_TRUE(catcher_incognito.GetNextResult()) << catcher.message();
405 } 396 }
406 397
407 IN_PROC_BROWSER_TEST_F(ExtensionSettingsApiTest, IsStorageEnabled) { 398 IN_PROC_BROWSER_TEST_F(ExtensionSettingsApiTest, IsStorageEnabled) {
408 StorageFrontend* frontend = StorageFrontend::Get(browser()->profile()); 399 StorageFrontend* frontend = StorageFrontend::Get(browser()->profile());
409 EXPECT_TRUE(frontend->IsStorageEnabled(LOCAL)); 400 EXPECT_TRUE(frontend->IsStorageEnabled(LOCAL));
410 EXPECT_TRUE(frontend->IsStorageEnabled(SYNC)); 401 EXPECT_TRUE(frontend->IsStorageEnabled(SYNC));
411 402
412 #if defined(ENABLE_CONFIGURATION_POLICY)
413 EXPECT_TRUE(frontend->IsStorageEnabled(MANAGED)); 403 EXPECT_TRUE(frontend->IsStorageEnabled(MANAGED));
414 #else
415 EXPECT_FALSE(frontend->IsStorageEnabled(MANAGED));
416 #endif
417 } 404 }
418 405
419 #if defined(ENABLE_CONFIGURATION_POLICY)
420
421 IN_PROC_BROWSER_TEST_F(ExtensionSettingsApiTest, ExtensionsSchemas) { 406 IN_PROC_BROWSER_TEST_F(ExtensionSettingsApiTest, ExtensionsSchemas) {
422 // Verifies that the Schemas for the extensions domain are created on startup. 407 // Verifies that the Schemas for the extensions domain are created on startup.
423 Profile* profile = browser()->profile(); 408 Profile* profile = browser()->profile();
424 ExtensionSystem* extension_system = ExtensionSystem::Get(profile); 409 ExtensionSystem* extension_system = ExtensionSystem::Get(profile);
425 if (!extension_system->ready().is_signaled()) { 410 if (!extension_system->ready().is_signaled()) {
426 // Wait until the extension system is ready. 411 // Wait until the extension system is ready.
427 base::RunLoop run_loop; 412 base::RunLoop run_loop;
428 extension_system->ready().Post(FROM_HERE, run_loop.QuitClosure()); 413 extension_system->ready().Post(FROM_HERE, run_loop.QuitClosure());
429 run_loop.Run(); 414 run_loop.Run();
430 ASSERT_TRUE(extension_system->ready().is_signaled()); 415 ASSERT_TRUE(extension_system->ready().is_signaled());
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
568 // Verify that the test extension is still installed. 553 // Verify that the test extension is still installed.
569 const Extension* extension = GetSingleLoadedExtension(); 554 const Extension* extension = GetSingleLoadedExtension();
570 ASSERT_TRUE(extension); 555 ASSERT_TRUE(extension);
571 EXPECT_EQ(kManagedStorageExtensionId, extension->id()); 556 EXPECT_EQ(kManagedStorageExtensionId, extension->id());
572 557
573 // Running the test again skips the onInstalled callback, and just triggers 558 // Running the test again skips the onInstalled callback, and just triggers
574 // the onChanged notification. 559 // the onChanged notification.
575 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); 560 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
576 } 561 }
577 562
578 #endif // defined(ENABLE_CONFIGURATION_POLICY)
579
580 IN_PROC_BROWSER_TEST_F(ExtensionSettingsApiTest, ManagedStorageDisabled) { 563 IN_PROC_BROWSER_TEST_F(ExtensionSettingsApiTest, ManagedStorageDisabled) {
581 // Disable the 'managed' namespace. This is redundant when 564 // Disable the 'managed' namespace.
582 // ENABLE_CONFIGURATION_POLICY is not defined.
583 StorageFrontend* frontend = StorageFrontend::Get(browser()->profile()); 565 StorageFrontend* frontend = StorageFrontend::Get(browser()->profile());
584 frontend->DisableStorageForTesting(MANAGED); 566 frontend->DisableStorageForTesting(MANAGED);
585 EXPECT_FALSE(frontend->IsStorageEnabled(MANAGED)); 567 EXPECT_FALSE(frontend->IsStorageEnabled(MANAGED));
586 // Now run the extension. 568 // Now run the extension.
587 ASSERT_TRUE(RunExtensionTest("settings/managed_storage_disabled")) 569 ASSERT_TRUE(RunExtensionTest("settings/managed_storage_disabled"))
588 << message_; 570 << message_;
589 } 571 }
590 572
591 } // namespace extensions 573 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/api/chrome_extensions_api_client.cc ('k') | chrome/browser/io_thread.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698