1 //
2 // Copyright (C) 2012 The Android Open Source Project
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //      http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16 
17 #ifndef UPDATE_ENGINE_MOCK_PAYLOAD_STATE_H_
18 #define UPDATE_ENGINE_MOCK_PAYLOAD_STATE_H_
19 
20 #include <string>
21 
22 #include <gmock/gmock.h>
23 
24 #include "update_engine/omaha_request_action.h"
25 #include "update_engine/payload_state_interface.h"
26 
27 namespace chromeos_update_engine {
28 
29 class MockPayloadState : public PayloadStateInterface {
30  public:
31   bool Initialize(SystemState* system_state) { return true; }
32 
33   // Significant methods.
34   MOCK_METHOD1(SetResponse, void(const OmahaResponse& response));
35   MOCK_METHOD0(DownloadComplete, void());
36   MOCK_METHOD1(DownloadProgress, void(size_t count));
37   MOCK_METHOD0(UpdateResumed, void());
38   MOCK_METHOD0(UpdateRestarted, void());
39   MOCK_METHOD0(UpdateSucceeded, void());
40   MOCK_METHOD1(UpdateFailed, void(ErrorCode error));
41   MOCK_METHOD0(ResetUpdateStatus, void());
42   MOCK_METHOD0(ShouldBackoffDownload, bool());
43   MOCK_METHOD0(UpdateEngineStarted, void());
44   MOCK_METHOD0(Rollback, void());
45   MOCK_METHOD1(ExpectRebootInNewVersion,
46                void(const std::string& target_version_uid));
47   MOCK_METHOD0(P2PNewAttempt, void());
48   MOCK_METHOD0(P2PAttemptAllowed, bool());
49   MOCK_METHOD1(SetUsingP2PForDownloading, void(bool value));
50   MOCK_METHOD1(SetUsingP2PForSharing, void(bool value));
51   MOCK_METHOD1(SetScatteringWaitPeriod, void(base::TimeDelta));
52   MOCK_METHOD1(SetP2PUrl, void(const std::string&));
53   MOCK_METHOD0(NextPayload, bool());
54   MOCK_METHOD1(SetStagingWaitPeriod, void(base::TimeDelta));
55 
56   // Getters.
57   MOCK_METHOD0(GetResponseSignature, std::string());
58   MOCK_METHOD0(GetPayloadAttemptNumber, int());
59   MOCK_METHOD0(GetFullPayloadAttemptNumber, int());
60   MOCK_METHOD0(GetCurrentUrl, std::string());
61   MOCK_METHOD0(GetUrlFailureCount, uint32_t());
62   MOCK_METHOD0(GetUrlSwitchCount, uint32_t());
63   MOCK_METHOD0(GetNumResponsesSeen, int());
64   MOCK_METHOD0(GetBackoffExpiryTime, base::Time());
65   MOCK_METHOD0(GetUpdateDuration, base::TimeDelta());
66   MOCK_METHOD0(GetUpdateDurationUptime, base::TimeDelta());
67   MOCK_METHOD1(GetCurrentBytesDownloaded, uint64_t(DownloadSource source));
68   MOCK_METHOD1(GetTotalBytesDownloaded, uint64_t(DownloadSource source));
69   MOCK_METHOD0(GetNumReboots, uint32_t());
70   MOCK_METHOD0(GetRollbackHappened, bool());
71   MOCK_METHOD1(SetRollbackHappened, void(bool));
72   MOCK_METHOD0(GetRollbackVersion, std::string());
73   MOCK_METHOD0(GetP2PNumAttempts, int());
74   MOCK_METHOD0(GetP2PFirstAttemptTimestamp, base::Time());
75   MOCK_CONST_METHOD0(GetUsingP2PForDownloading, bool());
76   MOCK_CONST_METHOD0(GetUsingP2PForSharing, bool());
77   MOCK_METHOD0(GetScatteringWaitPeriod, base::TimeDelta());
78   MOCK_CONST_METHOD0(GetP2PUrl, std::string());
79   MOCK_METHOD0(GetStagingWaitPeriod, base::TimeDelta());
80 };
81 
82 }  // namespace chromeos_update_engine
83 
84 #endif  // UPDATE_ENGINE_MOCK_PAYLOAD_STATE_H_
85