TEST(CollectionOptions, Validate) { CollectionOptions options; ASSERT_OK(options.validateForStorage()); options.storageEngine = fromjson("{storageEngine1: 1}"); ASSERT_NOT_OK(options.validateForStorage()); }
TEST(CollectionOptions, ParseUUID) { CollectionOptions options; CollectionUUID uuid = CollectionUUID::gen(); // Check required parse failures ASSERT_FALSE(options.uuid); ASSERT_NOT_OK(options.parse(uuid.toBSON())); ASSERT_NOT_OK(options.parse(BSON("uuid" << 1))); ASSERT_NOT_OK(options.parse(BSON("uuid" << 1), CollectionOptions::parseForStorage)); ASSERT_FALSE(options.uuid); // Check successful parse and roundtrip. ASSERT_OK(options.parse(uuid.toBSON(), CollectionOptions::parseForStorage)); ASSERT(options.uuid.get() == uuid); // Check that a collection options containing a UUID passes validation. ASSERT_OK(options.validateForStorage()); }
TEST(CollectionOptions, CollationFieldParsesCorrectly) { CollectionOptions options; ASSERT_OK(options.parse(fromjson("{collation: {locale: 'en'}}"))); ASSERT_BSONOBJ_EQ(options.collation, fromjson("{locale: 'en'}")); ASSERT_OK(options.validateForStorage()); }