172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Use of this source code is governed by a BSD-style license that can be 372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// found in the LICENSE file. 472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// 572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Utils to simulate various outcomes of a sync session. 672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#ifndef CHROME_BROWSER_SYNC_SESSIONS_TEST_UTIL_H_ 772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#define CHROME_BROWSER_SYNC_SESSIONS_TEST_UTIL_H_ 872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#pragma once 972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 1072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/sync/engine/syncer.h" 1172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/sync/sessions/sync_session.h" 1272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "testing/gtest/include/gtest/gtest.h" 1372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "testing/gmock/include/gmock/gmock.h" 1472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 1572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsennamespace browser_sync { 1672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsennamespace sessions { 1772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsennamespace test_util { 1872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 1972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenvoid SimulateHasMoreToSync(sessions::SyncSession* session, 2072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen SyncerStep begin, SyncerStep end); 2172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenvoid SimulateDownloadUpdatesFailed(sessions::SyncSession* session, 2272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen SyncerStep begin, SyncerStep end); 2372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenvoid SimulateCommitFailed(sessions::SyncSession* session, 2472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen SyncerStep begin, SyncerStep end); 2572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenvoid SimulateSuccess(sessions::SyncSession* session, 2672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen SyncerStep begin, SyncerStep end); 2772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenvoid SimulateThrottledImpl(sessions::SyncSession* session, 2872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen const base::TimeDelta& delta); 2972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenvoid SimulatePollIntervalUpdateImpl(sessions::SyncSession* session, 3072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen const base::TimeDelta& new_poll); 3172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 3272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian MonsenACTION_P(SimulateThrottled, throttle) { 3372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen SimulateThrottledImpl(arg0, throttle); 3472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} 3572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 3672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian MonsenACTION_P(SimulatePollIntervalUpdate, poll) { 3772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen SimulatePollIntervalUpdateImpl(arg0, poll); 3872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} 3972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 4072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} // namespace test_util 4172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} // namespace sessions 4272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} // namespace browser_sync 4372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 4472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#endif // CHROME_BROWSER_SYNC_SESSIONS_TEST_UTIL_H_ 45