diff options
author | danno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-09 13:08:29 +0000 |
---|---|---|
committer | danno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-09 13:08:29 +0000 |
commit | ffe2d339d60f9b7d1b3a59f523643366e6fb4dcd (patch) | |
tree | 451b904a2894968421fb110ed48c15c996ca2b00 /chrome/browser/policy/mock_device_management_backend.cc | |
parent | 1422932ae4755048e18b1971dfc54837665caa80 (diff) | |
download | chromium_src-ffe2d339d60f9b7d1b3a59f523643366e6fb4dcd.zip chromium_src-ffe2d339d60f9b7d1b3a59f523643366e6fb4dcd.tar.gz chromium_src-ffe2d339d60f9b7d1b3a59f523643366e6fb4dcd.tar.bz2 |
Implement device management policy provider
BUG=62462
TEST=DeviceManagementPolicyProviderTest*
Review URL: http://codereview.chromium.org/4382001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65520 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/policy/mock_device_management_backend.cc')
-rw-r--r-- | chrome/browser/policy/mock_device_management_backend.cc | 107 |
1 files changed, 76 insertions, 31 deletions
diff --git a/chrome/browser/policy/mock_device_management_backend.cc b/chrome/browser/policy/mock_device_management_backend.cc index 61a20e9c..2811c2b 100644 --- a/chrome/browser/policy/mock_device_management_backend.cc +++ b/chrome/browser/policy/mock_device_management_backend.cc @@ -2,9 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "base/logging.h" #include "chrome/browser/policy/mock_device_management_backend.h" +#include "base/basictypes.h" +#include "base/logging.h" +#include "base/stl_util-inl.h" + namespace { static const char kFakeDeviceManagementToken[] = "FAKE_DEVICE_TOKEN_"; @@ -14,48 +17,90 @@ static char next_token_suffix_ = '0'; namespace policy { -using enterprise_management::DeviceRegisterRequest; -using enterprise_management::DeviceUnregisterRequest; -using enterprise_management::DevicePolicyRequest; -using enterprise_management::DeviceRegisterResponse; -using enterprise_management::DeviceUnregisterResponse; -using enterprise_management::DevicePolicyResponse; +using ::testing::_; +using ::testing::Invoke; + +using em::DeviceRegisterRequest; +using em::DeviceUnregisterRequest; +using em::DevicePolicyRequest; +using em::DeviceRegisterResponse; +using em::DeviceUnregisterResponse; +using em::DevicePolicyResponse; MockDeviceManagementBackend::MockDeviceManagementBackend() - : DeviceManagementBackend(), - failure_(false) { + : DeviceManagementBackend() { + policy_setting_ = policy_response_.add_setting(); + policy_setting_->set_policy_key("chrome-policy"); + policy_setting_->set_watermark("fresh"); +} + +MockDeviceManagementBackend::~MockDeviceManagementBackend() { +} + +void MockDeviceManagementBackend::AllShouldSucceed() { + ON_CALL(*this, ProcessRegisterRequest(_, _, _, _)). + WillByDefault(Invoke( + this, + &MockDeviceManagementBackend::SimulateSuccessfulRegisterRequest)); + ON_CALL(*this, ProcessPolicyRequest(_, _, _)). + WillByDefault(Invoke( + this, + &MockDeviceManagementBackend::SimulateSuccessfulPolicyRequest)); +} + +void MockDeviceManagementBackend::AllShouldFail() { + ON_CALL(*this, ProcessRegisterRequest(_, _, _, _)). + WillByDefault(Invoke( + this, + &MockDeviceManagementBackend::SimulateFailedRegisterRequest)); + ON_CALL(*this, ProcessPolicyRequest(_, _, _)). + WillByDefault(Invoke( + this, + &MockDeviceManagementBackend::SimulateFailedPolicyRequest)); } -void MockDeviceManagementBackend::ProcessRegisterRequest( +void MockDeviceManagementBackend::AddBooleanPolicy(const char* policy_name, + bool value) { + em::GenericSetting* policy_value = policy_setting_->mutable_policy_value(); + em::GenericNamedValue* named_value = policy_value->add_named_value(); + named_value->set_name(policy_name); + named_value->mutable_value()->set_value_type( + em::GenericValue::VALUE_TYPE_BOOL); + named_value->mutable_value()->set_bool_value(value); +} + +void MockDeviceManagementBackend::SimulateSuccessfulRegisterRequest( const std::string& auth_token, const std::string& device_id, - const DeviceRegisterRequest& request, + const em::DeviceRegisterRequest& request, DeviceRegisterResponseDelegate* delegate) { - if (failure_) { - delegate->OnError(kErrorRequestInvalid); - } else { - DeviceRegisterResponse response; - std::string token(kFakeDeviceManagementToken); - token += next_token_suffix_++; - response.set_device_management_token(token); - delegate->HandleRegisterResponse(response); - } -} - -void MockDeviceManagementBackend::ProcessUnregisterRequest( + DeviceRegisterResponse response; + std::string token(kFakeDeviceManagementToken); + token += next_token_suffix_++; + response.set_device_management_token(token); + delegate->HandleRegisterResponse(response); +} + +void MockDeviceManagementBackend::SimulateSuccessfulPolicyRequest( const std::string& device_management_token, - const DeviceUnregisterRequest& request, - DeviceUnregisterResponseDelegate* delegate) { - // TODO(danno): need a mock implementation for the backend here. - NOTREACHED(); + const em::DevicePolicyRequest& request, + DevicePolicyResponseDelegate* delegate) { + delegate->HandlePolicyResponse(policy_response_); +} + +void MockDeviceManagementBackend::SimulateFailedRegisterRequest( + const std::string& auth_token, + const std::string& device_id, + const em::DeviceRegisterRequest& request, + DeviceRegisterResponseDelegate* delegate) { + delegate->OnError(kErrorRequestFailed); } -void MockDeviceManagementBackend::ProcessPolicyRequest( +void MockDeviceManagementBackend::SimulateFailedPolicyRequest( const std::string& device_management_token, - const DevicePolicyRequest& request, + const em::DevicePolicyRequest& request, DevicePolicyResponseDelegate* delegate) { - // TODO(danno): need a mock implementation for the backend here. - NOTREACHED(); + delegate->OnError(kErrorRequestFailed); } } // namespace |