| 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 "chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.h" | 5 #include "chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 *device_policy_.GetNewSigningKey()); | 194 *device_policy_.GetNewSigningKey()); |
| 195 ReloadDeviceSettings(); | 195 ReloadDeviceSettings(); |
| 196 ExpectSuccess(); | 196 ExpectSuccess(); |
| 197 } | 197 } |
| 198 | 198 |
| 199 TEST_F(DeviceCloudPolicyStoreChromeOSTest, | 199 TEST_F(DeviceCloudPolicyStoreChromeOSTest, |
| 200 StoreKeyRotationVerificationFailure) { | 200 StoreKeyRotationVerificationFailure) { |
| 201 PrepareExistingPolicy(); | 201 PrepareExistingPolicy(); |
| 202 device_policy_.SetDefaultNewSigningKey(); | 202 device_policy_.SetDefaultNewSigningKey(); |
| 203 device_policy_.Build(); | 203 device_policy_.Build(); |
| 204 *device_policy_.policy().mutable_new_public_key_verification_signature() = | 204 *device_policy_.policy() |
| 205 "garbage"; | 205 .mutable_new_public_key_verification_signature_deprecated() = "garbage"; |
| 206 store_->Store(device_policy_.policy()); | 206 store_->Store(device_policy_.policy()); |
| 207 FlushDeviceSettings(); | 207 FlushDeviceSettings(); |
| 208 EXPECT_EQ(CloudPolicyStore::STATUS_VALIDATION_ERROR, store_->status()); | 208 EXPECT_EQ(CloudPolicyStore::STATUS_VALIDATION_ERROR, store_->status()); |
| 209 EXPECT_EQ(CloudPolicyValidatorBase::VALIDATION_BAD_KEY_VERIFICATION_SIGNATURE, | 209 EXPECT_EQ(CloudPolicyValidatorBase::VALIDATION_BAD_KEY_VERIFICATION_SIGNATURE, |
| 210 store_->validation_status()); | 210 store_->validation_status()); |
| 211 } | 211 } |
| 212 | 212 |
| 213 TEST_F(DeviceCloudPolicyStoreChromeOSTest, | 213 TEST_F(DeviceCloudPolicyStoreChromeOSTest, |
| 214 StoreKeyRotationMissingSignatureFailure) { | 214 StoreKeyRotationMissingSignatureFailure) { |
| 215 PrepareExistingPolicy(); | 215 PrepareExistingPolicy(); |
| 216 device_policy_.SetDefaultNewSigningKey(); | 216 device_policy_.SetDefaultNewSigningKey(); |
| 217 device_policy_.Build(); | 217 device_policy_.Build(); |
| 218 device_policy_.policy().clear_new_public_key_verification_signature(); | 218 device_policy_.policy() |
| 219 .clear_new_public_key_verification_signature_deprecated(); |
| 219 store_->Store(device_policy_.policy()); | 220 store_->Store(device_policy_.policy()); |
| 220 FlushDeviceSettings(); | 221 FlushDeviceSettings(); |
| 221 EXPECT_EQ(CloudPolicyStore::STATUS_VALIDATION_ERROR, store_->status()); | 222 EXPECT_EQ(CloudPolicyStore::STATUS_VALIDATION_ERROR, store_->status()); |
| 222 EXPECT_EQ(CloudPolicyValidatorBase::VALIDATION_BAD_KEY_VERIFICATION_SIGNATURE, | 223 EXPECT_EQ(CloudPolicyValidatorBase::VALIDATION_BAD_KEY_VERIFICATION_SIGNATURE, |
| 223 store_->validation_status()); | 224 store_->validation_status()); |
| 224 } | 225 } |
| 225 | 226 |
| 226 TEST_F(DeviceCloudPolicyStoreChromeOSTest, InstallInitialPolicySuccess) { | 227 TEST_F(DeviceCloudPolicyStoreChromeOSTest, InstallInitialPolicySuccess) { |
| 227 PrepareNewSigningKey(); | 228 PrepareNewSigningKey(); |
| 228 store_->InstallInitialPolicy(device_policy_.policy()); | 229 store_->InstallInitialPolicy(device_policy_.policy()); |
| 229 FlushDeviceSettings(); | 230 FlushDeviceSettings(); |
| 230 ExpectSuccess(); | 231 ExpectSuccess(); |
| 231 } | 232 } |
| 232 | 233 |
| 233 TEST_F(DeviceCloudPolicyStoreChromeOSTest, InstallInitialPolicyNoSignature) { | 234 TEST_F(DeviceCloudPolicyStoreChromeOSTest, InstallInitialPolicyNoSignature) { |
| 234 PrepareNewSigningKey(); | 235 PrepareNewSigningKey(); |
| 235 device_policy_.policy().clear_policy_data_signature(); | 236 device_policy_.policy().clear_policy_data_signature(); |
| 236 store_->InstallInitialPolicy(device_policy_.policy()); | 237 store_->InstallInitialPolicy(device_policy_.policy()); |
| 237 FlushDeviceSettings(); | 238 FlushDeviceSettings(); |
| 238 ExpectFailure(CloudPolicyStore::STATUS_VALIDATION_ERROR); | 239 ExpectFailure(CloudPolicyStore::STATUS_VALIDATION_ERROR); |
| 239 EXPECT_EQ(CloudPolicyValidatorBase::VALIDATION_BAD_INITIAL_SIGNATURE, | 240 EXPECT_EQ(CloudPolicyValidatorBase::VALIDATION_BAD_INITIAL_SIGNATURE, |
| 240 store_->validation_status()); | 241 store_->validation_status()); |
| 241 } | 242 } |
| 242 | 243 |
| 243 TEST_F(DeviceCloudPolicyStoreChromeOSTest, | 244 TEST_F(DeviceCloudPolicyStoreChromeOSTest, |
| 244 InstallInitialPolicyVerificationFailure) { | 245 InstallInitialPolicyVerificationFailure) { |
| 245 PrepareNewSigningKey(); | 246 PrepareNewSigningKey(); |
| 246 *device_policy_.policy().mutable_new_public_key_verification_signature() = | 247 *device_policy_.policy() |
| 247 "garbage"; | 248 .mutable_new_public_key_verification_signature_deprecated() = "garbage"; |
| 248 store_->InstallInitialPolicy(device_policy_.policy()); | 249 store_->InstallInitialPolicy(device_policy_.policy()); |
| 249 FlushDeviceSettings(); | 250 FlushDeviceSettings(); |
| 250 ExpectFailure(CloudPolicyStore::STATUS_VALIDATION_ERROR); | 251 ExpectFailure(CloudPolicyStore::STATUS_VALIDATION_ERROR); |
| 251 EXPECT_EQ(CloudPolicyValidatorBase::VALIDATION_BAD_KEY_VERIFICATION_SIGNATURE, | 252 EXPECT_EQ(CloudPolicyValidatorBase::VALIDATION_BAD_KEY_VERIFICATION_SIGNATURE, |
| 252 store_->validation_status()); | 253 store_->validation_status()); |
| 253 } | 254 } |
| 254 | 255 |
| 255 TEST_F(DeviceCloudPolicyStoreChromeOSTest, | 256 TEST_F(DeviceCloudPolicyStoreChromeOSTest, |
| 256 InstallInitialPolicyMissingSignatureFailure) { | 257 InstallInitialPolicyMissingSignatureFailure) { |
| 257 PrepareNewSigningKey(); | 258 PrepareNewSigningKey(); |
| 258 device_policy_.policy().clear_new_public_key_verification_signature(); | 259 device_policy_.policy() |
| 260 .clear_new_public_key_verification_signature_deprecated(); |
| 259 store_->InstallInitialPolicy(device_policy_.policy()); | 261 store_->InstallInitialPolicy(device_policy_.policy()); |
| 260 FlushDeviceSettings(); | 262 FlushDeviceSettings(); |
| 261 ExpectFailure(CloudPolicyStore::STATUS_VALIDATION_ERROR); | 263 ExpectFailure(CloudPolicyStore::STATUS_VALIDATION_ERROR); |
| 262 EXPECT_EQ(CloudPolicyValidatorBase::VALIDATION_BAD_KEY_VERIFICATION_SIGNATURE, | 264 EXPECT_EQ(CloudPolicyValidatorBase::VALIDATION_BAD_KEY_VERIFICATION_SIGNATURE, |
| 263 store_->validation_status()); | 265 store_->validation_status()); |
| 264 } | 266 } |
| 265 | 267 |
| 266 TEST_F(DeviceCloudPolicyStoreChromeOSTest, InstallInitialPolicyNoKey) { | 268 TEST_F(DeviceCloudPolicyStoreChromeOSTest, InstallInitialPolicyNoKey) { |
| 267 PrepareNewSigningKey(); | 269 PrepareNewSigningKey(); |
| 268 device_policy_.policy().clear_new_public_key(); | 270 device_policy_.policy().clear_new_public_key(); |
| 269 store_->InstallInitialPolicy(device_policy_.policy()); | 271 store_->InstallInitialPolicy(device_policy_.policy()); |
| 270 FlushDeviceSettings(); | 272 FlushDeviceSettings(); |
| 271 ExpectFailure(CloudPolicyStore::STATUS_VALIDATION_ERROR); | 273 ExpectFailure(CloudPolicyStore::STATUS_VALIDATION_ERROR); |
| 272 EXPECT_EQ(CloudPolicyValidatorBase::VALIDATION_BAD_INITIAL_SIGNATURE, | 274 EXPECT_EQ(CloudPolicyValidatorBase::VALIDATION_BAD_INITIAL_SIGNATURE, |
| 273 store_->validation_status()); | 275 store_->validation_status()); |
| 274 } | 276 } |
| 275 | 277 |
| 276 TEST_F(DeviceCloudPolicyStoreChromeOSTest, InstallInitialPolicyNotEnterprise) { | 278 TEST_F(DeviceCloudPolicyStoreChromeOSTest, InstallInitialPolicyNotEnterprise) { |
| 277 PrepareNewSigningKey(); | 279 PrepareNewSigningKey(); |
| 278 ResetToNonEnterprise(); | 280 ResetToNonEnterprise(); |
| 279 store_->InstallInitialPolicy(device_policy_.policy()); | 281 store_->InstallInitialPolicy(device_policy_.policy()); |
| 280 FlushDeviceSettings(); | 282 FlushDeviceSettings(); |
| 281 ExpectFailure(CloudPolicyStore::STATUS_BAD_STATE); | 283 ExpectFailure(CloudPolicyStore::STATUS_BAD_STATE); |
| 282 } | 284 } |
| 283 | 285 |
| 284 } // namespace policy | 286 } // namespace policy |
| OLD | NEW |