OLD | NEW |
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/memory/ptr_util.h" |
10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 policy::key::kHomepageLocation, policy::POLICY_LEVEL_MANDATORY, | 213 policy::key::kHomepageLocation, policy::POLICY_LEVEL_MANDATORY, |
214 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, | 214 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
215 base::MakeUnique<base::StringValue>("http://chromium.org"), nullptr); | 215 base::MakeUnique<base::StringValue>("http://chromium.org"), nullptr); |
216 policy_bridge()->GetPolicies(PolicyStringCallback("{}")); | 216 policy_bridge()->GetPolicies(PolicyStringCallback("{}")); |
217 } | 217 } |
218 | 218 |
219 TEST_F(ArcPolicyBridgeTest, DisableScreenshotsTest) { | 219 TEST_F(ArcPolicyBridgeTest, DisableScreenshotsTest) { |
220 policy_map().Set(policy::key::kDisableScreenshots, | 220 policy_map().Set(policy::key::kDisableScreenshots, |
221 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 221 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
222 policy::POLICY_SOURCE_CLOUD, | 222 policy::POLICY_SOURCE_CLOUD, |
223 base::MakeUnique<base::FundamentalValue>(true), nullptr); | 223 base::MakeUnique<base::Value>(true), nullptr); |
224 policy_bridge()->GetPolicies( | 224 policy_bridge()->GetPolicies( |
225 PolicyStringCallback("{\"screenCaptureDisabled\":true}")); | 225 PolicyStringCallback("{\"screenCaptureDisabled\":true}")); |
226 } | 226 } |
227 | 227 |
228 TEST_F(ArcPolicyBridgeTest, VideoCaptureAllowedTest) { | 228 TEST_F(ArcPolicyBridgeTest, VideoCaptureAllowedTest) { |
229 policy_map().Set(policy::key::kVideoCaptureAllowed, | 229 policy_map().Set(policy::key::kVideoCaptureAllowed, |
230 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 230 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
231 policy::POLICY_SOURCE_CLOUD, | 231 policy::POLICY_SOURCE_CLOUD, |
232 base::MakeUnique<base::FundamentalValue>(false), nullptr); | 232 base::MakeUnique<base::Value>(false), nullptr); |
233 policy_bridge()->GetPolicies( | 233 policy_bridge()->GetPolicies( |
234 PolicyStringCallback("{\"cameraDisabled\":true}")); | 234 PolicyStringCallback("{\"cameraDisabled\":true}")); |
235 } | 235 } |
236 | 236 |
237 TEST_F(ArcPolicyBridgeTest, AudioCaptureAllowedTest) { | 237 TEST_F(ArcPolicyBridgeTest, AudioCaptureAllowedTest) { |
238 policy_map().Set(policy::key::kAudioCaptureAllowed, | 238 policy_map().Set(policy::key::kAudioCaptureAllowed, |
239 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 239 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
240 policy::POLICY_SOURCE_CLOUD, | 240 policy::POLICY_SOURCE_CLOUD, |
241 base::MakeUnique<base::FundamentalValue>(false), nullptr); | 241 base::MakeUnique<base::Value>(false), nullptr); |
242 policy_bridge()->GetPolicies( | 242 policy_bridge()->GetPolicies( |
243 PolicyStringCallback("{\"unmuteMicrophoneDisabled\":true}")); | 243 PolicyStringCallback("{\"unmuteMicrophoneDisabled\":true}")); |
244 } | 244 } |
245 | 245 |
246 TEST_F(ArcPolicyBridgeTest, DefaultGeolocationSettingTest) { | 246 TEST_F(ArcPolicyBridgeTest, DefaultGeolocationSettingTest) { |
247 policy_map().Set(policy::key::kDefaultGeolocationSetting, | 247 policy_map().Set(policy::key::kDefaultGeolocationSetting, |
248 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 248 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
249 policy::POLICY_SOURCE_CLOUD, | 249 policy::POLICY_SOURCE_CLOUD, |
250 base::MakeUnique<base::FundamentalValue>(1), nullptr); | 250 base::MakeUnique<base::Value>(1), nullptr); |
251 policy_bridge()->GetPolicies( | 251 policy_bridge()->GetPolicies( |
252 PolicyStringCallback("{\"shareLocationDisabled\":false}")); | 252 PolicyStringCallback("{\"shareLocationDisabled\":false}")); |
253 policy_map().Set(policy::key::kDefaultGeolocationSetting, | 253 policy_map().Set(policy::key::kDefaultGeolocationSetting, |
254 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 254 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
255 policy::POLICY_SOURCE_CLOUD, | 255 policy::POLICY_SOURCE_CLOUD, |
256 base::MakeUnique<base::FundamentalValue>(2), nullptr); | 256 base::MakeUnique<base::Value>(2), nullptr); |
257 policy_bridge()->GetPolicies( | 257 policy_bridge()->GetPolicies( |
258 PolicyStringCallback("{\"shareLocationDisabled\":true}")); | 258 PolicyStringCallback("{\"shareLocationDisabled\":true}")); |
259 policy_map().Set(policy::key::kDefaultGeolocationSetting, | 259 policy_map().Set(policy::key::kDefaultGeolocationSetting, |
260 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 260 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
261 policy::POLICY_SOURCE_CLOUD, | 261 policy::POLICY_SOURCE_CLOUD, |
262 base::MakeUnique<base::FundamentalValue>(3), nullptr); | 262 base::MakeUnique<base::Value>(3), nullptr); |
263 policy_bridge()->GetPolicies( | 263 policy_bridge()->GetPolicies( |
264 PolicyStringCallback("{\"shareLocationDisabled\":false}")); | 264 PolicyStringCallback("{\"shareLocationDisabled\":false}")); |
265 } | 265 } |
266 | 266 |
267 TEST_F(ArcPolicyBridgeTest, ExternalStorageDisabledTest) { | 267 TEST_F(ArcPolicyBridgeTest, ExternalStorageDisabledTest) { |
268 policy_map().Set(policy::key::kExternalStorageDisabled, | 268 policy_map().Set(policy::key::kExternalStorageDisabled, |
269 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 269 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
270 policy::POLICY_SOURCE_CLOUD, | 270 policy::POLICY_SOURCE_CLOUD, |
271 base::MakeUnique<base::FundamentalValue>(true), nullptr); | 271 base::MakeUnique<base::Value>(true), nullptr); |
272 policy_bridge()->GetPolicies( | 272 policy_bridge()->GetPolicies( |
273 PolicyStringCallback("{\"mountPhysicalMediaDisabled\":true}")); | 273 PolicyStringCallback("{\"mountPhysicalMediaDisabled\":true}")); |
274 } | 274 } |
275 | 275 |
276 TEST_F(ArcPolicyBridgeTest, WallpaperImageSetTest) { | 276 TEST_F(ArcPolicyBridgeTest, WallpaperImageSetTest) { |
277 base::DictionaryValue dict; | 277 base::DictionaryValue dict; |
278 dict.SetString("url", "https://example.com/wallpaper.jpg"); | 278 dict.SetString("url", "https://example.com/wallpaper.jpg"); |
279 dict.SetString("hash", "somehash"); | 279 dict.SetString("hash", "somehash"); |
280 policy_map().Set(policy::key::kWallpaperImage, policy::POLICY_LEVEL_MANDATORY, | 280 policy_map().Set(policy::key::kWallpaperImage, policy::POLICY_LEVEL_MANDATORY, |
281 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, | 281 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
322 "[\"www.whitelist1.com\"," | 322 "[\"www.whitelist1.com\"," |
323 "\"www.whitelist2.com\"" | 323 "\"www.whitelist2.com\"" |
324 "]}}")); | 324 "]}}")); |
325 } | 325 } |
326 | 326 |
327 TEST_F(ArcPolicyBridgeTest, CaCertificateTest) { | 327 TEST_F(ArcPolicyBridgeTest, CaCertificateTest) { |
328 // Enable CA certificates sync. | 328 // Enable CA certificates sync. |
329 policy_map().Set( | 329 policy_map().Set( |
330 policy::key::kArcCertificatesSyncMode, policy::POLICY_LEVEL_MANDATORY, | 330 policy::key::kArcCertificatesSyncMode, policy::POLICY_LEVEL_MANDATORY, |
331 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, | 331 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
332 base::MakeUnique<base::FundamentalValue>(ArcCertsSyncMode::COPY_CA_CERTS), | 332 base::MakeUnique<base::Value>(ArcCertsSyncMode::COPY_CA_CERTS), nullptr); |
333 nullptr); | |
334 policy_map().Set(policy::key::kOpenNetworkConfiguration, | 333 policy_map().Set(policy::key::kOpenNetworkConfiguration, |
335 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 334 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
336 policy::POLICY_SOURCE_CLOUD, | 335 policy::POLICY_SOURCE_CLOUD, |
337 base::MakeUnique<base::StringValue>(kFakeONC), nullptr); | 336 base::MakeUnique<base::StringValue>(kFakeONC), nullptr); |
338 policy_bridge()->GetPolicies(PolicyStringCallback( | 337 policy_bridge()->GetPolicies(PolicyStringCallback( |
339 "{\"caCerts\":" | 338 "{\"caCerts\":" |
340 "[{\"X509\":\"TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24" | 339 "[{\"X509\":\"TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24" |
341 "sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGl" | 340 "sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGl" |
342 "jaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGV" | 341 "jaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGV" |
343 "saWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Y" | 342 "saWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Y" |
344 "ga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCB" | 343 "ga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCB" |
345 "wbGVhc3VyZS4=\"}" | 344 "wbGVhc3VyZS4=\"}" |
346 "]}")); | 345 "]}")); |
347 | 346 |
348 // Disable CA certificates sync. | 347 // Disable CA certificates sync. |
349 policy_map().Set( | 348 policy_map().Set( |
350 policy::key::kArcCertificatesSyncMode, policy::POLICY_LEVEL_MANDATORY, | 349 policy::key::kArcCertificatesSyncMode, policy::POLICY_LEVEL_MANDATORY, |
351 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, | 350 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
352 base::MakeUnique<base::FundamentalValue>(ArcCertsSyncMode::SYNC_DISABLED), | 351 base::MakeUnique<base::Value>(ArcCertsSyncMode::SYNC_DISABLED), nullptr); |
353 nullptr); | |
354 policy_bridge()->GetPolicies(PolicyStringCallback("{}")); | 352 policy_bridge()->GetPolicies(PolicyStringCallback("{}")); |
355 } | 353 } |
356 | 354 |
357 TEST_F(ArcPolicyBridgeTest, DeveloperToolsDisabledTest) { | 355 TEST_F(ArcPolicyBridgeTest, DeveloperToolsDisabledTest) { |
358 policy_map().Set(policy::key::kDeveloperToolsDisabled, | 356 policy_map().Set(policy::key::kDeveloperToolsDisabled, |
359 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 357 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
360 policy::POLICY_SOURCE_CLOUD, | 358 policy::POLICY_SOURCE_CLOUD, |
361 base::MakeUnique<base::FundamentalValue>(true), nullptr); | 359 base::MakeUnique<base::Value>(true), nullptr); |
362 policy_bridge()->GetPolicies( | 360 policy_bridge()->GetPolicies( |
363 PolicyStringCallback("{\"debuggingFeaturesDisabled\":true}")); | 361 PolicyStringCallback("{\"debuggingFeaturesDisabled\":true}")); |
364 } | 362 } |
365 | 363 |
366 TEST_F(ArcPolicyBridgeTest, MultiplePoliciesTest) { | 364 TEST_F(ArcPolicyBridgeTest, MultiplePoliciesTest) { |
367 policy_map().Set( | 365 policy_map().Set( |
368 policy::key::kArcPolicy, policy::POLICY_LEVEL_MANDATORY, | 366 policy::key::kArcPolicy, policy::POLICY_LEVEL_MANDATORY, |
369 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, | 367 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
370 base::MakeUnique<base::StringValue>( | 368 base::MakeUnique<base::StringValue>( |
371 "{\"applications\":" | 369 "{\"applications\":" |
372 "[{\"packageName\":\"com.google.android.apps.youtube.kids\"," | 370 "[{\"packageName\":\"com.google.android.apps.youtube.kids\"," |
373 "\"installType\":\"REQUIRED\"," | 371 "\"installType\":\"REQUIRED\"," |
374 "\"lockTaskAllowed\":false," | 372 "\"lockTaskAllowed\":false," |
375 "\"permissionGrants\":[]" | 373 "\"permissionGrants\":[]" |
376 "}]," | 374 "}]," |
377 "\"defaultPermissionPolicy\":\"GRANT\"}"), | 375 "\"defaultPermissionPolicy\":\"GRANT\"}"), |
378 nullptr); | 376 nullptr); |
379 policy_map().Set( | 377 policy_map().Set( |
380 policy::key::kHomepageLocation, policy::POLICY_LEVEL_MANDATORY, | 378 policy::key::kHomepageLocation, policy::POLICY_LEVEL_MANDATORY, |
381 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, | 379 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
382 base::MakeUnique<base::StringValue>("http://chromium.org"), nullptr); | 380 base::MakeUnique<base::StringValue>("http://chromium.org"), nullptr); |
383 policy_map().Set(policy::key::kVideoCaptureAllowed, | 381 policy_map().Set(policy::key::kVideoCaptureAllowed, |
384 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 382 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
385 policy::POLICY_SOURCE_CLOUD, | 383 policy::POLICY_SOURCE_CLOUD, |
386 base::MakeUnique<base::FundamentalValue>(false), nullptr); | 384 base::MakeUnique<base::Value>(false), nullptr); |
387 policy_bridge()->GetPolicies(PolicyStringCallback( | 385 policy_bridge()->GetPolicies(PolicyStringCallback( |
388 "{\"applications\":" | 386 "{\"applications\":" |
389 "[{\"installType\":\"REQUIRED\"," | 387 "[{\"installType\":\"REQUIRED\"," |
390 "\"lockTaskAllowed\":false," | 388 "\"lockTaskAllowed\":false," |
391 "\"packageName\":\"com.google.android.apps.youtube.kids\"," | 389 "\"packageName\":\"com.google.android.apps.youtube.kids\"," |
392 "\"permissionGrants\":[]" | 390 "\"permissionGrants\":[]" |
393 "}]," | 391 "}]," |
394 "\"cameraDisabled\":true," | 392 "\"cameraDisabled\":true," |
395 "\"defaultPermissionPolicy\":\"GRANT\"" | 393 "\"defaultPermissionPolicy\":\"GRANT\"" |
396 "}")); | 394 "}")); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
434 TEST_F(ArcPolicyBridgeTest, PolicyInstanceUnmanagedTest) { | 432 TEST_F(ArcPolicyBridgeTest, PolicyInstanceUnmanagedTest) { |
435 policy_bridge()->OverrideIsManagedForTesting(false); | 433 policy_bridge()->OverrideIsManagedForTesting(false); |
436 policy_instance()->CallGetPolicies(PolicyStringCallback("")); | 434 policy_instance()->CallGetPolicies(PolicyStringCallback("")); |
437 } | 435 } |
438 | 436 |
439 TEST_F(ArcPolicyBridgeTest, PolicyInstanceManagedTest) { | 437 TEST_F(ArcPolicyBridgeTest, PolicyInstanceManagedTest) { |
440 policy_instance()->CallGetPolicies(PolicyStringCallback("{}")); | 438 policy_instance()->CallGetPolicies(PolicyStringCallback("{}")); |
441 } | 439 } |
442 | 440 |
443 } // namespace arc | 441 } // namespace arc |
OLD | NEW |