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 3// found in the LICENSE file. 4 5#ifndef COMPONENTS_POLICY_CORE_COMMON_CLOUD_MOCK_CLOUD_POLICY_CLIENT_H_ 6#define COMPONENTS_POLICY_CORE_COMMON_CLOUD_MOCK_CLOUD_POLICY_CLIENT_H_ 7 8#include <string> 9 10#include "base/basictypes.h" 11#include "components/policy/core/common/cloud/cloud_policy_client.h" 12#include "components/policy/core/common/cloud/cloud_policy_constants.h" 13#include "testing/gmock/include/gmock/gmock.h" 14 15namespace policy { 16 17class MockCloudPolicyClient : public CloudPolicyClient { 18 public: 19 MockCloudPolicyClient(); 20 virtual ~MockCloudPolicyClient(); 21 22 MOCK_METHOD2(SetupRegistration, void(const std::string&, const std::string&)); 23 MOCK_METHOD6(Register, void( 24 enterprise_management::DeviceRegisterRequest::Type type, 25 const std::string&, const std::string&, bool, const std::string&, 26 const std::string&)); 27 MOCK_METHOD0(FetchPolicy, void(void)); 28 MOCK_METHOD0(Unregister, void(void)); 29 MOCK_METHOD2(UploadCertificate, 30 void(const std::string&, const StatusCallback&)); 31 32 // Sets the DMToken. 33 void SetDMToken(const std::string& token); 34 35 // Injects policy. 36 void SetPolicy(const PolicyNamespaceKey& policy_ns_key, 37 const enterprise_management::PolicyFetchResponse& policy); 38 39 // Sets the status field. 40 void SetStatus(DeviceManagementStatus status); 41 42 // Make the notification helpers public. 43 using CloudPolicyClient::NotifyPolicyFetched; 44 using CloudPolicyClient::NotifyRegistrationStateChanged; 45 using CloudPolicyClient::NotifyClientError; 46 47 using CloudPolicyClient::dm_token_; 48 using CloudPolicyClient::client_id_; 49 using CloudPolicyClient::submit_machine_id_; 50 using CloudPolicyClient::last_policy_timestamp_; 51 using CloudPolicyClient::public_key_version_; 52 using CloudPolicyClient::public_key_version_valid_; 53 using CloudPolicyClient::namespaces_to_fetch_; 54 using CloudPolicyClient::invalidation_version_; 55 using CloudPolicyClient::invalidation_payload_; 56 using CloudPolicyClient::fetched_invalidation_version_; 57 58 private: 59 DISALLOW_COPY_AND_ASSIGN(MockCloudPolicyClient); 60}; 61 62class MockCloudPolicyClientObserver : public CloudPolicyClient::Observer { 63 public: 64 MockCloudPolicyClientObserver(); 65 virtual ~MockCloudPolicyClientObserver(); 66 67 MOCK_METHOD1(OnPolicyFetched, void(CloudPolicyClient*)); 68 MOCK_METHOD1(OnRegistrationStateChanged, void(CloudPolicyClient*)); 69 MOCK_METHOD1(OnRobotAuthCodesFetched, void(CloudPolicyClient*)); 70 MOCK_METHOD1(OnClientError, void(CloudPolicyClient*)); 71 72 private: 73 DISALLOW_COPY_AND_ASSIGN(MockCloudPolicyClientObserver); 74}; 75 76} // namespace policy 77 78#endif // COMPONENTS_POLICY_CORE_COMMON_CLOUD_MOCK_CLOUD_POLICY_CLIENT_H_ 79