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

Side by Side Diff: chrome/browser/extensions/standard_management_policy_provider_unittest.cc

Issue 500043003: Add PolicyProvider to ExtensionManagement (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ext-1
Patch Set: rebase, format correction Created 6 years, 3 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 "base/memory/scoped_ptr.h"
5 #include "base/message_loop/message_loop.h" 6 #include "base/message_loop/message_loop.h"
6 #include "base/strings/string_number_conversions.h" 7 #include "base/strings/string_number_conversions.h"
7 #include "base/values.h" 8 #include "base/values.h"
8 #include "chrome/browser/extensions/blacklist.h" 9 #include "chrome/browser/extensions/blacklist.h"
10 #include "chrome/browser/extensions/extension_management.h"
9 #include "chrome/browser/extensions/standard_management_policy_provider.h" 11 #include "chrome/browser/extensions/standard_management_policy_provider.h"
10 #include "chrome/browser/extensions/test_extension_prefs.h" 12 #include "chrome/browser/extensions/test_extension_prefs.h"
11 #include "content/public/test/test_browser_thread.h" 13 #include "content/public/test/test_browser_thread.h"
12 #include "extensions/browser/extension_prefs.h" 14 #include "extensions/browser/extension_prefs.h"
13 #include "extensions/common/manifest_constants.h" 15 #include "extensions/common/manifest_constants.h"
14 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
15 17
16 namespace extensions { 18 namespace extensions {
17 19
18 class StandardManagementPolicyProviderTest : public testing::Test { 20 class StandardManagementPolicyProviderTest : public testing::Test {
19 public: 21 public:
20 StandardManagementPolicyProviderTest() 22 StandardManagementPolicyProviderTest()
21 : ui_thread_(content::BrowserThread::UI, &message_loop_), 23 : ui_thread_(content::BrowserThread::UI, &message_loop_),
22 file_thread_(content::BrowserThread::FILE, &message_loop_), 24 file_thread_(content::BrowserThread::FILE, &message_loop_),
23 prefs_(message_loop_.message_loop_proxy().get()), 25 prefs_(message_loop_.message_loop_proxy().get()),
24 provider_(prefs()) {} 26 settings_(new ExtensionManagement(prefs()->pref_service())),
27 provider_(settings_.get()) {}
25 28
26 protected: 29 protected:
27 ExtensionPrefs* prefs() { 30 ExtensionPrefs* prefs() {
28 return prefs_.prefs(); 31 return prefs_.prefs();
29 } 32 }
30 33
31 scoped_refptr<const Extension> CreateExtension(Manifest::Location location, 34 scoped_refptr<const Extension> CreateExtension(Manifest::Location location,
32 bool required) { 35 bool required) {
33 base::DictionaryValue values; 36 base::DictionaryValue values;
34 values.SetString(manifest_keys::kName, "test"); 37 values.SetString(manifest_keys::kName, "test");
35 values.SetString(manifest_keys::kVersion, "0.1"); 38 values.SetString(manifest_keys::kVersion, "0.1");
36 std::string error; 39 std::string error;
37 scoped_refptr<const Extension> extension = Extension::Create( 40 scoped_refptr<const Extension> extension = Extension::Create(
38 base::FilePath(), location, values, Extension::NO_FLAGS, &error); 41 base::FilePath(), location, values, Extension::NO_FLAGS, &error);
39 CHECK(extension.get()) << error; 42 CHECK(extension.get()) << error;
40 return extension; 43 return extension;
41 } 44 }
42 45
43 base::MessageLoop message_loop_; 46 base::MessageLoop message_loop_;
44 content::TestBrowserThread ui_thread_; 47 content::TestBrowserThread ui_thread_;
45 content::TestBrowserThread file_thread_; 48 content::TestBrowserThread file_thread_;
46 49
47 TestExtensionPrefs prefs_; 50 TestExtensionPrefs prefs_;
51 scoped_ptr<ExtensionManagement> settings_;
48 52
49 StandardManagementPolicyProvider provider_; 53 StandardManagementPolicyProvider provider_;
50 }; 54 };
51 55
52 // Tests the behavior of the ManagementPolicy provider methods for an 56 // Tests the behavior of the ManagementPolicy provider methods for an
53 // extension required by policy. 57 // extension required by policy.
54 TEST_F(StandardManagementPolicyProviderTest, RequiredExtension) { 58 TEST_F(StandardManagementPolicyProviderTest, RequiredExtension) {
55 scoped_refptr<const Extension> extension = 59 scoped_refptr<const Extension> extension =
56 CreateExtension(Manifest::EXTERNAL_POLICY_DOWNLOAD, true); 60 CreateExtension(Manifest::EXTERNAL_POLICY_DOWNLOAD, true);
57 61
(...skipping 18 matching lines...) Expand all
76 base::string16 error16; 80 base::string16 error16;
77 EXPECT_TRUE(provider_.UserMayLoad(extension.get(), &error16)); 81 EXPECT_TRUE(provider_.UserMayLoad(extension.get(), &error16));
78 EXPECT_EQ(base::string16(), error16); 82 EXPECT_EQ(base::string16(), error16);
79 EXPECT_TRUE(provider_.UserMayModifySettings(extension.get(), &error16)); 83 EXPECT_TRUE(provider_.UserMayModifySettings(extension.get(), &error16));
80 EXPECT_EQ(base::string16(), error16); 84 EXPECT_EQ(base::string16(), error16);
81 EXPECT_FALSE(provider_.MustRemainEnabled(extension.get(), &error16)); 85 EXPECT_FALSE(provider_.MustRemainEnabled(extension.get(), &error16));
82 EXPECT_EQ(base::string16(), error16); 86 EXPECT_EQ(base::string16(), error16);
83 } 87 }
84 88
85 } // namespace extensions 89 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698