blob: 6cfac98133aa0425f8ee4fe424c1a15f257eebe8 [file] [log] [blame]
Alex Deymoc705cc82014-02-19 11:15:00 -08001// Copyright (c) 2014 The Chromium OS 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
Gilad Arnold48415f12014-06-27 07:10:58 -07005#ifndef UPDATE_ENGINE_UPDATE_MANAGER_MOCK_POLICY_H_
6#define UPDATE_ENGINE_UPDATE_MANAGER_MOCK_POLICY_H_
7
8#include <string>
Alex Deymoc705cc82014-02-19 11:15:00 -08009
10#include <gmock/gmock.h>
11
Alex Deymo63784a52014-05-28 10:46:14 -070012#include "update_engine/update_manager/policy.h"
Alex Deymoc705cc82014-02-19 11:15:00 -080013
Alex Deymo63784a52014-05-28 10:46:14 -070014namespace chromeos_update_manager {
Alex Deymoc705cc82014-02-19 11:15:00 -080015
16// A mocked implementation of Policy.
17class MockPolicy : public Policy {
Alex Deymo0d11c602014-04-23 20:12:20 -070018 public:
Alex Deymoc705cc82014-02-19 11:15:00 -080019 MockPolicy() {}
20 virtual ~MockPolicy() {}
21
22 // Policy overrides.
Alex Deymo2de23f52014-02-26 14:30:13 -080023 MOCK_CONST_METHOD4(UpdateCheckAllowed,
24 EvalStatus(EvaluationContext*, State*, std::string*,
Alex Deymo0d11c602014-04-23 20:12:20 -070025 UpdateCheckParams*));
Alex Deymoc705cc82014-02-19 11:15:00 -080026
Gilad Arnolddc4bb262014-07-23 10:45:19 -070027 MOCK_CONST_METHOD5(UpdateCanStart,
Gilad Arnoldaf2f6ae2014-04-28 14:14:52 -070028 EvalStatus(EvaluationContext*, State*, std::string*,
Gilad Arnold78ecbfc2014-10-22 14:38:25 -070029 UpdateDownloadParams*, UpdateState));
Gilad Arnoldaf2f6ae2014-04-28 14:14:52 -070030
Gilad Arnoldd78caf92014-09-24 09:28:14 -070031 MOCK_CONST_METHOD4(UpdateDownloadAllowed,
Gilad Arnold0adbc942014-05-12 10:35:43 -070032 EvalStatus(EvaluationContext*, State*, std::string*,
33 bool*));
34
Gilad Arnold78ecbfc2014-10-22 14:38:25 -070035 MOCK_CONST_METHOD4(P2PEnabled,
36 EvalStatus(EvaluationContext*, State*, std::string*,
37 bool*));
38
39 MOCK_CONST_METHOD5(P2PEnabledChanged,
40 EvalStatus(EvaluationContext*, State*, std::string*,
41 bool*, bool));
42
Alex Deymo0d11c602014-04-23 20:12:20 -070043 private:
Alex Deymoc705cc82014-02-19 11:15:00 -080044 DISALLOW_COPY_AND_ASSIGN(MockPolicy);
45};
46
Alex Deymo63784a52014-05-28 10:46:14 -070047} // namespace chromeos_update_manager
Alex Deymoc705cc82014-02-19 11:15:00 -080048
Gilad Arnold48415f12014-06-27 07:10:58 -070049#endif // UPDATE_ENGINE_UPDATE_MANAGER_MOCK_POLICY_H_