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

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

Issue 11415216: Make Blacklist::IsBlacklist asynchronous (it will need to be for safe (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years 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 | Annotate | Revision Log
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/admin_policy.h" 5 #include "chrome/browser/extensions/admin_policy.h"
6 6
7 #include "base/values.h" 7 #include "base/values.h"
8 #include "chrome/common/extensions/extension.h" 8 #include "chrome/common/extensions/extension.h"
9 #include "chrome/common/extensions/extension_manifest_constants.h" 9 #include "chrome/common/extensions/extension_manifest_constants.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 EXPECT_TRUE(ap::BlacklistedByDefault(&blacklist)); 43 EXPECT_TRUE(ap::BlacklistedByDefault(&blacklist));
44 44
45 blacklist.Clear(); 45 blacklist.Clear();
46 blacklist.Append(Value::CreateStringValue("*")); 46 blacklist.Append(Value::CreateStringValue("*"));
47 EXPECT_TRUE(ap::BlacklistedByDefault(&blacklist)); 47 EXPECT_TRUE(ap::BlacklistedByDefault(&blacklist));
48 } 48 }
49 49
50 // Tests UserMayLoad for required extensions. 50 // Tests UserMayLoad for required extensions.
51 TEST_F(ExtensionAdminPolicyTest, UserMayLoadRequired) { 51 TEST_F(ExtensionAdminPolicyTest, UserMayLoadRequired) {
52 CreateExtension(Extension::EXTERNAL_POLICY_DOWNLOAD, true); 52 CreateExtension(Extension::EXTERNAL_POLICY_DOWNLOAD, true);
53 EXPECT_TRUE(ap::UserMayLoad(false, NULL, NULL, NULL, extension_.get(), NULL)); 53 EXPECT_TRUE(ap::UserMayLoad(NULL, NULL, NULL, extension_.get(), NULL));
54 string16 error; 54 string16 error;
55 EXPECT_TRUE(ap::UserMayLoad(false, NULL, NULL, NULL, extension_.get(), 55 EXPECT_TRUE(ap::UserMayLoad(NULL, NULL, NULL, extension_.get(),
56 &error)); 56 &error));
57 EXPECT_TRUE(error.empty()); 57 EXPECT_TRUE(error.empty());
58 58
59 // Required extensions may load even if they're on the blacklist. 59 // Required extensions may load even if they're on the blacklist.
60 base::ListValue blacklist; 60 base::ListValue blacklist;
61 blacklist.Append(Value::CreateStringValue(extension_->id())); 61 blacklist.Append(Value::CreateStringValue(extension_->id()));
62 EXPECT_TRUE(ap::UserMayLoad(false, &blacklist, NULL, NULL, extension_.get(), 62 EXPECT_TRUE(ap::UserMayLoad(&blacklist, NULL, NULL, extension_.get(),
63 NULL)); 63 NULL));
64 64
65 blacklist.Append(Value::CreateStringValue("*")); 65 blacklist.Append(Value::CreateStringValue("*"));
66 EXPECT_TRUE(ap::UserMayLoad(false, &blacklist, NULL, NULL, extension_.get(), 66 EXPECT_TRUE(ap::UserMayLoad(&blacklist, NULL, NULL, extension_.get(),
67 NULL)); 67 NULL));
68 } 68 }
69 69
70 // Tests UserMayLoad when no blacklist exists, or it's empty. 70 // Tests UserMayLoad when no blacklist exists, or it's empty.
71 TEST_F(ExtensionAdminPolicyTest, UserMayLoadNoBlacklist) { 71 TEST_F(ExtensionAdminPolicyTest, UserMayLoadNoBlacklist) {
72 CreateExtension(Extension::INTERNAL, false); 72 CreateExtension(Extension::INTERNAL, false);
73 EXPECT_TRUE(ap::UserMayLoad(false, NULL, NULL, NULL, extension_.get(), NULL)); 73 EXPECT_TRUE(ap::UserMayLoad(NULL, NULL, NULL, extension_.get(), NULL));
74 base::ListValue blacklist; 74 base::ListValue blacklist;
75 EXPECT_TRUE(ap::UserMayLoad(false, &blacklist, NULL, NULL, extension_.get(), 75 EXPECT_TRUE(ap::UserMayLoad(&blacklist, NULL, NULL, extension_.get(),
76 NULL)); 76 NULL));
77 string16 error; 77 string16 error;
78 EXPECT_TRUE(ap::UserMayLoad(false, &blacklist, NULL, NULL, extension_.get(), 78 EXPECT_TRUE(ap::UserMayLoad(&blacklist, NULL, NULL, extension_.get(),
79 &error)); 79 &error));
80 EXPECT_TRUE(error.empty()); 80 EXPECT_TRUE(error.empty());
81 } 81 }
82 82
83 // Tests UserMayLoad for an extension on the whitelist. 83 // Tests UserMayLoad for an extension on the whitelist.
84 TEST_F(ExtensionAdminPolicyTest, UserMayLoadWhitelisted) { 84 TEST_F(ExtensionAdminPolicyTest, UserMayLoadWhitelisted) {
85 CreateExtension(Extension::INTERNAL, false); 85 CreateExtension(Extension::INTERNAL, false);
86 86
87 base::ListValue whitelist; 87 base::ListValue whitelist;
88 whitelist.Append(Value::CreateStringValue(extension_->id())); 88 whitelist.Append(Value::CreateStringValue(extension_->id()));
89 EXPECT_TRUE(ap::UserMayLoad(false, NULL, &whitelist, NULL, extension_.get(), 89 EXPECT_TRUE(ap::UserMayLoad(NULL, &whitelist, NULL, extension_.get(),
90 NULL)); 90 NULL));
91 91
92 base::ListValue blacklist; 92 base::ListValue blacklist;
93 blacklist.Append(Value::CreateStringValue(extension_->id())); 93 blacklist.Append(Value::CreateStringValue(extension_->id()));
94 EXPECT_TRUE(ap::UserMayLoad(false, NULL, &whitelist, NULL, extension_.get(), 94 EXPECT_TRUE(ap::UserMayLoad(NULL, &whitelist, NULL, extension_.get(),
95 NULL)); 95 NULL));
96 string16 error; 96 string16 error;
97 EXPECT_TRUE(ap::UserMayLoad(false, NULL, &whitelist, NULL, extension_.get(), 97 EXPECT_TRUE(ap::UserMayLoad(NULL, &whitelist, NULL, extension_.get(),
98 &error)); 98 &error));
99 EXPECT_TRUE(error.empty()); 99 EXPECT_TRUE(error.empty());
100 } 100 }
101 101
102 // Tests UserMayLoad for an extension on the blacklist. 102 // Tests UserMayLoad for an extension on the blacklist.
103 TEST_F(ExtensionAdminPolicyTest, UserMayLoadBlacklisted) { 103 TEST_F(ExtensionAdminPolicyTest, UserMayLoadBlacklisted) {
104 CreateExtension(Extension::INTERNAL, false); 104 CreateExtension(Extension::INTERNAL, false);
105 105
106 // Blacklisted by default. 106 // Blacklisted by default.
107 base::ListValue blacklist; 107 base::ListValue blacklist;
108 blacklist.Append(Value::CreateStringValue("*")); 108 blacklist.Append(Value::CreateStringValue("*"));
109 EXPECT_FALSE(ap::UserMayLoad(false, &blacklist, NULL, NULL, extension_.get(), 109 EXPECT_FALSE(ap::UserMayLoad(&blacklist, NULL, NULL, extension_.get(),
110 NULL)); 110 NULL));
111 string16 error; 111 string16 error;
112 EXPECT_FALSE(ap::UserMayLoad(false, &blacklist, NULL, NULL, extension_.get(), 112 EXPECT_FALSE(ap::UserMayLoad(&blacklist, NULL, NULL, extension_.get(),
113 &error)); 113 &error));
114 EXPECT_FALSE(error.empty()); 114 EXPECT_FALSE(error.empty());
115 115
116 // Extension on the blacklist, with and without wildcard. 116 // Extension on the blacklist, with and without wildcard.
117 blacklist.Append(Value::CreateStringValue(extension_->id())); 117 blacklist.Append(Value::CreateStringValue(extension_->id()));
118 EXPECT_FALSE(ap::UserMayLoad(false, &blacklist, NULL, NULL, extension_.get(), 118 EXPECT_FALSE(ap::UserMayLoad(&blacklist, NULL, NULL, extension_.get(),
119 NULL)); 119 NULL));
120 blacklist.Clear(); 120 blacklist.Clear();
121 blacklist.Append(Value::CreateStringValue(extension_->id())); 121 blacklist.Append(Value::CreateStringValue(extension_->id()));
122 EXPECT_FALSE(ap::UserMayLoad(false, &blacklist, NULL, NULL, extension_.get(), 122 EXPECT_FALSE(ap::UserMayLoad(&blacklist, NULL, NULL, extension_.get(),
123 NULL)); 123 NULL));
124 124
125 // With a whitelist. There's no such thing as a whitelist wildcard. 125 // With a whitelist. There's no such thing as a whitelist wildcard.
126 base::ListValue whitelist; 126 base::ListValue whitelist;
127 whitelist.Append( 127 whitelist.Append(
128 Value::CreateStringValue("behllobkkfkfnphdnhnkndlbkcpglgmj")); 128 Value::CreateStringValue("behllobkkfkfnphdnhnkndlbkcpglgmj"));
129 EXPECT_FALSE(ap::UserMayLoad(false, &blacklist, &whitelist, NULL, 129 EXPECT_FALSE(ap::UserMayLoad(&blacklist, &whitelist, NULL,
130 extension_.get(), NULL)); 130 extension_.get(), NULL));
131 whitelist.Append(Value::CreateStringValue("*")); 131 whitelist.Append(Value::CreateStringValue("*"));
132 EXPECT_FALSE(ap::UserMayLoad(false, &blacklist, &whitelist, NULL, 132 EXPECT_FALSE(ap::UserMayLoad(&blacklist, &whitelist, NULL,
133 extension_.get(), NULL)); 133 extension_.get(), NULL));
134 } 134 }
135 135
136 TEST_F(ExtensionAdminPolicyTest, UserMayModifySettings) { 136 TEST_F(ExtensionAdminPolicyTest, UserMayModifySettings) {
137 CreateExtension(Extension::INTERNAL, false); 137 CreateExtension(Extension::INTERNAL, false);
138 EXPECT_TRUE(ap::UserMayModifySettings(extension_.get(), NULL)); 138 EXPECT_TRUE(ap::UserMayModifySettings(extension_.get(), NULL));
139 string16 error; 139 string16 error;
140 EXPECT_TRUE(ap::UserMayModifySettings(extension_.get(), &error)); 140 EXPECT_TRUE(ap::UserMayModifySettings(extension_.get(), &error));
141 EXPECT_TRUE(error.empty()); 141 EXPECT_TRUE(error.empty());
142 142
(...skipping 10 matching lines...) Expand all
153 string16 error; 153 string16 error;
154 EXPECT_TRUE(ap::MustRemainEnabled(extension_.get(), &error)); 154 EXPECT_TRUE(ap::MustRemainEnabled(extension_.get(), &error));
155 EXPECT_FALSE(error.empty()); 155 EXPECT_FALSE(error.empty());
156 156
157 CreateExtension(Extension::INTERNAL, false); 157 CreateExtension(Extension::INTERNAL, false);
158 error.clear(); 158 error.clear();
159 EXPECT_FALSE(ap::MustRemainEnabled(extension_.get(), NULL)); 159 EXPECT_FALSE(ap::MustRemainEnabled(extension_.get(), NULL));
160 EXPECT_FALSE(ap::MustRemainEnabled(extension_.get(), &error)); 160 EXPECT_FALSE(ap::MustRemainEnabled(extension_.get(), &error));
161 EXPECT_TRUE(error.empty()); 161 EXPECT_TRUE(error.empty());
162 } 162 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698