Index: chrome/browser/policy/device_management_policy_provider_unittest.cc |
diff --git a/chrome/browser/policy/device_management_policy_provider_unittest.cc b/chrome/browser/policy/device_management_policy_provider_unittest.cc |
index 1761e80ea60cd7b72cd0418f1f26421cd38aa2cc..7b92d1be8e6d464c27f82f180e6d75e86f9798e2 100644 |
--- a/chrome/browser/policy/device_management_policy_provider_unittest.cc |
+++ b/chrome/browser/policy/device_management_policy_provider_unittest.cc |
@@ -210,4 +210,36 @@ TEST_F(DeviceManagementPolicyProviderTest, RefreshPolicies) { |
SimulateSuccessfulLoginAndRunPending(); |
} |
+// The client should try to re-register the device if the device server reports |
+// back that it doesn't recognize the device token on a policy request. |
+TEST_F(DeviceManagementPolicyProviderTest, DeviceNotFound) { |
+ InSequence s; |
+ EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce( |
+ MockDeviceManagementBackendSucceedRegister()); |
+ EXPECT_CALL(*backend_, ProcessPolicyRequest(_, _, _, _)).WillOnce( |
+ MockDeviceManagementBackendFailPolicy( |
+ DeviceManagementBackend::kErrorServiceDeviceNotFound)); |
+ EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce( |
+ MockDeviceManagementBackendSucceedRegister()); |
+ EXPECT_CALL(*backend_, ProcessPolicyRequest(_, _, _, _)).WillOnce( |
+ MockDeviceManagementBackendSucceedBooleanPolicy(key::kDisableSpdy, true)); |
+ SimulateSuccessfulLoginAndRunPending(); |
+} |
+ |
+// The client should try to re-register the device if the device server reports |
+// back that the device token is invalid on a policy request. |
+TEST_F(DeviceManagementPolicyProviderTest, InvalidTokenOnPolicyRequest) { |
+ InSequence s; |
+ EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce( |
+ MockDeviceManagementBackendSucceedRegister()); |
+ EXPECT_CALL(*backend_, ProcessPolicyRequest(_, _, _, _)).WillOnce( |
+ MockDeviceManagementBackendFailPolicy( |
+ DeviceManagementBackend::kErrorServiceManagementTokenInvalid)); |
+ EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce( |
+ MockDeviceManagementBackendSucceedRegister()); |
+ EXPECT_CALL(*backend_, ProcessPolicyRequest(_, _, _, _)).WillOnce( |
+ MockDeviceManagementBackendSucceedBooleanPolicy(key::kDisableSpdy, true)); |
+ SimulateSuccessfulLoginAndRunPending(); |
+} |
+ |
} // namespace policy |