| 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/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 policy::key::kHomepageLocation, policy::POLICY_LEVEL_MANDATORY, | 179 policy::key::kHomepageLocation, policy::POLICY_LEVEL_MANDATORY, |
| 180 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, | 180 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
| 181 base::MakeUnique<base::StringValue>("http://chromium.org"), nullptr); | 181 base::MakeUnique<base::StringValue>("http://chromium.org"), nullptr); |
| 182 policy_bridge()->GetPolicies(PolicyStringCallback("{}")); | 182 policy_bridge()->GetPolicies(PolicyStringCallback("{}")); |
| 183 } | 183 } |
| 184 | 184 |
| 185 TEST_F(ArcPolicyBridgeTest, DisableScreenshotsTest) { | 185 TEST_F(ArcPolicyBridgeTest, DisableScreenshotsTest) { |
| 186 policy_map().Set(policy::key::kDisableScreenshots, | 186 policy_map().Set(policy::key::kDisableScreenshots, |
| 187 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 187 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
| 188 policy::POLICY_SOURCE_CLOUD, | 188 policy::POLICY_SOURCE_CLOUD, |
| 189 base::MakeUnique<base::FundamentalValue>(true), nullptr); | 189 base::MakeUnique<base::Value>(true), nullptr); |
| 190 policy_bridge()->GetPolicies( | 190 policy_bridge()->GetPolicies( |
| 191 PolicyStringCallback("{\"screenCaptureDisabled\":true}")); | 191 PolicyStringCallback("{\"screenCaptureDisabled\":true}")); |
| 192 } | 192 } |
| 193 | 193 |
| 194 TEST_F(ArcPolicyBridgeTest, VideoCaptureAllowedTest) { | 194 TEST_F(ArcPolicyBridgeTest, VideoCaptureAllowedTest) { |
| 195 policy_map().Set(policy::key::kVideoCaptureAllowed, | 195 policy_map().Set(policy::key::kVideoCaptureAllowed, |
| 196 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 196 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
| 197 policy::POLICY_SOURCE_CLOUD, | 197 policy::POLICY_SOURCE_CLOUD, |
| 198 base::MakeUnique<base::FundamentalValue>(false), nullptr); | 198 base::MakeUnique<base::Value>(false), nullptr); |
| 199 policy_bridge()->GetPolicies( | 199 policy_bridge()->GetPolicies( |
| 200 PolicyStringCallback("{\"cameraDisabled\":true}")); | 200 PolicyStringCallback("{\"cameraDisabled\":true}")); |
| 201 } | 201 } |
| 202 | 202 |
| 203 TEST_F(ArcPolicyBridgeTest, AudioCaptureAllowedTest) { | 203 TEST_F(ArcPolicyBridgeTest, AudioCaptureAllowedTest) { |
| 204 policy_map().Set(policy::key::kAudioCaptureAllowed, | 204 policy_map().Set(policy::key::kAudioCaptureAllowed, |
| 205 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 205 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
| 206 policy::POLICY_SOURCE_CLOUD, | 206 policy::POLICY_SOURCE_CLOUD, |
| 207 base::MakeUnique<base::FundamentalValue>(false), nullptr); | 207 base::MakeUnique<base::Value>(false), nullptr); |
| 208 policy_bridge()->GetPolicies( | 208 policy_bridge()->GetPolicies( |
| 209 PolicyStringCallback("{\"unmuteMicrophoneDisabled\":true}")); | 209 PolicyStringCallback("{\"unmuteMicrophoneDisabled\":true}")); |
| 210 } | 210 } |
| 211 | 211 |
| 212 TEST_F(ArcPolicyBridgeTest, DefaultGeolocationSettingTest) { | 212 TEST_F(ArcPolicyBridgeTest, DefaultGeolocationSettingTest) { |
| 213 policy_map().Set(policy::key::kDefaultGeolocationSetting, | 213 policy_map().Set(policy::key::kDefaultGeolocationSetting, |
| 214 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 214 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
| 215 policy::POLICY_SOURCE_CLOUD, | 215 policy::POLICY_SOURCE_CLOUD, |
| 216 base::MakeUnique<base::FundamentalValue>(1), nullptr); | 216 base::MakeUnique<base::Value>(1), nullptr); |
| 217 policy_bridge()->GetPolicies( | 217 policy_bridge()->GetPolicies( |
| 218 PolicyStringCallback("{\"shareLocationDisabled\":false}")); | 218 PolicyStringCallback("{\"shareLocationDisabled\":false}")); |
| 219 policy_map().Set(policy::key::kDefaultGeolocationSetting, | 219 policy_map().Set(policy::key::kDefaultGeolocationSetting, |
| 220 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 220 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
| 221 policy::POLICY_SOURCE_CLOUD, | 221 policy::POLICY_SOURCE_CLOUD, |
| 222 base::MakeUnique<base::FundamentalValue>(2), nullptr); | 222 base::MakeUnique<base::Value>(2), nullptr); |
| 223 policy_bridge()->GetPolicies( | 223 policy_bridge()->GetPolicies( |
| 224 PolicyStringCallback("{\"shareLocationDisabled\":true}")); | 224 PolicyStringCallback("{\"shareLocationDisabled\":true}")); |
| 225 policy_map().Set(policy::key::kDefaultGeolocationSetting, | 225 policy_map().Set(policy::key::kDefaultGeolocationSetting, |
| 226 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 226 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
| 227 policy::POLICY_SOURCE_CLOUD, | 227 policy::POLICY_SOURCE_CLOUD, |
| 228 base::MakeUnique<base::FundamentalValue>(3), nullptr); | 228 base::MakeUnique<base::Value>(3), nullptr); |
| 229 policy_bridge()->GetPolicies( | 229 policy_bridge()->GetPolicies( |
| 230 PolicyStringCallback("{\"shareLocationDisabled\":false}")); | 230 PolicyStringCallback("{\"shareLocationDisabled\":false}")); |
| 231 } | 231 } |
| 232 | 232 |
| 233 TEST_F(ArcPolicyBridgeTest, ExternalStorageDisabledTest) { | 233 TEST_F(ArcPolicyBridgeTest, ExternalStorageDisabledTest) { |
| 234 policy_map().Set(policy::key::kExternalStorageDisabled, | 234 policy_map().Set(policy::key::kExternalStorageDisabled, |
| 235 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 235 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
| 236 policy::POLICY_SOURCE_CLOUD, | 236 policy::POLICY_SOURCE_CLOUD, |
| 237 base::MakeUnique<base::FundamentalValue>(true), nullptr); | 237 base::MakeUnique<base::Value>(true), nullptr); |
| 238 policy_bridge()->GetPolicies( | 238 policy_bridge()->GetPolicies( |
| 239 PolicyStringCallback("{\"mountPhysicalMediaDisabled\":true}")); | 239 PolicyStringCallback("{\"mountPhysicalMediaDisabled\":true}")); |
| 240 } | 240 } |
| 241 | 241 |
| 242 TEST_F(ArcPolicyBridgeTest, URLBlacklistTest) { | 242 TEST_F(ArcPolicyBridgeTest, URLBlacklistTest) { |
| 243 base::ListValue blacklist; | 243 base::ListValue blacklist; |
| 244 blacklist.AppendString("www.blacklist1.com"); | 244 blacklist.AppendString("www.blacklist1.com"); |
| 245 blacklist.AppendString("www.blacklist2.com"); | 245 blacklist.AppendString("www.blacklist2.com"); |
| 246 policy_map().Set(policy::key::kURLBlacklist, policy::POLICY_LEVEL_MANDATORY, | 246 policy_map().Set(policy::key::kURLBlacklist, policy::POLICY_LEVEL_MANDATORY, |
| 247 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, | 247 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
| (...skipping 19 matching lines...) Expand all Loading... |
| 267 "[\"www.whitelist1.com\"," | 267 "[\"www.whitelist1.com\"," |
| 268 "\"www.whitelist2.com\"" | 268 "\"www.whitelist2.com\"" |
| 269 "]}}")); | 269 "]}}")); |
| 270 } | 270 } |
| 271 | 271 |
| 272 TEST_F(ArcPolicyBridgeTest, CaCertificateTest) { | 272 TEST_F(ArcPolicyBridgeTest, CaCertificateTest) { |
| 273 // Enable CA certificates sync. | 273 // Enable CA certificates sync. |
| 274 policy_map().Set( | 274 policy_map().Set( |
| 275 policy::key::kArcCertificatesSyncMode, policy::POLICY_LEVEL_MANDATORY, | 275 policy::key::kArcCertificatesSyncMode, policy::POLICY_LEVEL_MANDATORY, |
| 276 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, | 276 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
| 277 base::MakeUnique<base::FundamentalValue>(ArcCertsSyncMode::COPY_CA_CERTS), | 277 base::MakeUnique<base::Value>(ArcCertsSyncMode::COPY_CA_CERTS), nullptr); |
| 278 nullptr); | |
| 279 policy_map().Set(policy::key::kOpenNetworkConfiguration, | 278 policy_map().Set(policy::key::kOpenNetworkConfiguration, |
| 280 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 279 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
| 281 policy::POLICY_SOURCE_CLOUD, | 280 policy::POLICY_SOURCE_CLOUD, |
| 282 base::MakeUnique<base::StringValue>(kFakeONC), nullptr); | 281 base::MakeUnique<base::StringValue>(kFakeONC), nullptr); |
| 283 policy_bridge()->GetPolicies(PolicyStringCallback( | 282 policy_bridge()->GetPolicies(PolicyStringCallback( |
| 284 "{\"caCerts\":" | 283 "{\"caCerts\":" |
| 285 "[{\"X509\":\"TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24" | 284 "[{\"X509\":\"TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24" |
| 286 "sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGl" | 285 "sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGl" |
| 287 "jaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGV" | 286 "jaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGV" |
| 288 "saWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Y" | 287 "saWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Y" |
| 289 "ga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCB" | 288 "ga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCB" |
| 290 "wbGVhc3VyZS4=\"}" | 289 "wbGVhc3VyZS4=\"}" |
| 291 "]}")); | 290 "]}")); |
| 292 | 291 |
| 293 // Disable CA certificates sync. | 292 // Disable CA certificates sync. |
| 294 policy_map().Set( | 293 policy_map().Set( |
| 295 policy::key::kArcCertificatesSyncMode, policy::POLICY_LEVEL_MANDATORY, | 294 policy::key::kArcCertificatesSyncMode, policy::POLICY_LEVEL_MANDATORY, |
| 296 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, | 295 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
| 297 base::MakeUnique<base::FundamentalValue>(ArcCertsSyncMode::SYNC_DISABLED), | 296 base::MakeUnique<base::Value>(ArcCertsSyncMode::SYNC_DISABLED), nullptr); |
| 298 nullptr); | |
| 299 policy_bridge()->GetPolicies(PolicyStringCallback("{}")); | 297 policy_bridge()->GetPolicies(PolicyStringCallback("{}")); |
| 300 } | 298 } |
| 301 | 299 |
| 302 TEST_F(ArcPolicyBridgeTest, DeveloperToolsDisabledTest) { | 300 TEST_F(ArcPolicyBridgeTest, DeveloperToolsDisabledTest) { |
| 303 policy_map().Set(policy::key::kDeveloperToolsDisabled, | 301 policy_map().Set(policy::key::kDeveloperToolsDisabled, |
| 304 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 302 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
| 305 policy::POLICY_SOURCE_CLOUD, | 303 policy::POLICY_SOURCE_CLOUD, |
| 306 base::MakeUnique<base::FundamentalValue>(true), nullptr); | 304 base::MakeUnique<base::Value>(true), nullptr); |
| 307 policy_bridge()->GetPolicies( | 305 policy_bridge()->GetPolicies( |
| 308 PolicyStringCallback("{\"debuggingFeaturesDisabled\":true}")); | 306 PolicyStringCallback("{\"debuggingFeaturesDisabled\":true}")); |
| 309 } | 307 } |
| 310 | 308 |
| 311 TEST_F(ArcPolicyBridgeTest, MultiplePoliciesTest) { | 309 TEST_F(ArcPolicyBridgeTest, MultiplePoliciesTest) { |
| 312 policy_map().Set( | 310 policy_map().Set( |
| 313 policy::key::kArcPolicy, policy::POLICY_LEVEL_MANDATORY, | 311 policy::key::kArcPolicy, policy::POLICY_LEVEL_MANDATORY, |
| 314 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, | 312 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
| 315 base::MakeUnique<base::StringValue>( | 313 base::MakeUnique<base::StringValue>( |
| 316 "{\"applications\":" | 314 "{\"applications\":" |
| 317 "[{\"packageName\":\"com.google.android.apps.youtube.kids\"," | 315 "[{\"packageName\":\"com.google.android.apps.youtube.kids\"," |
| 318 "\"installType\":\"REQUIRED\"," | 316 "\"installType\":\"REQUIRED\"," |
| 319 "\"lockTaskAllowed\":false," | 317 "\"lockTaskAllowed\":false," |
| 320 "\"permissionGrants\":[]" | 318 "\"permissionGrants\":[]" |
| 321 "}]," | 319 "}]," |
| 322 "\"defaultPermissionPolicy\":\"GRANT\"}"), | 320 "\"defaultPermissionPolicy\":\"GRANT\"}"), |
| 323 nullptr); | 321 nullptr); |
| 324 policy_map().Set( | 322 policy_map().Set( |
| 325 policy::key::kHomepageLocation, policy::POLICY_LEVEL_MANDATORY, | 323 policy::key::kHomepageLocation, policy::POLICY_LEVEL_MANDATORY, |
| 326 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, | 324 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
| 327 base::MakeUnique<base::StringValue>("http://chromium.org"), nullptr); | 325 base::MakeUnique<base::StringValue>("http://chromium.org"), nullptr); |
| 328 policy_map().Set(policy::key::kVideoCaptureAllowed, | 326 policy_map().Set(policy::key::kVideoCaptureAllowed, |
| 329 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 327 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
| 330 policy::POLICY_SOURCE_CLOUD, | 328 policy::POLICY_SOURCE_CLOUD, |
| 331 base::MakeUnique<base::FundamentalValue>(false), nullptr); | 329 base::MakeUnique<base::Value>(false), nullptr); |
| 332 policy_bridge()->GetPolicies(PolicyStringCallback( | 330 policy_bridge()->GetPolicies(PolicyStringCallback( |
| 333 "{\"applications\":" | 331 "{\"applications\":" |
| 334 "[{\"installType\":\"REQUIRED\"," | 332 "[{\"installType\":\"REQUIRED\"," |
| 335 "\"lockTaskAllowed\":false," | 333 "\"lockTaskAllowed\":false," |
| 336 "\"packageName\":\"com.google.android.apps.youtube.kids\"," | 334 "\"packageName\":\"com.google.android.apps.youtube.kids\"," |
| 337 "\"permissionGrants\":[]" | 335 "\"permissionGrants\":[]" |
| 338 "}]," | 336 "}]," |
| 339 "\"cameraDisabled\":true," | 337 "\"cameraDisabled\":true," |
| 340 "\"defaultPermissionPolicy\":\"GRANT\"" | 338 "\"defaultPermissionPolicy\":\"GRANT\"" |
| 341 "}")); | 339 "}")); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 369 TEST_F(ArcPolicyBridgeTest, PolicyInstanceUnmanagedTest) { | 367 TEST_F(ArcPolicyBridgeTest, PolicyInstanceUnmanagedTest) { |
| 370 policy_bridge()->OverrideIsManagedForTesting(false); | 368 policy_bridge()->OverrideIsManagedForTesting(false); |
| 371 policy_instance()->CallGetPolicies(PolicyStringCallback("")); | 369 policy_instance()->CallGetPolicies(PolicyStringCallback("")); |
| 372 } | 370 } |
| 373 | 371 |
| 374 TEST_F(ArcPolicyBridgeTest, PolicyInstanceManagedTest) { | 372 TEST_F(ArcPolicyBridgeTest, PolicyInstanceManagedTest) { |
| 375 policy_instance()->CallGetPolicies(PolicyStringCallback("{}")); | 373 policy_instance()->CallGetPolicies(PolicyStringCallback("{}")); |
| 376 } | 374 } |
| 377 | 375 |
| 378 } // namespace arc | 376 } // namespace arc |
| OLD | NEW |