Index: sync/internal_api/sync_manager_impl_unittest.cc |
diff --git a/sync/internal_api/sync_manager_impl_unittest.cc b/sync/internal_api/sync_manager_impl_unittest.cc |
index 57e2a5bdbe496f627ae78b894ae1c6333ecd936a..f97b62dd2f3c4080a75fd1e96d452446c94b7823 100644 |
--- a/sync/internal_api/sync_manager_impl_unittest.cc |
+++ b/sync/internal_api/sync_manager_impl_unittest.cc |
@@ -97,24 +97,6 @@ using syncable::kEncryptedString; |
namespace { |
-void ExpectInt64Value(int64 expected_value, |
- const base::DictionaryValue& value, |
- const std::string& key) { |
- std::string int64_str; |
- EXPECT_TRUE(value.GetString(key, &int64_str)); |
- int64 val = 0; |
- EXPECT_TRUE(base::StringToInt64(int64_str, &val)); |
- EXPECT_EQ(expected_value, val); |
-} |
- |
-void ExpectTimeValue(const base::Time& expected_value, |
- const base::DictionaryValue& value, |
- const std::string& key) { |
- std::string time_str; |
- EXPECT_TRUE(value.GetString(key, &time_str)); |
- EXPECT_EQ(GetTimeDebugString(expected_value), time_str); |
-} |
- |
// Makes a non-folder child of the root node. Returns the id of the |
// newly-created node. |
int64 MakeNode(UserShare* share, |
@@ -526,91 +508,6 @@ TEST_F(SyncApiTest, BaseNodeSetSpecificsPreservesUnknownFields) { |
EXPECT_FALSE(node.GetEntitySpecifics().unknown_fields().empty()); |
} |
-namespace { |
- |
-void CheckNodeValue(const BaseNode& node, const base::DictionaryValue& value, |
- bool is_detailed) { |
- size_t expected_field_count = 4; |
- |
- ExpectInt64Value(node.GetId(), value, "id"); |
- { |
- bool is_folder = false; |
- EXPECT_TRUE(value.GetBoolean("isFolder", &is_folder)); |
- EXPECT_EQ(node.GetIsFolder(), is_folder); |
- } |
- ExpectDictStringValue(node.GetTitle(), value, "title"); |
- |
- ModelType expected_model_type = node.GetModelType(); |
- std::string type_str; |
- EXPECT_TRUE(value.GetString("type", &type_str)); |
- if (expected_model_type >= FIRST_REAL_MODEL_TYPE) { |
- ModelType model_type = ModelTypeFromString(type_str); |
- EXPECT_EQ(expected_model_type, model_type); |
- } else if (expected_model_type == TOP_LEVEL_FOLDER) { |
- EXPECT_EQ("Top-level folder", type_str); |
- } else if (expected_model_type == UNSPECIFIED) { |
- EXPECT_EQ("Unspecified", type_str); |
- } else { |
- ADD_FAILURE(); |
- } |
- |
- if (is_detailed) { |
- { |
- scoped_ptr<base::DictionaryValue> expected_entry( |
- node.GetEntry()->ToValue(NULL)); |
- const base::Value* entry = NULL; |
- EXPECT_TRUE(value.Get("entry", &entry)); |
- EXPECT_TRUE(base::Value::Equals(entry, expected_entry.get())); |
- } |
- |
- ExpectInt64Value(node.GetParentId(), value, "parentId"); |
- ExpectTimeValue(node.GetModificationTime(), value, "modificationTime"); |
- ExpectInt64Value(node.GetExternalId(), value, "externalId"); |
- expected_field_count += 4; |
- |
- if (value.HasKey("predecessorId")) { |
- ExpectInt64Value(node.GetPredecessorId(), value, "predecessorId"); |
- expected_field_count++; |
- } |
- if (value.HasKey("successorId")) { |
- ExpectInt64Value(node.GetSuccessorId(), value, "successorId"); |
- expected_field_count++; |
- } |
- if (value.HasKey("firstChildId")) { |
- ExpectInt64Value(node.GetFirstChildId(), value, "firstChildId"); |
- expected_field_count++; |
- } |
- } |
- |
- EXPECT_EQ(expected_field_count, value.size()); |
-} |
- |
-} // namespace |
- |
-TEST_F(SyncApiTest, BaseNodeGetSummaryAsValue) { |
- ReadTransaction trans(FROM_HERE, test_user_share_.user_share()); |
- ReadNode node(&trans); |
- node.InitByRootLookup(); |
- scoped_ptr<base::DictionaryValue> details(node.GetSummaryAsValue()); |
- if (details) { |
- CheckNodeValue(node, *details, false); |
- } else { |
- ADD_FAILURE(); |
- } |
-} |
- |
-TEST_F(SyncApiTest, BaseNodeGetDetailsAsValue) { |
- ReadTransaction trans(FROM_HERE, test_user_share_.user_share()); |
- ReadNode node(&trans); |
- node.InitByRootLookup(); |
- scoped_ptr<base::DictionaryValue> details(node.GetDetailsAsValue()); |
- if (details) { |
- CheckNodeValue(node, *details, true); |
- } else { |
- ADD_FAILURE(); |
- } |
-} |
- |
TEST_F(SyncApiTest, EmptyTags) { |
WriteTransaction trans(FROM_HERE, test_user_share_.user_share()); |
ReadNode root_node(&trans); |
@@ -877,6 +774,12 @@ class SyncManagerTest : public testing::Test, |
(*out)[PRIORITY_PREFERENCES] = GROUP_PASSIVE; |
} |
+ ModelTypeSet GetEnabledTypes() { |
+ ModelSafeRoutingInfo routing_info; |
+ GetModelSafeRoutingInfo(&routing_info); |
+ return GetRoutingInfoTypes(routing_info); |
+ } |
+ |
virtual void OnChangesApplied( |
ModelType model_type, |
int64 model_version, |
@@ -1039,247 +942,13 @@ TEST_F(SyncManagerTest, ProcessJsMessage) { |
StrictMock<MockJsReplyHandler> reply_handler; |
- base::ListValue disabled_args; |
- disabled_args.Append(new base::StringValue("TRANSIENT_INVALIDATION_ERROR")); |
- |
EXPECT_CALL(reply_handler, |
- HandleJsReply("getNotificationState", |
- HasArgsAsList(disabled_args))); |
+ HandleJsReply("getNotificationInfo", _)); |
// This message should be dropped. |
SendJsMessage("unknownMessage", kNoArgs, reply_handler.AsWeakHandle()); |
- SendJsMessage("getNotificationState", kNoArgs, reply_handler.AsWeakHandle()); |
-} |
- |
-TEST_F(SyncManagerTest, ProcessJsMessageGetRootNodeDetails) { |
- const JsArgList kNoArgs; |
- |
- StrictMock<MockJsReplyHandler> reply_handler; |
- |
- JsArgList return_args; |
- |
- EXPECT_CALL(reply_handler, |
- HandleJsReply("getRootNodeDetails", _)) |
- .WillOnce(SaveArg<1>(&return_args)); |
- |
- SendJsMessage("getRootNodeDetails", kNoArgs, reply_handler.AsWeakHandle()); |
- |
- EXPECT_EQ(1u, return_args.Get().GetSize()); |
- const base::DictionaryValue* node_info = NULL; |
- EXPECT_TRUE(return_args.Get().GetDictionary(0, &node_info)); |
- if (node_info) { |
- ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare()); |
- ReadNode node(&trans); |
- node.InitByRootLookup(); |
- CheckNodeValue(node, *node_info, true); |
- } else { |
- ADD_FAILURE(); |
- } |
-} |
- |
-void CheckGetNodesByIdReturnArgs(SyncManager* sync_manager, |
- const JsArgList& return_args, |
- int64 id, |
- bool is_detailed) { |
- EXPECT_EQ(1u, return_args.Get().GetSize()); |
- const base::ListValue* nodes = NULL; |
- ASSERT_TRUE(return_args.Get().GetList(0, &nodes)); |
- ASSERT_TRUE(nodes); |
- EXPECT_EQ(1u, nodes->GetSize()); |
- const base::DictionaryValue* node_info = NULL; |
- EXPECT_TRUE(nodes->GetDictionary(0, &node_info)); |
- ASSERT_TRUE(node_info); |
- ReadTransaction trans(FROM_HERE, sync_manager->GetUserShare()); |
- ReadNode node(&trans); |
- EXPECT_EQ(BaseNode::INIT_OK, node.InitByIdLookup(id)); |
- CheckNodeValue(node, *node_info, is_detailed); |
-} |
- |
-class SyncManagerGetNodesByIdTest : public SyncManagerTest { |
- protected: |
- virtual ~SyncManagerGetNodesByIdTest() {} |
- |
- void RunGetNodesByIdTest(const char* message_name, bool is_detailed) { |
- int64 root_id = kInvalidId; |
- { |
- ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare()); |
- ReadNode root_node(&trans); |
- root_node.InitByRootLookup(); |
- root_id = root_node.GetId(); |
- } |
- |
- int64 child_id = |
- MakeNode(sync_manager_.GetUserShare(), BOOKMARKS, "testtag"); |
- |
- StrictMock<MockJsReplyHandler> reply_handler; |
- |
- JsArgList return_args; |
- |
- const int64 ids[] = { root_id, child_id }; |
- |
- EXPECT_CALL(reply_handler, |
- HandleJsReply(message_name, _)) |
- .Times(arraysize(ids)).WillRepeatedly(SaveArg<1>(&return_args)); |
- |
- for (size_t i = 0; i < arraysize(ids); ++i) { |
- base::ListValue args; |
- base::ListValue* id_values = new base::ListValue(); |
- args.Append(id_values); |
- id_values->Append(new base::StringValue(base::Int64ToString(ids[i]))); |
- SendJsMessage(message_name, |
- JsArgList(&args), reply_handler.AsWeakHandle()); |
- |
- CheckGetNodesByIdReturnArgs(&sync_manager_, return_args, |
- ids[i], is_detailed); |
- } |
- } |
- |
- void RunGetNodesByIdFailureTest(const char* message_name) { |
- StrictMock<MockJsReplyHandler> reply_handler; |
- |
- base::ListValue empty_list_args; |
- empty_list_args.Append(new base::ListValue()); |
- |
- EXPECT_CALL(reply_handler, |
- HandleJsReply(message_name, |
- HasArgsAsList(empty_list_args))) |
- .Times(6); |
- |
- { |
- base::ListValue args; |
- SendJsMessage(message_name, |
- JsArgList(&args), reply_handler.AsWeakHandle()); |
- } |
- |
- { |
- base::ListValue args; |
- args.Append(new base::ListValue()); |
- SendJsMessage(message_name, |
- JsArgList(&args), reply_handler.AsWeakHandle()); |
- } |
- |
- { |
- base::ListValue args; |
- base::ListValue* ids = new base::ListValue(); |
- args.Append(ids); |
- ids->Append(new base::StringValue(std::string())); |
- SendJsMessage( |
- message_name, JsArgList(&args), reply_handler.AsWeakHandle()); |
- } |
- |
- { |
- base::ListValue args; |
- base::ListValue* ids = new base::ListValue(); |
- args.Append(ids); |
- ids->Append(new base::StringValue("nonsense")); |
- SendJsMessage(message_name, |
- JsArgList(&args), reply_handler.AsWeakHandle()); |
- } |
- |
- { |
- base::ListValue args; |
- base::ListValue* ids = new base::ListValue(); |
- args.Append(ids); |
- ids->Append(new base::StringValue("0")); |
- SendJsMessage(message_name, |
- JsArgList(&args), reply_handler.AsWeakHandle()); |
- } |
- |
- { |
- base::ListValue args; |
- base::ListValue* ids = new base::ListValue(); |
- args.Append(ids); |
- ids->Append(new base::StringValue("9999")); |
- SendJsMessage(message_name, |
- JsArgList(&args), reply_handler.AsWeakHandle()); |
- } |
- } |
-}; |
- |
-TEST_F(SyncManagerGetNodesByIdTest, GetNodeSummariesById) { |
- RunGetNodesByIdTest("getNodeSummariesById", false); |
-} |
- |
-TEST_F(SyncManagerGetNodesByIdTest, GetNodeDetailsById) { |
- RunGetNodesByIdTest("getNodeDetailsById", true); |
-} |
- |
-TEST_F(SyncManagerGetNodesByIdTest, GetNodeSummariesByIdFailure) { |
- RunGetNodesByIdFailureTest("getNodeSummariesById"); |
-} |
- |
-TEST_F(SyncManagerGetNodesByIdTest, GetNodeDetailsByIdFailure) { |
- RunGetNodesByIdFailureTest("getNodeDetailsById"); |
-} |
- |
-TEST_F(SyncManagerTest, GetChildNodeIds) { |
- StrictMock<MockJsReplyHandler> reply_handler; |
- |
- JsArgList return_args; |
- |
- EXPECT_CALL(reply_handler, |
- HandleJsReply("getChildNodeIds", _)) |
- .Times(1).WillRepeatedly(SaveArg<1>(&return_args)); |
- |
- { |
- base::ListValue args; |
- args.Append(new base::StringValue("1")); |
- SendJsMessage("getChildNodeIds", |
- JsArgList(&args), reply_handler.AsWeakHandle()); |
- } |
- |
- EXPECT_EQ(1u, return_args.Get().GetSize()); |
- const base::ListValue* nodes = NULL; |
- ASSERT_TRUE(return_args.Get().GetList(0, &nodes)); |
- ASSERT_TRUE(nodes); |
- EXPECT_EQ(9u, nodes->GetSize()); |
-} |
- |
-TEST_F(SyncManagerTest, GetChildNodeIdsFailure) { |
- StrictMock<MockJsReplyHandler> reply_handler; |
- |
- base::ListValue empty_list_args; |
- empty_list_args.Append(new base::ListValue()); |
- |
- EXPECT_CALL(reply_handler, |
- HandleJsReply("getChildNodeIds", |
- HasArgsAsList(empty_list_args))) |
- .Times(5); |
- |
- { |
- base::ListValue args; |
- SendJsMessage("getChildNodeIds", |
- JsArgList(&args), reply_handler.AsWeakHandle()); |
- } |
- |
- { |
- base::ListValue args; |
- args.Append(new base::StringValue(std::string())); |
- SendJsMessage( |
- "getChildNodeIds", JsArgList(&args), reply_handler.AsWeakHandle()); |
- } |
- |
- { |
- base::ListValue args; |
- args.Append(new base::StringValue("nonsense")); |
- SendJsMessage("getChildNodeIds", |
- JsArgList(&args), reply_handler.AsWeakHandle()); |
- } |
- |
- { |
- base::ListValue args; |
- args.Append(new base::StringValue("0")); |
- SendJsMessage("getChildNodeIds", |
- JsArgList(&args), reply_handler.AsWeakHandle()); |
- } |
- |
- { |
- base::ListValue args; |
- args.Append(new base::StringValue("9999")); |
- SendJsMessage("getChildNodeIds", |
- JsArgList(&args), reply_handler.AsWeakHandle()); |
- } |
+ SendJsMessage("getNotificationInfo", kNoArgs, reply_handler.AsWeakHandle()); |
} |
TEST_F(SyncManagerTest, GetAllNodesTest) { |