Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(426)

Side by Side Diff: sync/engine/syncer_proto_util_unittest.cc

Issue 11485019: [Sync] Add tests for invalid specifics field number handling (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "sync/engine/syncer_proto_util.h" 5 #include "sync/engine/syncer_proto_util.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 30 matching lines...) Expand all
41 41
42 MOCK_METHOD0(IsSyncingCurrentlySilenced, bool()); 42 MOCK_METHOD0(IsSyncingCurrentlySilenced, bool());
43 MOCK_METHOD1(OnReceivedShortPollIntervalUpdate, void(const base::TimeDelta&)); 43 MOCK_METHOD1(OnReceivedShortPollIntervalUpdate, void(const base::TimeDelta&));
44 MOCK_METHOD1(OnReceivedLongPollIntervalUpdate ,void(const base::TimeDelta&)); 44 MOCK_METHOD1(OnReceivedLongPollIntervalUpdate ,void(const base::TimeDelta&));
45 MOCK_METHOD1(OnReceivedSessionsCommitDelay, void(const base::TimeDelta&)); 45 MOCK_METHOD1(OnReceivedSessionsCommitDelay, void(const base::TimeDelta&));
46 MOCK_METHOD1(OnSyncProtocolError, void(const sessions::SyncSessionSnapshot&)); 46 MOCK_METHOD1(OnSyncProtocolError, void(const sessions::SyncSessionSnapshot&));
47 MOCK_METHOD0(OnShouldStopSyncingPermanently, void()); 47 MOCK_METHOD0(OnShouldStopSyncingPermanently, void());
48 MOCK_METHOD1(OnSilencedUntil, void(const base::TimeTicks&)); 48 MOCK_METHOD1(OnSilencedUntil, void(const base::TimeTicks&));
49 }; 49 };
50 50
51 // Builds a ClientToServerResponse with some data type ids, including
52 // invalid ones. GetTypesToMigrate() should return only the valid
53 // model types.
54 TEST(SyncerProtoUtil, GetTypesToMigrate) {
55 sync_pb::ClientToServerResponse response;
56 response.add_migrated_data_type_id(
57 GetSpecificsFieldNumberFromModelType(BOOKMARKS));
58 response.add_migrated_data_type_id(
59 GetSpecificsFieldNumberFromModelType(HISTORY_DELETE_DIRECTIVES));
60 response.add_migrated_data_type_id(-1);
61 EXPECT_TRUE(
62 GetTypesToMigrate(response).Equals(
63 ModelTypeSet(BOOKMARKS, HISTORY_DELETE_DIRECTIVES)));
64 }
65
66 // Builds a ClientToServerResponse_Error with some error data type
67 // ids, including invalid ones. ConvertErrorPBToLocalType() should
68 // return a SyncProtocolError with only the valid model types.
69 TEST(SyncerProtoUtil, ConvertErrorPBToLocalType) {
70 sync_pb::ClientToServerResponse_Error error_pb;
71 error_pb.set_error_type(sync_pb::SyncEnums::THROTTLED);
72 error_pb.add_error_data_type_ids(
73 GetSpecificsFieldNumberFromModelType(BOOKMARKS));
74 error_pb.add_error_data_type_ids(
75 GetSpecificsFieldNumberFromModelType(HISTORY_DELETE_DIRECTIVES));
76 error_pb.add_error_data_type_ids(-1);
77 SyncProtocolError error = ConvertErrorPBToLocalType(error_pb);
78 EXPECT_TRUE(
79 error.error_data_types.Equals(
80 ModelTypeSet(BOOKMARKS, HISTORY_DELETE_DIRECTIVES)));
81 }
82
51 TEST(SyncerProtoUtil, TestBlobToProtocolBufferBytesUtilityFunctions) { 83 TEST(SyncerProtoUtil, TestBlobToProtocolBufferBytesUtilityFunctions) {
52 unsigned char test_data1[] = {1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 4, 2, 9}; 84 unsigned char test_data1[] = {1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 4, 2, 9};
53 unsigned char test_data2[] = {1, 99, 3, 4, 5, 6, 7, 8, 0, 1, 4, 2, 9}; 85 unsigned char test_data2[] = {1, 99, 3, 4, 5, 6, 7, 8, 0, 1, 4, 2, 9};
54 unsigned char test_data3[] = {99, 2, 3, 4, 5, 6, 7, 8}; 86 unsigned char test_data3[] = {99, 2, 3, 4, 5, 6, 7, 8};
55 87
56 syncable::Blob test_blob1, test_blob2, test_blob3; 88 syncable::Blob test_blob1, test_blob2, test_blob3;
57 for (size_t i = 0; i < arraysize(test_data1); ++i) 89 for (size_t i = 0; i < arraysize(test_data1); ++i)
58 test_blob1.push_back(test_data1[i]); 90 test_blob1.push_back(test_data1[i]);
59 for (size_t i = 0; i < arraysize(test_data2); ++i) 91 for (size_t i = 0; i < arraysize(test_data2); ++i)
60 test_blob2.push_back(test_data2[i]); 92 test_blob2.push_back(test_data2[i]);
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 200
169 protected: 201 protected:
170 MessageLoop message_loop_; 202 MessageLoop message_loop_;
171 TestDirectorySetterUpper dir_maker_; 203 TestDirectorySetterUpper dir_maker_;
172 }; 204 };
173 205
174 TEST_F(SyncerProtoUtilTest, VerifyResponseBirthday) { 206 TEST_F(SyncerProtoUtilTest, VerifyResponseBirthday) {
175 // Both sides empty 207 // Both sides empty
176 EXPECT_TRUE(directory()->store_birthday().empty()); 208 EXPECT_TRUE(directory()->store_birthday().empty());
177 sync_pb::ClientToServerResponse response; 209 sync_pb::ClientToServerResponse response;
178 EXPECT_FALSE(SyncerProtoUtil::VerifyResponseBirthday(directory(), &response)); 210 EXPECT_FALSE(SyncerProtoUtil::VerifyResponseBirthday(response, directory()));
179 211
180 // Remote set, local empty 212 // Remote set, local empty
181 response.set_store_birthday("flan"); 213 response.set_store_birthday("flan");
182 EXPECT_TRUE(SyncerProtoUtil::VerifyResponseBirthday(directory(), &response)); 214 EXPECT_TRUE(SyncerProtoUtil::VerifyResponseBirthday(response, directory()));
183 EXPECT_EQ(directory()->store_birthday(), "flan"); 215 EXPECT_EQ(directory()->store_birthday(), "flan");
184 216
185 // Remote empty, local set. 217 // Remote empty, local set.
186 response.clear_store_birthday(); 218 response.clear_store_birthday();
187 EXPECT_TRUE(SyncerProtoUtil::VerifyResponseBirthday(directory(), &response)); 219 EXPECT_TRUE(SyncerProtoUtil::VerifyResponseBirthday(response, directory()));
188 EXPECT_EQ(directory()->store_birthday(), "flan"); 220 EXPECT_EQ(directory()->store_birthday(), "flan");
189 221
190 // Doesn't match 222 // Doesn't match
191 response.set_store_birthday("meat"); 223 response.set_store_birthday("meat");
192 EXPECT_FALSE(SyncerProtoUtil::VerifyResponseBirthday(directory(), &response)); 224 EXPECT_FALSE(SyncerProtoUtil::VerifyResponseBirthday(response, directory()));
193 225
194 response.set_error_code(sync_pb::SyncEnums::CLEAR_PENDING); 226 response.set_error_code(sync_pb::SyncEnums::CLEAR_PENDING);
195 EXPECT_FALSE(SyncerProtoUtil::VerifyResponseBirthday(directory(), &response)); 227 EXPECT_FALSE(SyncerProtoUtil::VerifyResponseBirthday(response, directory()));
196 } 228 }
197 229
198 TEST_F(SyncerProtoUtilTest, AddRequestBirthday) { 230 TEST_F(SyncerProtoUtilTest, AddRequestBirthday) {
199 EXPECT_TRUE(directory()->store_birthday().empty()); 231 EXPECT_TRUE(directory()->store_birthday().empty());
200 ClientToServerMessage msg; 232 ClientToServerMessage msg;
201 SyncerProtoUtil::AddRequestBirthday(directory(), &msg); 233 SyncerProtoUtil::AddRequestBirthday(directory(), &msg);
202 EXPECT_FALSE(msg.has_store_birthday()); 234 EXPECT_FALSE(msg.has_store_birthday());
203 235
204 directory()->set_store_birthday("meat"); 236 directory()->set_store_birthday("meat");
205 SyncerProtoUtil::AddRequestBirthday(directory(), &msg); 237 SyncerProtoUtil::AddRequestBirthday(directory(), &msg);
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 SyncProtocolError error; 316 SyncProtocolError error;
285 error.error_type = THROTTLED; 317 error.error_type = THROTTLED;
286 318
287 base::TimeTicks ticks = base::TimeTicks::FromInternalValue(1); 319 base::TimeTicks ticks = base::TimeTicks::FromInternalValue(1);
288 320
289 EXPECT_CALL(delegate, OnSilencedUntil(ticks)); 321 EXPECT_CALL(delegate, OnSilencedUntil(ticks));
290 322
291 SyncerProtoUtil::HandleThrottleError(error, ticks, &tracker, &delegate); 323 SyncerProtoUtil::HandleThrottleError(error, ticks, &tracker, &delegate);
292 EXPECT_TRUE(tracker.GetThrottledTypes().Empty()); 324 EXPECT_TRUE(tracker.GetThrottledTypes().Empty());
293 } 325 }
326
294 } // namespace syncer 327 } // namespace syncer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698