Index: sync/engine/sync_scheduler_unittest.cc |
diff --git a/sync/engine/sync_scheduler_unittest.cc b/sync/engine/sync_scheduler_unittest.cc |
index 33d9764988a2482e6f30645acb8d34bb208c87ad..506da5eb435a4a7f6458d81a916406485e40f4e1 100644 |
--- a/sync/engine/sync_scheduler_unittest.cc |
+++ b/sync/engine/sync_scheduler_unittest.cc |
@@ -32,6 +32,7 @@ using testing::Mock; |
using testing::Not; |
using testing::Return; |
using testing::WithArg; |
+using testing::WithArgs; |
namespace syncer { |
using sessions::SyncSession; |
@@ -41,8 +42,11 @@ using sync_pb::GetUpdatesCallerInfo; |
class MockSyncer : public Syncer { |
public: |
- MOCK_METHOD3(SyncShare, bool(sessions::SyncSession*, SyncerStep, |
- SyncerStep)); |
+ MOCK_METHOD3(NormalSyncShare, bool(sessions::SyncSession*, |
+ ModelTypeSet, |
+ const sessions::NudgeTracker&)); |
+ MOCK_METHOD2(ConfigureSyncShare, bool(sessions::SyncSession*, ModelTypeSet)); |
+ MOCK_METHOD2(PollSyncShare, bool(sessions::SyncSession*, ModelTypeSet)); |
}; |
// Used when tests want to record syncing activity to examine later. |
@@ -279,8 +283,8 @@ TEST_F(SyncSchedulerTest, Nudge) { |
SyncShareRecords records; |
ModelTypeSet model_types(BOOKMARKS); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateNormalSuccess), |
WithArg<0>(RecordSyncShare(&records)))) |
.RetiresOnSaturation(); |
@@ -302,8 +306,8 @@ TEST_F(SyncSchedulerTest, Nudge) { |
SyncShareRecords records2; |
model_types.Remove(BOOKMARKS); |
model_types.Put(AUTOFILL); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateNormalSuccess), |
WithArg<0>(RecordSyncShare(&records2)))); |
scheduler()->ScheduleLocalNudge(zero(), model_types, FROM_HERE); |
RunLoop(); |
@@ -322,8 +326,8 @@ TEST_F(SyncSchedulerTest, Config) { |
SyncShareRecords records; |
const ModelTypeSet model_types(BOOKMARKS); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ EXPECT_CALL(*syncer(), ConfigureSyncShare(_,_)) |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateConfigureSuccess), |
WithArg<0>(RecordSyncShare(&records)))); |
StartSyncScheduler(SyncScheduler::CONFIGURATION_MODE); |
@@ -353,10 +357,10 @@ TEST_F(SyncSchedulerTest, ConfigWithBackingOff) { |
SyncShareRecords records; |
const ModelTypeSet model_types(BOOKMARKS); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateCommitFailed), |
+ EXPECT_CALL(*syncer(), ConfigureSyncShare(_,_)) |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateConfigureFailed), |
WithArg<0>(RecordSyncShare(&records)))) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateConfigureSuccess), |
WithArg<0>(RecordSyncShare(&records)))); |
StartSyncScheduler(SyncScheduler::CONFIGURATION_MODE); |
@@ -392,14 +396,16 @@ TEST_F(SyncSchedulerTest, NudgeWithConfigWithBackingOff) { |
.WillRepeatedly(Return(TimeDelta::FromMilliseconds(50))); |
SyncShareRecords records; |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateCommitFailed), |
- WithArg<0>(RecordSyncShare(&records)))) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateCommitFailed), |
+ EXPECT_CALL(*syncer(), ConfigureSyncShare(_,_)) |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateConfigureFailed), |
WithArg<0>(RecordSyncShare(&records)))) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateConfigureFailed), |
WithArg<0>(RecordSyncShare(&records)))) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateConfigureSuccess), |
+ WithArg<0>(RecordSyncShare(&records)))); |
+ |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateNormalSuccess), |
WithArg<0>(RecordSyncShare(&records)))); |
StartSyncScheduler(SyncScheduler::CONFIGURATION_MODE); |
@@ -454,8 +460,8 @@ TEST_F(SyncSchedulerTest, NudgeCoalescing) { |
StartSyncScheduler(SyncScheduler::NORMAL_MODE); |
SyncShareRecords r; |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateNormalSuccess), |
WithArg<0>(RecordSyncShare(&r)))); |
const ModelTypeSet types1(BOOKMARKS), types2(AUTOFILL), types3(THEMES); |
TimeDelta delay = zero(); |
@@ -475,8 +481,8 @@ TEST_F(SyncSchedulerTest, NudgeCoalescing) { |
Mock::VerifyAndClearExpectations(syncer()); |
SyncShareRecords r2; |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateNormalSuccess), |
WithArg<0>(RecordSyncShare(&r2)))); |
scheduler()->ScheduleLocalNudge(zero(), types3, FROM_HERE); |
RunLoop(); |
@@ -494,8 +500,8 @@ TEST_F(SyncSchedulerTest, NudgeCoalescingWithDifferentTimings) { |
StartSyncScheduler(SyncScheduler::NORMAL_MODE); |
SyncShareRecords r; |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateNormalSuccess), |
WithArg<0>(RecordSyncShare(&r)))); |
ModelTypeSet types1(BOOKMARKS), types2(AUTOFILL), types3; |
@@ -530,8 +536,8 @@ TEST_F(SyncSchedulerTest, NudgeWithStates) { |
ModelTypeInvalidationMap invalidation_map = |
ModelTypeSetToInvalidationMap(types, "test"); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateNormalSuccess), |
WithArg<0>(RecordSyncShare(&records)))) |
.RetiresOnSaturation(); |
scheduler()->ScheduleInvalidationNudge(zero(), invalidation_map, FROM_HERE); |
@@ -548,8 +554,8 @@ TEST_F(SyncSchedulerTest, NudgeWithStates) { |
SyncShareRecords records2; |
invalidation_map.erase(BOOKMARKS); |
invalidation_map[AUTOFILL].payload = "test2"; |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateNormalSuccess), |
WithArg<0>(RecordSyncShare(&records2)))); |
scheduler()->ScheduleInvalidationNudge(zero(), invalidation_map, FROM_HERE); |
RunLoop(); |
@@ -564,8 +570,8 @@ TEST_F(SyncSchedulerTest, NudgeWithStates) { |
TEST_F(SyncSchedulerTest, Polling) { |
SyncShareRecords records; |
TimeDelta poll_interval(TimeDelta::FromMilliseconds(30)); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)).Times(AtLeast(kMinNumSamples)) |
- .WillRepeatedly(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ EXPECT_CALL(*syncer(), PollSyncShare(_,_)).Times(AtLeast(kMinNumSamples)) |
+ .WillRepeatedly(DoAll(Invoke(sessions::test_util::SimulatePollSuccess), |
WithArg<0>(RecordSyncShareMultiple(&records, kMinNumSamples)))); |
scheduler()->OnReceivedLongPollIntervalUpdate(poll_interval); |
@@ -584,8 +590,8 @@ TEST_F(SyncSchedulerTest, Polling) { |
TEST_F(SyncSchedulerTest, PollNotificationsDisabled) { |
SyncShareRecords records; |
TimeDelta poll_interval(TimeDelta::FromMilliseconds(30)); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)).Times(AtLeast(kMinNumSamples)) |
- .WillRepeatedly(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ EXPECT_CALL(*syncer(), PollSyncShare(_,_)).Times(AtLeast(kMinNumSamples)) |
+ .WillRepeatedly(DoAll(Invoke(sessions::test_util::SimulatePollSuccess), |
WithArg<0>(RecordSyncShareMultiple(&records, kMinNumSamples)))); |
scheduler()->OnReceivedShortPollIntervalUpdate(poll_interval); |
@@ -607,13 +613,13 @@ TEST_F(SyncSchedulerTest, PollIntervalUpdate) { |
TimeDelta poll1(TimeDelta::FromMilliseconds(120)); |
TimeDelta poll2(TimeDelta::FromMilliseconds(30)); |
scheduler()->OnReceivedLongPollIntervalUpdate(poll1); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)).Times(AtLeast(kMinNumSamples)) |
+ EXPECT_CALL(*syncer(), PollSyncShare(_,_)).Times(AtLeast(kMinNumSamples)) |
.WillOnce(DoAll( |
- WithArg<0>( |
+ WithArgs<0,1>( |
sessions::test_util::SimulatePollIntervalUpdate(poll2)), |
Return(true))) |
.WillRepeatedly( |
- DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ DoAll(Invoke(sessions::test_util::SimulatePollSuccess), |
WithArg<0>( |
RecordSyncShareMultiple(&records, kMinNumSamples)))); |
@@ -634,13 +640,13 @@ TEST_F(SyncSchedulerTest, SessionsCommitDelay) { |
TimeDelta delay2(TimeDelta::FromMilliseconds(30)); |
scheduler()->OnReceivedSessionsCommitDelay(delay1); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
.WillOnce( |
DoAll( |
- WithArg<0>( |
+ WithArgs<0,1,2>( |
sessions::test_util::SimulateSessionsCommitDelayUpdate( |
delay2)), |
- Invoke(sessions::test_util::SimulateSuccess), |
+ Invoke(sessions::test_util::SimulateNormalSuccess), |
QuitLoopNowAction())); |
EXPECT_EQ(delay1, scheduler()->GetSessionsCommitDelay()); |
@@ -662,7 +668,7 @@ TEST_F(SyncSchedulerTest, ThrottlingDoesThrottle) { |
TimeDelta throttle(TimeDelta::FromMinutes(10)); |
scheduler()->OnReceivedLongPollIntervalUpdate(poll); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
+ EXPECT_CALL(*syncer(), ConfigureSyncShare(_,_)) |
.WillOnce(DoAll( |
WithArg<0>(sessions::test_util::SimulateThrottled(throttle)), |
Return(true))) |
@@ -693,13 +699,13 @@ TEST_F(SyncSchedulerTest, ThrottlingExpiresFromPoll) { |
scheduler()->OnReceivedLongPollIntervalUpdate(poll); |
::testing::InSequence seq; |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
+ EXPECT_CALL(*syncer(), PollSyncShare(_,_)) |
.WillOnce(DoAll( |
WithArg<0>(sessions::test_util::SimulateThrottled(throttle1)), |
Return(true))) |
.RetiresOnSaturation(); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
- .WillRepeatedly(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ EXPECT_CALL(*syncer(), PollSyncShare(_,_)) |
+ .WillRepeatedly(DoAll(Invoke(sessions::test_util::SimulatePollSuccess), |
WithArg<0>(RecordSyncShareMultiple(&records, kMinNumSamples)))); |
TimeTicks optimal_start = TimeTicks::Now() + poll + throttle1; |
@@ -719,13 +725,13 @@ TEST_F(SyncSchedulerTest, ThrottlingExpiresFromNudge) { |
scheduler()->OnReceivedLongPollIntervalUpdate(poll); |
::testing::InSequence seq; |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
.WillOnce(DoAll( |
WithArg<0>(sessions::test_util::SimulateThrottled(throttle1)), |
Return(true))) |
.RetiresOnSaturation(); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateNormalSuccess), |
QuitLoopNowAction())); |
const ModelTypeSet types(BOOKMARKS); |
@@ -747,13 +753,13 @@ TEST_F(SyncSchedulerTest, ThrottlingExpiresFromConfigure) { |
scheduler()->OnReceivedLongPollIntervalUpdate(poll); |
::testing::InSequence seq; |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
+ EXPECT_CALL(*syncer(), ConfigureSyncShare(_,_)) |
.WillOnce(DoAll( |
WithArg<0>(sessions::test_util::SimulateThrottled(throttle1)), |
Return(true))) |
.RetiresOnSaturation(); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ EXPECT_CALL(*syncer(), ConfigureSyncShare(_,_)) |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateConfigureSuccess), |
QuitLoopNowAction())); |
const ModelTypeSet types(BOOKMARKS); |
@@ -787,7 +793,7 @@ TEST_F(SyncSchedulerTest, TypeThrottlingBlocksNudge) { |
const ModelTypeSet types(BOOKMARKS); |
::testing::InSequence seq; |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
.WillOnce(DoAll( |
WithArg<0>( |
sessions::test_util::SimulateTypesThrottled(types, throttle1)), |
@@ -820,15 +826,15 @@ TEST_F(SyncSchedulerTest, TypeThrottlingDoesBlockOtherSources) { |
const ModelTypeSet unthrottled_types(PREFERENCES); |
::testing::InSequence seq; |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
.WillOnce(DoAll( |
WithArg<0>( |
sessions::test_util::SimulateTypesThrottled( |
throttled_types, throttle1)), |
Return(true))) |
.RetiresOnSaturation(); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
- .WillRepeatedly(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
+ .WillRepeatedly(DoAll(Invoke(sessions::test_util::SimulateNormalSuccess), |
WithArg<0>(RecordSyncShare(&records)))); |
StartSyncScheduler(SyncScheduler::NORMAL_MODE); |
@@ -862,8 +868,8 @@ TEST_F(SyncSchedulerTest, ConfigurationMode) { |
TimeDelta poll(TimeDelta::FromMilliseconds(15)); |
SyncShareRecords records; |
scheduler()->OnReceivedLongPollIntervalUpdate(poll); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ EXPECT_CALL(*syncer(), ConfigureSyncShare(_,_)) |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateConfigureSuccess), |
WithArg<0>(RecordSyncShare(&records)))) |
.RetiresOnSaturation(); |
@@ -894,8 +900,8 @@ TEST_F(SyncSchedulerTest, ConfigurationMode) { |
// more targeted ('whitebox' style). |
scheduler()->OnReceivedLongPollIntervalUpdate(TimeDelta::FromDays(1)); |
SyncShareRecords records2; |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateNormalSuccess), |
WithArg<0>(RecordSyncShare(&records2)))); |
// TODO(tim): Figure out how to remove this dangerous need to reset |
@@ -929,7 +935,7 @@ class BackoffTriggersSyncSchedulerTest : public SyncSchedulerTest { |
// Have the sycner fail during commit. Expect that the scheduler enters |
// backoff. |
TEST_F(BackoffTriggersSyncSchedulerTest, FailCommitOnce) { |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
.WillOnce(DoAll(Invoke(sessions::test_util::SimulateCommitFailed), |
QuitLoopNowAction())); |
EXPECT_TRUE(RunAndGetBackoff()); |
@@ -938,11 +944,11 @@ TEST_F(BackoffTriggersSyncSchedulerTest, FailCommitOnce) { |
// Have the syncer fail during download updates and succeed on the first |
// retry. Expect that this clears the backoff state. |
TEST_F(BackoffTriggersSyncSchedulerTest, FailDownloadOnceThenSucceed) { |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
.WillOnce(DoAll( |
Invoke(sessions::test_util::SimulateDownloadUpdatesFailed), |
Return(true))) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateNormalSuccess), |
QuitLoopNowAction())); |
EXPECT_FALSE(RunAndGetBackoff()); |
} |
@@ -950,11 +956,11 @@ TEST_F(BackoffTriggersSyncSchedulerTest, FailDownloadOnceThenSucceed) { |
// Have the syncer fail during commit and succeed on the first retry. Expect |
// that this clears the backoff state. |
TEST_F(BackoffTriggersSyncSchedulerTest, FailCommitOnceThenSucceed) { |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
.WillOnce(DoAll( |
Invoke(sessions::test_util::SimulateCommitFailed), |
Return(true))) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateNormalSuccess), |
QuitLoopNowAction())); |
EXPECT_FALSE(RunAndGetBackoff()); |
} |
@@ -962,7 +968,7 @@ TEST_F(BackoffTriggersSyncSchedulerTest, FailCommitOnceThenSucceed) { |
// Have the syncer fail to download updates and fail again on the retry. |
// Expect this will leave the scheduler in backoff. |
TEST_F(BackoffTriggersSyncSchedulerTest, FailDownloadTwice) { |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
.WillOnce(DoAll( |
Invoke(sessions::test_util::SimulateDownloadUpdatesFailed), |
Return(true))) |
@@ -975,14 +981,26 @@ TEST_F(BackoffTriggersSyncSchedulerTest, FailDownloadTwice) { |
// Have the syncer fail to get the encryption key yet succeed in downloading |
// updates. Expect this will leave the scheduler in backoff. |
TEST_F(BackoffTriggersSyncSchedulerTest, FailGetEncryptionKey) { |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
+ EXPECT_CALL(*syncer(), ConfigureSyncShare(_,_)) |
.WillOnce(DoAll( |
Invoke(sessions::test_util::SimulateGetEncryptionKeyFailed), |
Return(true))) |
.WillRepeatedly(DoAll( |
Invoke(sessions::test_util::SimulateGetEncryptionKeyFailed), |
QuitLoopNowAction())); |
- EXPECT_TRUE(RunAndGetBackoff()); |
+ StartSyncScheduler(SyncScheduler::CONFIGURATION_MODE); |
+ |
+ ModelTypeSet types(BOOKMARKS); |
+ CallbackCounter counter; |
+ ConfigurationParams params( |
+ GetUpdatesCallerInfo::RECONFIGURATION, |
+ types, |
+ TypesToRoutingInfo(types), |
+ base::Bind(&CallbackCounter::Callback, base::Unretained(&counter))); |
+ scheduler()->ScheduleConfiguration(params); |
+ RunLoop(); |
+ |
+ EXPECT_TRUE(scheduler()->IsBackingOff()); |
} |
// Test that no polls or extraneous nudges occur when in backoff. |
@@ -993,7 +1011,7 @@ TEST_F(SyncSchedulerTest, BackoffDropsJobs) { |
scheduler()->OnReceivedLongPollIntervalUpdate(poll); |
UseMockDelayProvider(); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
.WillRepeatedly(DoAll(Invoke(sessions::test_util::SimulateCommitFailed), |
RecordSyncShareMultiple(&r, 1U))); |
EXPECT_CALL(*delay(), GetDelay(_)). |
@@ -1044,7 +1062,7 @@ TEST_F(SyncSchedulerTest, BackoffElevation) { |
SyncShareRecords r; |
UseMockDelayProvider(); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)).Times(kMinNumSamples) |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)).Times(kMinNumSamples) |
.WillRepeatedly(DoAll(Invoke(sessions::test_util::SimulateCommitFailed), |
RecordSyncShareMultiple(&r, kMinNumSamples))); |
@@ -1087,10 +1105,13 @@ TEST_F(SyncSchedulerTest, BackoffRelief) { |
const TimeDelta backoff = TimeDelta::FromMilliseconds(5); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
.WillOnce(DoAll(Invoke(sessions::test_util::SimulateCommitFailed), |
RecordSyncShareMultiple(&r, kMinNumSamples))) |
- .WillRepeatedly(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ .WillRepeatedly(DoAll(Invoke(sessions::test_util::SimulateNormalSuccess), |
+ RecordSyncShareMultiple(&r, kMinNumSamples))); |
+ EXPECT_CALL(*syncer(), PollSyncShare(_,_)) |
+ .WillRepeatedly(DoAll(Invoke(sessions::test_util::SimulatePollSuccess), |
RecordSyncShareMultiple(&r, kMinNumSamples))); |
EXPECT_CALL(*delay(), GetDelay(_)).WillOnce(Return(backoff)); |
@@ -1135,10 +1156,10 @@ TEST_F(SyncSchedulerTest, TransientPollFailure) { |
scheduler()->OnReceivedLongPollIntervalUpdate(poll_interval); |
UseMockDelayProvider(); // Will cause test failure if backoff is initiated. |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateCommitFailed), |
+ EXPECT_CALL(*syncer(), PollSyncShare(_,_)) |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulatePollFailed), |
RecordSyncShare(&r))) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulatePollSuccess), |
RecordSyncShare(&r))); |
StartSyncScheduler(SyncScheduler::NORMAL_MODE); |
@@ -1152,69 +1173,15 @@ TEST_F(SyncSchedulerTest, TransientPollFailure) { |
EXPECT_FALSE(scheduler()->IsBackingOff()); |
} |
-// Test that appropriate syncer steps are requested for each job type. |
-TEST_F(SyncSchedulerTest, SyncerSteps) { |
- // Nudges. |
- EXPECT_CALL(*syncer(), SyncShare(_, SYNCER_BEGIN, SYNCER_END)) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
- Return(true))); |
- StartSyncScheduler(SyncScheduler::NORMAL_MODE); |
- |
- scheduler()->ScheduleLocalNudge(zero(), ModelTypeSet(BOOKMARKS), FROM_HERE); |
- PumpLoop(); |
- // Pump again to run job. |
- PumpLoop(); |
- |
- StopSyncScheduler(); |
- Mock::VerifyAndClearExpectations(syncer()); |
- |
- // Configuration. |
- EXPECT_CALL(*syncer(), SyncShare(_, DOWNLOAD_UPDATES, APPLY_UPDATES)) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
- Return(true))); |
- StartSyncScheduler(SyncScheduler::CONFIGURATION_MODE); |
- |
- ModelTypeSet model_types(BOOKMARKS); |
- CallbackCounter counter; |
- ConfigurationParams params( |
- GetUpdatesCallerInfo::RECONFIGURATION, |
- model_types, |
- TypesToRoutingInfo(model_types), |
- base::Bind(&CallbackCounter::Callback, base::Unretained(&counter))); |
- ASSERT_TRUE(scheduler()->ScheduleConfiguration(params)); |
- ASSERT_EQ(1, counter.times_called()); |
- // Runs directly so no need to pump the loop. |
- StopSyncScheduler(); |
- Mock::VerifyAndClearExpectations(syncer()); |
- |
- StartSyncScheduler(SyncScheduler::NORMAL_MODE); |
- |
- // Poll. |
- EXPECT_CALL(*syncer(), SyncShare(_, DOWNLOAD_UPDATES, APPLY_UPDATES)) |
- .Times(AtLeast(1)) |
- .WillRepeatedly(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
- QuitLoopNowAction())); |
- const TimeDelta poll(TimeDelta::FromMilliseconds(10)); |
- scheduler()->OnReceivedLongPollIntervalUpdate(poll); |
- |
- StartSyncScheduler(SyncScheduler::NORMAL_MODE); |
- |
- // Run again to wait for polling. |
- RunLoop(); |
- |
- StopSyncScheduler(); |
- Mock::VerifyAndClearExpectations(syncer()); |
-} |
- |
// Test that starting the syncer thread without a valid connection doesn't |
// break things when a connection is detected. |
TEST_F(SyncSchedulerTest, StartWhenNotConnected) { |
connection()->SetServerNotReachable(); |
connection()->UpdateConnectionStatus(); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
.WillOnce(DoAll(Invoke(sessions::test_util::SimulateConnectionFailure), |
Return(true))) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateNormalSuccess), |
Return(true))); |
StartSyncScheduler(SyncScheduler::NORMAL_MODE); |
@@ -1237,10 +1204,10 @@ TEST_F(SyncSchedulerTest, ServerConnectionChangeDuringBackoff) { |
connection()->SetServerNotReachable(); |
connection()->UpdateConnectionStatus(); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
.WillOnce(DoAll(Invoke(sessions::test_util::SimulateConnectionFailure), |
Return(true))) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateNormalSuccess), |
Return(true))); |
scheduler()->ScheduleLocalNudge(zero(), ModelTypeSet(BOOKMARKS), FROM_HERE); |
@@ -1267,12 +1234,12 @@ TEST_F(SyncSchedulerTest, ConnectionChangeCanaryPreemptedByNudge) { |
connection()->SetServerNotReachable(); |
connection()->UpdateConnectionStatus(); |
- EXPECT_CALL(*syncer(), SyncShare(_,_,_)) |
+ EXPECT_CALL(*syncer(), NormalSyncShare(_,_,_)) |
.WillOnce(DoAll(Invoke(sessions::test_util::SimulateConnectionFailure), |
Return(true))) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateNormalSuccess), |
Return(true))) |
- .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess), |
+ .WillOnce(DoAll(Invoke(sessions::test_util::SimulateNormalSuccess), |
QuitLoopNowAction())); |
scheduler()->ScheduleLocalNudge(zero(), ModelTypeSet(BOOKMARKS), FROM_HERE); |
@@ -1291,9 +1258,9 @@ TEST_F(SyncSchedulerTest, ConnectionChangeCanaryPreemptedByNudge) { |
// Tests that we don't crash trying to run two canaries at once if we receive |
// extra connection status change notifications. See crbug.com/190085. |
TEST_F(SyncSchedulerTest, DoubleCanaryInConfigure) { |
- EXPECT_CALL(*syncer(), SyncShare(_, DOWNLOAD_UPDATES, APPLY_UPDATES)) |
+ EXPECT_CALL(*syncer(), ConfigureSyncShare(_,_)) |
.WillRepeatedly(DoAll( |
- Invoke(sessions::test_util::SimulateConnectionFailure), |
+ Invoke(sessions::test_util::SimulateConfigureConnectionFailure), |
Return(true))); |
StartSyncScheduler(SyncScheduler::CONFIGURATION_MODE); |
connection()->SetServerNotReachable(); |