mock_device_management_backend.h revision 4a5e2dc747d50c653511c68ccb2cfbfb740bd5a7
1// Copyright (c) 2010 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_BROWSER_POLICY_MOCK_DEVICE_MANAGEMENT_BACKEND_H_ 6#define CHROME_BROWSER_POLICY_MOCK_DEVICE_MANAGEMENT_BACKEND_H_ 7#pragma once 8 9#include <map> 10#include <string> 11 12#include "base/values.h" 13#include "chrome/browser/policy/device_management_backend.h" 14#include "testing/gtest/include/gtest/gtest.h" 15#include "testing/gmock/include/gmock/gmock.h" 16 17namespace policy { 18 19namespace em = enterprise_management; 20 21// Useful for unit testing when a server-based backend isn't 22// available. Simulates both successful and failed requests to the device 23// management server. 24class MockDeviceManagementBackend 25 : public DeviceManagementBackend { 26 public: 27 MockDeviceManagementBackend(); 28 virtual ~MockDeviceManagementBackend(); 29 30 // DeviceManagementBackend method overrides: 31 MOCK_METHOD4(ProcessRegisterRequest, void( 32 const std::string& auth_token, 33 const std::string& device_id, 34 const em::DeviceRegisterRequest& request, 35 DeviceRegisterResponseDelegate* delegate)); 36 37 MOCK_METHOD3(ProcessUnregisterRequest, void( 38 const std::string& device_management_token, 39 const em::DeviceUnregisterRequest& request, 40 DeviceUnregisterResponseDelegate* delegate)); 41 42 MOCK_METHOD3(ProcessPolicyRequest, void( 43 const std::string& device_management_token, 44 const em::DevicePolicyRequest& request, 45 DevicePolicyResponseDelegate* delegate)); 46 47 void AllShouldSucceed(); 48 void AllShouldFail(); 49 void UnmanagedDevice(); 50 51 void SimulateSuccessfulRegisterRequest( 52 const std::string& auth_token, 53 const std::string& device_id, 54 const em::DeviceRegisterRequest& request, 55 DeviceRegisterResponseDelegate* delegate); 56 57 void SimulateSuccessfulPolicyRequest( 58 const std::string& device_management_token, 59 const em::DevicePolicyRequest& request, 60 DevicePolicyResponseDelegate* delegate); 61 62 void SimulateFailedRegisterRequest( 63 const std::string& auth_token, 64 const std::string& device_id, 65 const em::DeviceRegisterRequest& request, 66 DeviceRegisterResponseDelegate* delegate); 67 68 void SimulateFailedPolicyRequest( 69 const std::string& device_management_token, 70 const em::DevicePolicyRequest& request, 71 DevicePolicyResponseDelegate* delegate); 72 73 void SimulateUnmanagedRegisterRequest( 74 const std::string& auth_token, 75 const std::string& device_id, 76 const em::DeviceRegisterRequest& request, 77 DeviceRegisterResponseDelegate* delegate); 78 79 void AddBooleanPolicy(const char* policy_name, bool value); 80 81 private: 82 em::DevicePolicyResponse policy_response_; 83 em::DevicePolicySetting* policy_setting_; 84 85 DISALLOW_COPY_AND_ASSIGN(MockDeviceManagementBackend); 86}; 87 88} // namespace policy 89 90#endif // CHROME_BROWSER_POLICY_MOCK_DEVICE_MANAGEMENT_BACKEND_H_ 91