TEST(RepoBSONTest, AppendDefaultsTest) { RepoBSONBuilder builder; RepoBSONFactory::appendDefaults( builder, "test"); RepoNode n = builder.obj(); EXPECT_FALSE(n.isEmpty()); EXPECT_EQ(4, n.nFields()); EXPECT_TRUE(n.hasField(REPO_NODE_LABEL_ID)); EXPECT_TRUE(n.hasField(REPO_NODE_LABEL_SHARED_ID)); EXPECT_TRUE(n.hasField(REPO_NODE_LABEL_API)); EXPECT_TRUE(n.hasField(REPO_NODE_LABEL_TYPE)); //Ensure existing fields doesnt' disappear RepoBSONBuilder builderWithFields; builderWithFields << "Number" << 1023; builderWithFields << "doll" << "Kitty"; RepoBSONFactory::appendDefaults( builderWithFields, "test"); }
TEST(RepoBSONFactoryTest, AppendDefaultsTest) { RepoBSONBuilder builder; auto defaults = RepoBSONFactory::appendDefaults("test"); builder.appendElements(defaults); RepoNode n = builder.obj(); EXPECT_FALSE(n.isEmpty()); EXPECT_EQ(4, n.nFields()); EXPECT_TRUE(n.hasField(REPO_NODE_LABEL_ID)); EXPECT_TRUE(n.hasField(REPO_NODE_LABEL_SHARED_ID)); EXPECT_TRUE(n.hasField(REPO_NODE_LABEL_API)); EXPECT_TRUE(n.hasField(REPO_NODE_LABEL_TYPE)); //Ensure existing fields doesnt' disappear RepoBSONBuilder builderWithFields; builderWithFields << "Number" << 1023; builderWithFields << "doll" << "Kitty"; auto defaults2 = RepoBSONFactory::appendDefaults("test"); builderWithFields.appendElements(defaults2); RepoNode nWithExists = builderWithFields.obj(); EXPECT_FALSE(nWithExists.isEmpty()); EXPECT_EQ(6, nWithExists.nFields()); EXPECT_TRUE(nWithExists.hasField(REPO_NODE_LABEL_ID)); EXPECT_TRUE(nWithExists.hasField(REPO_NODE_LABEL_SHARED_ID)); EXPECT_TRUE(nWithExists.hasField(REPO_NODE_LABEL_API)); EXPECT_TRUE(nWithExists.hasField(REPO_NODE_LABEL_TYPE)); EXPECT_TRUE(nWithExists.hasField("doll")); EXPECT_EQ("Kitty", std::string(nWithExists.getStringField("doll"))); EXPECT_TRUE(nWithExists.hasField("Number")); EXPECT_EQ(nWithExists.getField("Number").Int(), 1023); }