| 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 |