| OLD | NEW |
| 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 <memory> | 5 #include <memory> |
| 6 | 6 |
| 7 #include "base/callback.h" | 7 #include "base/callback.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
| 10 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 | 143 |
| 144 return base::StringPrintf(kTestPolicy, | 144 return base::StringPrintf(kTestPolicy, |
| 145 dm_protocol::kChromeUserPolicyType, | 145 dm_protocol::kChromeUserPolicyType, |
| 146 homepage, | 146 homepage, |
| 147 GetTestUser(), | 147 GetTestUser(), |
| 148 key_version); | 148 key_version); |
| 149 } | 149 } |
| 150 | 150 |
| 151 void GetExpectedDefaultPolicy(PolicyMap* policy_map) { | 151 void GetExpectedDefaultPolicy(PolicyMap* policy_map) { |
| 152 #if defined(OS_CHROMEOS) | 152 #if defined(OS_CHROMEOS) |
| 153 policy_map->Set(key::kChromeOsMultiProfileUserBehavior, | 153 policy_map->Set( |
| 154 POLICY_LEVEL_MANDATORY, | 154 key::kChromeOsMultiProfileUserBehavior, POLICY_LEVEL_MANDATORY, |
| 155 POLICY_SCOPE_USER, | 155 POLICY_SCOPE_USER, POLICY_SOURCE_ENTERPRISE_DEFAULT, |
| 156 base::WrapUnique(new base::StringValue("primary-only")), nullptr); |
| 157 policy_map->Set(key::kEasyUnlockAllowed, POLICY_LEVEL_MANDATORY, |
| 158 POLICY_SCOPE_USER, POLICY_SOURCE_ENTERPRISE_DEFAULT, |
| 159 base::WrapUnique(new base::FundamentalValue(false)), nullptr); |
| 160 policy_map->Set(key::kCaptivePortalAuthenticationIgnoresProxy, |
| 161 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 156 POLICY_SOURCE_ENTERPRISE_DEFAULT, | 162 POLICY_SOURCE_ENTERPRISE_DEFAULT, |
| 157 new base::StringValue("primary-only"), | 163 base::WrapUnique(new base::FundamentalValue(false)), nullptr); |
| 158 nullptr); | 164 policy_map->Set(key::kAllowDinosaurEasterEgg, POLICY_LEVEL_MANDATORY, |
| 159 policy_map->Set(key::kEasyUnlockAllowed, | 165 POLICY_SCOPE_USER, POLICY_SOURCE_ENTERPRISE_DEFAULT, |
| 160 POLICY_LEVEL_MANDATORY, | 166 base::WrapUnique(new base::FundamentalValue(false)), nullptr); |
| 161 POLICY_SCOPE_USER, | 167 policy_map->Set(key::kArcEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 162 POLICY_SOURCE_ENTERPRISE_DEFAULT, | 168 POLICY_SOURCE_ENTERPRISE_DEFAULT, |
| 163 new base::FundamentalValue(false), | 169 base::WrapUnique(new base::FundamentalValue(false)), nullptr); |
| 164 nullptr); | |
| 165 policy_map->Set(key::kCaptivePortalAuthenticationIgnoresProxy, | |
| 166 POLICY_LEVEL_MANDATORY, | |
| 167 POLICY_SCOPE_USER, | |
| 168 POLICY_SOURCE_ENTERPRISE_DEFAULT, | |
| 169 new base::FundamentalValue(false), | |
| 170 nullptr); | |
| 171 policy_map->Set(key::kAllowDinosaurEasterEgg, | |
| 172 POLICY_LEVEL_MANDATORY, | |
| 173 POLICY_SCOPE_USER, | |
| 174 POLICY_SOURCE_ENTERPRISE_DEFAULT, | |
| 175 new base::FundamentalValue(false), | |
| 176 nullptr); | |
| 177 policy_map->Set(key::kArcEnabled, | |
| 178 POLICY_LEVEL_MANDATORY, | |
| 179 POLICY_SCOPE_USER, | |
| 180 POLICY_SOURCE_ENTERPRISE_DEFAULT, | |
| 181 new base::FundamentalValue(false), | |
| 182 nullptr); | |
| 183 #endif | 170 #endif |
| 184 } | 171 } |
| 185 | 172 |
| 186 void GetExpectedTestPolicy(PolicyMap* expected, const char* homepage) { | 173 void GetExpectedTestPolicy(PolicyMap* expected, const char* homepage) { |
| 187 expected->Set(key::kShowHomeButton, | 174 expected->Set(key::kShowHomeButton, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 188 POLICY_LEVEL_MANDATORY, | |
| 189 POLICY_SCOPE_USER, | |
| 190 POLICY_SOURCE_CLOUD, | 175 POLICY_SOURCE_CLOUD, |
| 191 new base::FundamentalValue(true), | 176 base::WrapUnique(new base::FundamentalValue(true)), nullptr); |
| 192 nullptr); | 177 expected->Set(key::kRestoreOnStartup, POLICY_LEVEL_MANDATORY, |
| 193 expected->Set(key::kRestoreOnStartup, | 178 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
| 194 POLICY_LEVEL_MANDATORY, | 179 base::WrapUnique(new base::FundamentalValue(4)), nullptr); |
| 195 POLICY_SCOPE_USER, | |
| 196 POLICY_SOURCE_CLOUD, | |
| 197 new base::FundamentalValue(4), | |
| 198 nullptr); | |
| 199 base::ListValue list; | 180 base::ListValue list; |
| 200 list.AppendString("dev.chromium.org"); | 181 list.AppendString("dev.chromium.org"); |
| 201 list.AppendString("youtube.com"); | 182 list.AppendString("youtube.com"); |
| 202 expected->Set(key::kURLBlacklist, | 183 expected->Set(key::kURLBlacklist, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 203 POLICY_LEVEL_MANDATORY, | 184 POLICY_SOURCE_CLOUD, list.CreateDeepCopy(), nullptr); |
| 204 POLICY_SCOPE_USER, | 185 expected->Set(key::kMaxInvalidationFetchDelay, POLICY_LEVEL_MANDATORY, |
| 205 POLICY_SOURCE_CLOUD, | 186 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
| 206 list.DeepCopy(), | 187 base::WrapUnique(new base::FundamentalValue(1000)), nullptr); |
| 188 expected->Set(key::kHomepageLocation, POLICY_LEVEL_RECOMMENDED, |
| 189 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
| 190 base::WrapUnique(new base::StringValue(homepage)), nullptr); |
| 191 #if defined(OS_CHROMEOS) |
| 192 expected->Set(key::kChromeOsMultiProfileUserBehavior, POLICY_LEVEL_MANDATORY, |
| 193 POLICY_SCOPE_USER, POLICY_SOURCE_ENTERPRISE_DEFAULT, |
| 194 base::WrapUnique(new base::StringValue("primary-only")), |
| 207 nullptr); | 195 nullptr); |
| 208 expected->Set(key::kMaxInvalidationFetchDelay, | 196 expected->Set(key::kEasyUnlockAllowed, POLICY_LEVEL_MANDATORY, |
| 209 POLICY_LEVEL_MANDATORY, | 197 POLICY_SCOPE_USER, POLICY_SOURCE_ENTERPRISE_DEFAULT, |
| 210 POLICY_SCOPE_USER, | 198 base::WrapUnique(new base::FundamentalValue(false)), nullptr); |
| 211 POLICY_SOURCE_CLOUD, | 199 expected->Set(key::kCaptivePortalAuthenticationIgnoresProxy, |
| 212 new base::FundamentalValue(1000), | 200 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 213 nullptr); | |
| 214 expected->Set(key::kHomepageLocation, | |
| 215 POLICY_LEVEL_RECOMMENDED, | |
| 216 POLICY_SCOPE_USER, | |
| 217 POLICY_SOURCE_CLOUD, | |
| 218 new base::StringValue(homepage), | |
| 219 nullptr); | |
| 220 #if defined(OS_CHROMEOS) | |
| 221 expected->Set(key::kChromeOsMultiProfileUserBehavior, | |
| 222 POLICY_LEVEL_MANDATORY, | |
| 223 POLICY_SCOPE_USER, | |
| 224 POLICY_SOURCE_ENTERPRISE_DEFAULT, | 201 POLICY_SOURCE_ENTERPRISE_DEFAULT, |
| 225 new base::StringValue("primary-only"), | 202 base::WrapUnique(new base::FundamentalValue(false)), nullptr); |
| 226 nullptr); | 203 expected->Set(key::kAllowDinosaurEasterEgg, POLICY_LEVEL_MANDATORY, |
| 227 expected->Set(key::kEasyUnlockAllowed, | 204 POLICY_SCOPE_USER, POLICY_SOURCE_ENTERPRISE_DEFAULT, |
| 228 POLICY_LEVEL_MANDATORY, | 205 base::WrapUnique(new base::FundamentalValue(false)), nullptr); |
| 229 POLICY_SCOPE_USER, | 206 expected->Set(key::kArcEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 230 POLICY_SOURCE_ENTERPRISE_DEFAULT, | 207 POLICY_SOURCE_ENTERPRISE_DEFAULT, |
| 231 new base::FundamentalValue(false), | 208 base::WrapUnique(new base::FundamentalValue(false)), nullptr); |
| 232 nullptr); | |
| 233 expected->Set(key::kCaptivePortalAuthenticationIgnoresProxy, | |
| 234 POLICY_LEVEL_MANDATORY, | |
| 235 POLICY_SCOPE_USER, | |
| 236 POLICY_SOURCE_ENTERPRISE_DEFAULT, | |
| 237 new base::FundamentalValue(false), | |
| 238 nullptr); | |
| 239 expected->Set(key::kAllowDinosaurEasterEgg, | |
| 240 POLICY_LEVEL_MANDATORY, | |
| 241 POLICY_SCOPE_USER, | |
| 242 POLICY_SOURCE_ENTERPRISE_DEFAULT, | |
| 243 new base::FundamentalValue(false), | |
| 244 nullptr); | |
| 245 expected->Set(key::kArcEnabled, | |
| 246 POLICY_LEVEL_MANDATORY, | |
| 247 POLICY_SCOPE_USER, | |
| 248 POLICY_SOURCE_ENTERPRISE_DEFAULT, | |
| 249 new base::FundamentalValue(false), | |
| 250 nullptr); | |
| 251 #endif | 209 #endif |
| 252 } | 210 } |
| 253 | 211 |
| 254 } // namespace | 212 } // namespace |
| 255 | 213 |
| 256 // Tests the cloud policy stack(s). | 214 // Tests the cloud policy stack(s). |
| 257 class CloudPolicyTest : public InProcessBrowserTest, | 215 class CloudPolicyTest : public InProcessBrowserTest, |
| 258 public PolicyService::Observer { | 216 public PolicyService::Observer { |
| 259 protected: | 217 protected: |
| 260 CloudPolicyTest() {} | 218 CloudPolicyTest() {} |
| (...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 544 | 502 |
| 545 // They should now serialize to the same bytes. | 503 // They should now serialize to the same bytes. |
| 546 std::string chrome_settings_serialized; | 504 std::string chrome_settings_serialized; |
| 547 std::string cloud_policy_serialized; | 505 std::string cloud_policy_serialized; |
| 548 ASSERT_TRUE(chrome_settings.SerializeToString(&chrome_settings_serialized)); | 506 ASSERT_TRUE(chrome_settings.SerializeToString(&chrome_settings_serialized)); |
| 549 ASSERT_TRUE(cloud_policy.SerializeToString(&cloud_policy_serialized)); | 507 ASSERT_TRUE(cloud_policy.SerializeToString(&cloud_policy_serialized)); |
| 550 EXPECT_EQ(chrome_settings_serialized, cloud_policy_serialized); | 508 EXPECT_EQ(chrome_settings_serialized, cloud_policy_serialized); |
| 551 } | 509 } |
| 552 | 510 |
| 553 } // namespace policy | 511 } // namespace policy |
| OLD | NEW |