test_util.h revision 72a454cd3513ac24fbdd0e0cb9ad70b86a99b801
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
15namespace browser_sync {
16namespace sessions {
17namespace test_util {
18
19void SimulateHasMoreToSync(sessions::SyncSession* session,
20                           SyncerStep begin, SyncerStep end);
21void SimulateDownloadUpdatesFailed(sessions::SyncSession* session,
22                                   SyncerStep begin, SyncerStep end);
23void SimulateCommitFailed(sessions::SyncSession* session,
24                          SyncerStep begin, SyncerStep end);
25void SimulateSuccess(sessions::SyncSession* session,
26                     SyncerStep begin, SyncerStep end);
27void SimulateThrottledImpl(sessions::SyncSession* session,
28    const base::TimeDelta& delta);
29void SimulatePollIntervalUpdateImpl(sessions::SyncSession* session,
30    const base::TimeDelta& new_poll);
31
32ACTION_P(SimulateThrottled, throttle) {
33  SimulateThrottledImpl(arg0, throttle);
34}
35
36ACTION_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