blob: cc4a163c5c68ccb7dfbcb675a39e9274425f7950 [file] [log] [blame]
// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef LOGIN_MANAGER_MOCK_POLICY_SERVICE_H_
#define LOGIN_MANAGER_MOCK_POLICY_SERVICE_H_
#include "login_manager/policy_service.h"
#include <stdint.h>
#include <vector>
#include <gmock/gmock.h>
namespace login_manager {
class MockPolicyService : public PolicyService {
public:
MockPolicyService();
virtual ~MockPolicyService();
MOCK_METHOD4(Store, bool(const uint8_t*, uint32_t, Completion*, int));
MOCK_METHOD1(Retrieve, bool(std::vector<uint8_t>*));
MOCK_METHOD0(PersistKey, void(void));
MOCK_METHOD1(PersistPolicy, void(Completion*)); // NOLINT - 'unnamed' param.
MOCK_METHOD0(PersistPolicySync, bool(void));
};
MATCHER_P(PolicyErrorEq, error_code, "") {
return (arg.code() == error_code);
}
class MockPolicyServiceCompletion : public PolicyService::Completion {
public:
MockPolicyServiceCompletion();
virtual ~MockPolicyServiceCompletion();
MOCK_METHOD0(ReportSuccess, void(void));
MOCK_METHOD1(ReportFailure, void(const PolicyService::Error&));
};
class MockPolicyServiceDelegate : public PolicyService::Delegate {
public:
MockPolicyServiceDelegate();
virtual ~MockPolicyServiceDelegate();
MOCK_METHOD1(OnPolicyPersisted, void(bool));
MOCK_METHOD1(OnKeyPersisted, void(bool));
};
} // namespace login_manager
#endif // LOGIN_MANAGER_MOCK_POLICY_SERVICE_H_