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

Side by Side Diff: chrome/browser/chromeos/arc/arc_policy_bridge_unittest.cc

Issue 1940153002: Use std::unique_ptr to express ownership of base::Value in PolicyMap::Entry (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: another-fix Created 4 years, 7 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
« no previous file with comments | « no previous file | chrome/browser/chromeos/extensions/device_local_account_external_policy_loader_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 <memory> 5 #include <memory>
6 #include <string> 6 #include <string>
7 7
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/memory/ptr_util.h"
9 #include "base/values.h" 10 #include "base/values.h"
10 #include "chrome/browser/chromeos/arc/arc_policy_bridge.h" 11 #include "chrome/browser/chromeos/arc/arc_policy_bridge.h"
11 #include "components/arc/test/fake_arc_bridge_service.h" 12 #include "components/arc/test/fake_arc_bridge_service.h"
12 #include "components/policy/core/common/mock_policy_service.h" 13 #include "components/policy/core/common/mock_policy_service.h"
13 #include "components/policy/core/common/policy_map.h" 14 #include "components/policy/core/common/policy_map.h"
14 #include "components/policy/core/common/policy_namespace.h" 15 #include "components/policy/core/common/policy_namespace.h"
15 #include "components/policy/core/common/policy_types.h" 16 #include "components/policy/core/common/policy_types.h"
16 #include "mojo/public/cpp/bindings/string.h" 17 #include "mojo/public/cpp/bindings/string.h"
17 #include "policy/policy_constants.h" 18 #include "policy/policy_constants.h"
18 #include "testing/gmock/include/gmock/gmock.h" 19 #include "testing/gmock/include/gmock/gmock.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 79
79 TEST_F(ArcPolicyBridgeTest, EmptyPolicyTest) { 80 TEST_F(ArcPolicyBridgeTest, EmptyPolicyTest) {
80 // No policy is set, result should be empty. 81 // No policy is set, result should be empty.
81 policy_bridge()->GetPolicies(PolicyStringCallback("{}")); 82 policy_bridge()->GetPolicies(PolicyStringCallback("{}"));
82 } 83 }
83 84
84 TEST_F(ArcPolicyBridgeTest, ArcPolicyTest) { 85 TEST_F(ArcPolicyBridgeTest, ArcPolicyTest) {
85 policy_map().Set( 86 policy_map().Set(
86 policy::key::kArcPolicy, policy::POLICY_LEVEL_MANDATORY, 87 policy::key::kArcPolicy, policy::POLICY_LEVEL_MANDATORY,
87 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, 88 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD,
88 new base::StringValue( 89 base::WrapUnique(new base::StringValue(
89 "{\"applications\":" 90 "{\"applications\":"
90 "[{\"packageName\":\"com.google.android.apps.youtube.kids\"," 91 "[{\"packageName\":\"com.google.android.apps.youtube.kids\","
91 "\"installType\":\"REQUIRED\"," 92 "\"installType\":\"REQUIRED\","
92 "\"lockTaskAllowed\":false," 93 "\"lockTaskAllowed\":false,"
93 "\"permissionGrants\":[]" 94 "\"permissionGrants\":[]"
94 "}]," 95 "}],"
95 "\"defaultPermissionPolicy\":\"GRANT\"" 96 "\"defaultPermissionPolicy\":\"GRANT\""
96 "}"), 97 "}")),
97 nullptr); 98 nullptr);
98 policy_bridge()->GetPolicies(PolicyStringCallback( 99 policy_bridge()->GetPolicies(PolicyStringCallback(
99 "{\"applications\":" 100 "{\"applications\":"
100 "[{\"installType\":\"REQUIRED\"," 101 "[{\"installType\":\"REQUIRED\","
101 "\"lockTaskAllowed\":false," 102 "\"lockTaskAllowed\":false,"
102 "\"packageName\":\"com.google.android.apps.youtube.kids\"," 103 "\"packageName\":\"com.google.android.apps.youtube.kids\","
103 "\"permissionGrants\":[]" 104 "\"permissionGrants\":[]"
104 "}]," 105 "}],"
105 "\"defaultPermissionPolicy\":\"GRANT\"" 106 "\"defaultPermissionPolicy\":\"GRANT\""
106 "}")); 107 "}"));
107 } 108 }
108 109
109 TEST_F(ArcPolicyBridgeTest, HompageLocationTest) { 110 TEST_F(ArcPolicyBridgeTest, HompageLocationTest) {
110 // This policy will not be passed on, result should be empty. 111 // This policy will not be passed on, result should be empty.
111 policy_map().Set(policy::key::kHomepageLocation, 112 policy_map().Set(
112 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, 113 policy::key::kHomepageLocation, policy::POLICY_LEVEL_MANDATORY,
113 policy::POLICY_SOURCE_CLOUD, 114 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD,
114 new base::StringValue("http://chromium.org"), 115 base::WrapUnique(new base::StringValue("http://chromium.org")), nullptr);
115 nullptr);
116 policy_bridge()->GetPolicies(PolicyStringCallback("{}")); 116 policy_bridge()->GetPolicies(PolicyStringCallback("{}"));
117 } 117 }
118 118
119 TEST_F(ArcPolicyBridgeTest, DisableScreenshotsTest) { 119 TEST_F(ArcPolicyBridgeTest, DisableScreenshotsTest) {
120 policy_map().Set(policy::key::kDisableScreenshots, 120 policy_map().Set(policy::key::kDisableScreenshots,
121 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, 121 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER,
122 policy::POLICY_SOURCE_CLOUD, 122 policy::POLICY_SOURCE_CLOUD,
123 new base::FundamentalValue(true), nullptr); 123 base::WrapUnique(new base::FundamentalValue(true)), nullptr);
124 policy_bridge()->GetPolicies( 124 policy_bridge()->GetPolicies(
125 PolicyStringCallback("{\"screenCaptureDisabled\":true}")); 125 PolicyStringCallback("{\"screenCaptureDisabled\":true}"));
126 } 126 }
127 127
128 TEST_F(ArcPolicyBridgeTest, VideoCaptureAllowedTest) { 128 TEST_F(ArcPolicyBridgeTest, VideoCaptureAllowedTest) {
129 policy_map().Set(policy::key::kVideoCaptureAllowed, 129 policy_map().Set(
130 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, 130 policy::key::kVideoCaptureAllowed, policy::POLICY_LEVEL_MANDATORY,
131 policy::POLICY_SOURCE_CLOUD, 131 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD,
132 new base::FundamentalValue(false), nullptr); 132 base::WrapUnique(new base::FundamentalValue(false)), nullptr);
133 policy_bridge()->GetPolicies( 133 policy_bridge()->GetPolicies(
134 PolicyStringCallback("{\"cameraDisabled\":true}")); 134 PolicyStringCallback("{\"cameraDisabled\":true}"));
135 } 135 }
136 136
137 TEST_F(ArcPolicyBridgeTest, AudioCaptureAllowedTest) { 137 TEST_F(ArcPolicyBridgeTest, AudioCaptureAllowedTest) {
138 policy_map().Set(policy::key::kAudioCaptureAllowed, 138 policy_map().Set(
139 policy::POLICY_LEVEL_MANDATORY, 139 policy::key::kAudioCaptureAllowed, policy::POLICY_LEVEL_MANDATORY,
140 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, 140 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD,
141 new base::FundamentalValue(false), nullptr); 141 base::WrapUnique(new base::FundamentalValue(false)), nullptr);
142 policy_bridge()->GetPolicies( 142 policy_bridge()->GetPolicies(
143 PolicyStringCallback("{\"unmuteMicrophoneDisabled\":true}")); 143 PolicyStringCallback("{\"unmuteMicrophoneDisabled\":true}"));
144 } 144 }
145 145
146 TEST_F(ArcPolicyBridgeTest, DefaultGeolocationSettingTest) { 146 TEST_F(ArcPolicyBridgeTest, DefaultGeolocationSettingTest) {
147 policy_map().Set(policy::key::kDefaultGeolocationSetting, 147 policy_map().Set(policy::key::kDefaultGeolocationSetting,
148 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, 148 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER,
149 policy::POLICY_SOURCE_CLOUD, new base::FundamentalValue(1), 149 policy::POLICY_SOURCE_CLOUD,
150 nullptr); 150 base::WrapUnique(new base::FundamentalValue(1)), nullptr);
151 policy_bridge()->GetPolicies( 151 policy_bridge()->GetPolicies(
152 PolicyStringCallback("{\"shareLocationDisabled\":false}")); 152 PolicyStringCallback("{\"shareLocationDisabled\":false}"));
153 policy_map().Set(policy::key::kDefaultGeolocationSetting, 153 policy_map().Set(policy::key::kDefaultGeolocationSetting,
154 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, 154 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER,
155 policy::POLICY_SOURCE_CLOUD, new base::FundamentalValue(2), 155 policy::POLICY_SOURCE_CLOUD,
156 nullptr); 156 base::WrapUnique(new base::FundamentalValue(2)), nullptr);
157 policy_bridge()->GetPolicies( 157 policy_bridge()->GetPolicies(
158 PolicyStringCallback("{\"shareLocationDisabled\":true}")); 158 PolicyStringCallback("{\"shareLocationDisabled\":true}"));
159 policy_map().Set(policy::key::kDefaultGeolocationSetting, 159 policy_map().Set(policy::key::kDefaultGeolocationSetting,
160 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, 160 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER,
161 policy::POLICY_SOURCE_CLOUD, new base::FundamentalValue(3), 161 policy::POLICY_SOURCE_CLOUD,
162 nullptr); 162 base::WrapUnique(new base::FundamentalValue(3)), nullptr);
163 policy_bridge()->GetPolicies( 163 policy_bridge()->GetPolicies(
164 PolicyStringCallback("{\"shareLocationDisabled\":false}")); 164 PolicyStringCallback("{\"shareLocationDisabled\":false}"));
165 } 165 }
166 166
167 TEST_F(ArcPolicyBridgeTest, ExternalStorageDisabledTest) { 167 TEST_F(ArcPolicyBridgeTest, ExternalStorageDisabledTest) {
168 policy_map().Set(policy::key::kExternalStorageDisabled, 168 policy_map().Set(policy::key::kExternalStorageDisabled,
169 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, 169 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER,
170 policy::POLICY_SOURCE_CLOUD, 170 policy::POLICY_SOURCE_CLOUD,
171 new base::FundamentalValue(true), nullptr); 171 base::WrapUnique(new base::FundamentalValue(true)), nullptr);
172 policy_bridge()->GetPolicies( 172 policy_bridge()->GetPolicies(
173 PolicyStringCallback("{\"usbFileTransferDisabled\":true}")); 173 PolicyStringCallback("{\"usbFileTransferDisabled\":true}"));
174 } 174 }
175 175
176 TEST_F(ArcPolicyBridgeTest, URLBlacklistTest) { 176 TEST_F(ArcPolicyBridgeTest, URLBlacklistTest) {
177 base::ListValue blacklist; 177 base::ListValue blacklist;
178 blacklist.Append(new base::StringValue("www.blacklist1.com")); 178 blacklist.Append(new base::StringValue("www.blacklist1.com"));
179 blacklist.Append(new base::StringValue("www.blacklist2.com")); 179 blacklist.Append(new base::StringValue("www.blacklist2.com"));
180 policy_map().Set(policy::key::kURLBlacklist, policy::POLICY_LEVEL_MANDATORY, 180 policy_map().Set(policy::key::kURLBlacklist, policy::POLICY_LEVEL_MANDATORY,
181 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, 181 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD,
182 blacklist.DeepCopy(), nullptr); 182 blacklist.CreateDeepCopy(), nullptr);
183 policy_bridge()->GetPolicies( 183 policy_bridge()->GetPolicies(
184 PolicyStringCallback("{\"globalAppRestrictions\":" 184 PolicyStringCallback("{\"globalAppRestrictions\":"
185 "{\"com.android.browser:URLBlacklist\":" 185 "{\"com.android.browser:URLBlacklist\":"
186 "[\"www.blacklist1.com\"," 186 "[\"www.blacklist1.com\","
187 "\"www.blacklist2.com\"" 187 "\"www.blacklist2.com\""
188 "]}}")); 188 "]}}"));
189 } 189 }
190 190
191 TEST_F(ArcPolicyBridgeTest, URLWhitelistTest) { 191 TEST_F(ArcPolicyBridgeTest, URLWhitelistTest) {
192 base::ListValue whitelist; 192 base::ListValue whitelist;
193 whitelist.Append(new base::StringValue("www.whitelist1.com")); 193 whitelist.Append(new base::StringValue("www.whitelist1.com"));
194 whitelist.Append(new base::StringValue("www.whitelist2.com")); 194 whitelist.Append(new base::StringValue("www.whitelist2.com"));
195 policy_map().Set(policy::key::kURLWhitelist, policy::POLICY_LEVEL_MANDATORY, 195 policy_map().Set(policy::key::kURLWhitelist, policy::POLICY_LEVEL_MANDATORY,
196 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, 196 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD,
197 whitelist.DeepCopy(), nullptr); 197 whitelist.CreateDeepCopy(), nullptr);
198 policy_bridge()->GetPolicies( 198 policy_bridge()->GetPolicies(
199 PolicyStringCallback("{\"globalAppRestrictions\":" 199 PolicyStringCallback("{\"globalAppRestrictions\":"
200 "{\"com.android.browser:URLWhitelist\":" 200 "{\"com.android.browser:URLWhitelist\":"
201 "[\"www.whitelist1.com\"," 201 "[\"www.whitelist1.com\","
202 "\"www.whitelist2.com\"" 202 "\"www.whitelist2.com\""
203 "]}}")); 203 "]}}"));
204 } 204 }
205 205
206 TEST_F(ArcPolicyBridgeTest, MultiplePoliciesTest) { 206 TEST_F(ArcPolicyBridgeTest, MultiplePoliciesTest) {
207 policy_map().Set( 207 policy_map().Set(
208 policy::key::kArcPolicy, policy::POLICY_LEVEL_MANDATORY, 208 policy::key::kArcPolicy, policy::POLICY_LEVEL_MANDATORY,
209 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, 209 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD,
210 new base::StringValue("{\"applications\":" 210 base::WrapUnique(new base::StringValue(
211 "[{\"packageName\":\"com.google.android.apps.youtube.kids\"," 211 "{\"applications\":"
212 "\"installType\":\"REQUIRED\"," 212 "[{\"packageName\":\"com.google.android.apps.youtube.kids\","
213 "\"lockTaskAllowed\":false," 213 "\"installType\":\"REQUIRED\","
214 "\"permissionGrants\":[]" 214 "\"lockTaskAllowed\":false,"
215 "}]," 215 "\"permissionGrants\":[]"
216 "\"defaultPermissionPolicy\":\"GRANT\"}"), 216 "}],"
217 "\"defaultPermissionPolicy\":\"GRANT\"}")),
217 nullptr); 218 nullptr);
218 policy_map().Set(policy::key::kHomepageLocation, 219 policy_map().Set(
219 policy::POLICY_LEVEL_MANDATORY, 220 policy::key::kHomepageLocation, policy::POLICY_LEVEL_MANDATORY,
220 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, 221 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD,
221 new base::StringValue("http://chromium.org"), nullptr); 222 base::WrapUnique(new base::StringValue("http://chromium.org")), nullptr);
222 policy_map().Set(policy::key::kVideoCaptureAllowed, 223 policy_map().Set(
223 policy::POLICY_LEVEL_MANDATORY, 224 policy::key::kVideoCaptureAllowed, policy::POLICY_LEVEL_MANDATORY,
224 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, 225 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD,
225 new base::FundamentalValue(false), nullptr); 226 base::WrapUnique(new base::FundamentalValue(false)), nullptr);
226 policy_bridge()->GetPolicies(PolicyStringCallback( 227 policy_bridge()->GetPolicies(PolicyStringCallback(
227 "{\"applications\":" 228 "{\"applications\":"
228 "[{\"installType\":\"REQUIRED\"," 229 "[{\"installType\":\"REQUIRED\","
229 "\"lockTaskAllowed\":false," 230 "\"lockTaskAllowed\":false,"
230 "\"packageName\":\"com.google.android.apps.youtube.kids\"," 231 "\"packageName\":\"com.google.android.apps.youtube.kids\","
231 "\"permissionGrants\":[]" 232 "\"permissionGrants\":[]"
232 "}]," 233 "}],"
233 "\"cameraDisabled\":true," 234 "\"cameraDisabled\":true,"
234 "\"defaultPermissionPolicy\":\"GRANT\"" 235 "\"defaultPermissionPolicy\":\"GRANT\""
235 "}")); 236 "}"));
236 } 237 }
237 238
238 } // namespace arc 239 } // namespace arc
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/extensions/device_local_account_external_policy_loader_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698