OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/sync/backup_rollback_controller.h" | 5 #include "chrome/browser/sync/backup_rollback_controller.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
10 #include "chrome/browser/sync/supervised_user_signin_manager_wrapper.h" | 10 #include "chrome/browser/sync/supervised_user_signin_manager_wrapper.h" |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 controller_->Start(base::TimeDelta()); | 110 controller_->Start(base::TimeDelta()); |
111 EXPECT_FALSE(backup_started_); | 111 EXPECT_FALSE(backup_started_); |
112 EXPECT_FALSE(rollback_started_); | 112 EXPECT_FALSE(rollback_started_); |
113 | 113 |
114 // 2nd time no signed-in user. Starts backup. | 114 // 2nd time no signed-in user. Starts backup. |
115 controller_->Start(base::TimeDelta()); | 115 controller_->Start(base::TimeDelta()); |
116 EXPECT_TRUE(backup_started_); | 116 EXPECT_TRUE(backup_started_); |
117 } | 117 } |
118 | 118 |
119 TEST_F(BackupRollbackControllerTest, StartRollback) { | 119 TEST_F(BackupRollbackControllerTest, StartRollback) { |
120 CommandLine::ForCurrentProcess()->AppendSwitch( | |
121 switches::kSyncEnableRollback); | |
122 | |
123 EXPECT_CALL(signin_wrapper_, GetEffectiveUsername()) | 120 EXPECT_CALL(signin_wrapper_, GetEffectiveUsername()) |
124 .Times(2) | 121 .Times(2) |
125 .WillOnce(Return("test")) | 122 .WillOnce(Return("test")) |
126 .WillOnce(Return("")); | 123 .WillOnce(Return("")); |
127 controller_->Start(base::TimeDelta()); | 124 controller_->Start(base::TimeDelta()); |
128 EXPECT_FALSE(backup_started_); | 125 EXPECT_FALSE(backup_started_); |
129 EXPECT_FALSE(rollback_started_); | 126 EXPECT_FALSE(rollback_started_); |
130 | 127 |
131 controller_->OnRollbackReceived(); | 128 controller_->OnRollbackReceived(); |
132 controller_->Start(base::TimeDelta()); | 129 controller_->Start(base::TimeDelta()); |
133 EXPECT_TRUE(rollback_started_); | 130 EXPECT_TRUE(rollback_started_); |
134 } | 131 } |
135 | 132 |
136 TEST_F(BackupRollbackControllerTest, RollbackOnBrowserStart) { | 133 TEST_F(BackupRollbackControllerTest, RollbackOnBrowserStart) { |
137 CommandLine::ForCurrentProcess()->AppendSwitch( | |
138 switches::kSyncEnableRollback); | |
139 | |
140 fake_prefs_.SetRemainingRollbackTries(1); | 134 fake_prefs_.SetRemainingRollbackTries(1); |
141 controller_->Start(base::TimeDelta()); | 135 controller_->Start(base::TimeDelta()); |
142 EXPECT_TRUE(rollback_started_); | 136 EXPECT_TRUE(rollback_started_); |
143 } | 137 } |
144 | 138 |
145 TEST_F(BackupRollbackControllerTest, BackupAfterRollbackDone) { | 139 TEST_F(BackupRollbackControllerTest, BackupAfterRollbackDone) { |
146 CommandLine::ForCurrentProcess()->AppendSwitch( | |
147 switches::kSyncEnableRollback); | |
148 | |
149 fake_prefs_.SetRemainingRollbackTries(3); | 140 fake_prefs_.SetRemainingRollbackTries(3); |
150 controller_->Start(base::TimeDelta()); | 141 controller_->Start(base::TimeDelta()); |
151 EXPECT_TRUE(rollback_started_); | 142 EXPECT_TRUE(rollback_started_); |
152 EXPECT_FALSE(backup_started_); | 143 EXPECT_FALSE(backup_started_); |
153 | 144 |
154 controller_->OnRollbackDone(); | 145 controller_->OnRollbackDone(); |
155 controller_->Start(base::TimeDelta()); | 146 controller_->Start(base::TimeDelta()); |
156 EXPECT_TRUE(backup_started_); | 147 EXPECT_TRUE(backup_started_); |
157 } | 148 } |
158 | 149 |
159 TEST_F(BackupRollbackControllerTest, GiveUpRollback) { | 150 TEST_F(BackupRollbackControllerTest, GiveUpRollback) { |
160 CommandLine::ForCurrentProcess()->AppendSwitch( | |
161 switches::kSyncEnableRollback); | |
162 | |
163 fake_prefs_.SetRemainingRollbackTries(3); | 151 fake_prefs_.SetRemainingRollbackTries(3); |
164 for (int i = 0; i < 3; ++i) { | 152 for (int i = 0; i < 3; ++i) { |
165 controller_->Start(base::TimeDelta()); | 153 controller_->Start(base::TimeDelta()); |
166 EXPECT_TRUE(rollback_started_); | 154 EXPECT_TRUE(rollback_started_); |
167 EXPECT_FALSE(backup_started_); | 155 EXPECT_FALSE(backup_started_); |
168 rollback_started_ = false; | 156 rollback_started_ = false; |
169 } | 157 } |
170 | 158 |
171 controller_->Start(base::TimeDelta()); | 159 controller_->Start(base::TimeDelta()); |
172 EXPECT_FALSE(rollback_started_); | 160 EXPECT_FALSE(rollback_started_); |
173 EXPECT_TRUE(backup_started_); | 161 EXPECT_TRUE(backup_started_); |
174 } | 162 } |
175 | 163 |
176 TEST_F(BackupRollbackControllerTest, SkipRollbackIfNotEnabled) { | 164 TEST_F(BackupRollbackControllerTest, SkipRollbackIfNotEnabled) { |
| 165 CommandLine::ForCurrentProcess()->AppendSwitch( |
| 166 switches::kSyncDisableRollback); |
| 167 |
177 EXPECT_CALL(signin_wrapper_, GetEffectiveUsername()) | 168 EXPECT_CALL(signin_wrapper_, GetEffectiveUsername()) |
178 .Times(2) | 169 .Times(2) |
179 .WillOnce(Return("test")) | 170 .WillOnce(Return("test")) |
180 .WillOnce(Return("")); | 171 .WillOnce(Return("")); |
181 controller_->Start(base::TimeDelta()); | 172 controller_->Start(base::TimeDelta()); |
182 EXPECT_FALSE(backup_started_); | 173 EXPECT_FALSE(backup_started_); |
183 EXPECT_FALSE(rollback_started_); | 174 EXPECT_FALSE(rollback_started_); |
184 | 175 |
185 controller_->OnRollbackReceived(); | 176 controller_->OnRollbackReceived(); |
186 controller_->Start(base::TimeDelta()); | 177 controller_->Start(base::TimeDelta()); |
187 EXPECT_TRUE(backup_started_); | 178 EXPECT_TRUE(backup_started_); |
188 EXPECT_FALSE(rollback_started_); | 179 EXPECT_FALSE(rollback_started_); |
189 } | 180 } |
190 | 181 |
191 #endif | 182 #endif |
192 | 183 |
193 } // anonymous namespace | 184 } // anonymous namespace |
194 | 185 |
OLD | NEW |