1 // Copyright (c) 2011 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 // Utils to simulate various outcomes of a sync session.
6 #ifndef CHROME_BROWSER_SYNC_SESSIONS_TEST_UTIL_H_
7 #define CHROME_BROWSER_SYNC_SESSIONS_TEST_UTIL_H_
8 #pragma once
9
10 #include "chrome/browser/sync/engine/syncer.h"
11 #include "chrome/browser/sync/sessions/sync_session.h"
12 #include "testing/gtest/include/gtest/gtest.h"
13 #include "testing/gmock/include/gmock/gmock.h"
14
15 namespace browser_sync {
16 namespace sessions {
17 namespace test_util {
18
19 void SimulateHasMoreToSync(sessions::SyncSession* session,
20 SyncerStep begin, SyncerStep end);
21 void SimulateDownloadUpdatesFailed(sessions::SyncSession* session,
22 SyncerStep begin, SyncerStep end);
23 void SimulateCommitFailed(sessions::SyncSession* session,
24 SyncerStep begin, SyncerStep end);
25 void SimulateSuccess(sessions::SyncSession* session,
26 SyncerStep begin, SyncerStep end);
27 void SimulateThrottledImpl(sessions::SyncSession* session,
28 const base::TimeDelta& delta);
29 void SimulatePollIntervalUpdateImpl(sessions::SyncSession* session,
30 const base::TimeDelta& new_poll);
31
ACTION_P(SimulateThrottled,throttle)32 ACTION_P(SimulateThrottled, throttle) {
33 SimulateThrottledImpl(arg0, throttle);
34 }
35
ACTION_P(SimulatePollIntervalUpdate,poll)36 ACTION_P(SimulatePollIntervalUpdate, poll) {
37 SimulatePollIntervalUpdateImpl(arg0, poll);
38 }
39
40 } // namespace test_util
41 } // namespace sessions
42 } // namespace browser_sync
43
44 #endif // CHROME_BROWSER_SYNC_SESSIONS_TEST_UTIL_H_
45