diff options
Diffstat (limited to 'src/mongo/db/storage/kv/kv_database_catalog_entry_test.cpp')
-rw-r--r-- | src/mongo/db/storage/kv/kv_database_catalog_entry_test.cpp | 94 |
1 files changed, 47 insertions, 47 deletions
diff --git a/src/mongo/db/storage/kv/kv_database_catalog_entry_test.cpp b/src/mongo/db/storage/kv/kv_database_catalog_entry_test.cpp index 798add81b64..f9027d721c8 100644 --- a/src/mongo/db/storage/kv/kv_database_catalog_entry_test.cpp +++ b/src/mongo/db/storage/kv/kv_database_catalog_entry_test.cpp @@ -39,57 +39,57 @@ namespace { - using namespace mongo; +using namespace mongo; - TEST(KVDatabaseCatalogEntryTest, CreateCollectionValidNamespace) { - KVStorageEngine storageEngine(new DevNullKVEngine()); - storageEngine.finishInit(); - KVDatabaseCatalogEntry dbEntry("mydb", &storageEngine); - OperationContextNoop ctx; - ASSERT_OK(dbEntry.createCollection(&ctx, "mydb.mycoll", CollectionOptions(), true)); - std::list<std::string> collectionNamespaces; - dbEntry.getCollectionNamespaces(&collectionNamespaces); - ASSERT_FALSE(collectionNamespaces.empty()); - } +TEST(KVDatabaseCatalogEntryTest, CreateCollectionValidNamespace) { + KVStorageEngine storageEngine(new DevNullKVEngine()); + storageEngine.finishInit(); + KVDatabaseCatalogEntry dbEntry("mydb", &storageEngine); + OperationContextNoop ctx; + ASSERT_OK(dbEntry.createCollection(&ctx, "mydb.mycoll", CollectionOptions(), true)); + std::list<std::string> collectionNamespaces; + dbEntry.getCollectionNamespaces(&collectionNamespaces); + ASSERT_FALSE(collectionNamespaces.empty()); +} - TEST(KVDatabaseCatalogEntryTest, CreateCollectionEmptyNamespace) { - KVStorageEngine storageEngine(new DevNullKVEngine()); - storageEngine.finishInit(); - KVDatabaseCatalogEntry dbEntry("mydb", &storageEngine); - OperationContextNoop ctx; - ASSERT_NOT_OK(dbEntry.createCollection(&ctx, "", CollectionOptions(), true)); - std::list<std::string> collectionNamespaces; - dbEntry.getCollectionNamespaces(&collectionNamespaces); - ASSERT_TRUE(collectionNamespaces.empty()); - } +TEST(KVDatabaseCatalogEntryTest, CreateCollectionEmptyNamespace) { + KVStorageEngine storageEngine(new DevNullKVEngine()); + storageEngine.finishInit(); + KVDatabaseCatalogEntry dbEntry("mydb", &storageEngine); + OperationContextNoop ctx; + ASSERT_NOT_OK(dbEntry.createCollection(&ctx, "", CollectionOptions(), true)); + std::list<std::string> collectionNamespaces; + dbEntry.getCollectionNamespaces(&collectionNamespaces); + ASSERT_TRUE(collectionNamespaces.empty()); +} - /** - * Derived class of devnull KV engine where createRecordStore is overridden to fail - * on an empty namespace (provided by the test). - */ - class InvalidRecordStoreKVEngine : public DevNullKVEngine { - public: - virtual Status createRecordStore( OperationContext* opCtx, - StringData ns, - StringData ident, - const CollectionOptions& options ) { - if (ns == "fail.me") { - return Status(ErrorCodes::BadValue, "failed to create record store"); - } - return DevNullKVEngine::createRecordStore(opCtx, ns, ident, options); +/** + * Derived class of devnull KV engine where createRecordStore is overridden to fail + * on an empty namespace (provided by the test). + */ +class InvalidRecordStoreKVEngine : public DevNullKVEngine { +public: + virtual Status createRecordStore(OperationContext* opCtx, + StringData ns, + StringData ident, + const CollectionOptions& options) { + if (ns == "fail.me") { + return Status(ErrorCodes::BadValue, "failed to create record store"); } - }; - - // After createCollection fails, collection namespaces should remain empty. - TEST(KVDatabaseCatalogEntryTest, CreateCollectionInvalidRecordStore) { - KVStorageEngine storageEngine(new InvalidRecordStoreKVEngine()); - storageEngine.finishInit(); - KVDatabaseCatalogEntry dbEntry("fail", &storageEngine); - OperationContextNoop ctx; - ASSERT_NOT_OK(dbEntry.createCollection(&ctx, "fail.me", CollectionOptions(), true)); - std::list<std::string> collectionNamespaces; - dbEntry.getCollectionNamespaces(&collectionNamespaces); - ASSERT_TRUE(collectionNamespaces.empty()); + return DevNullKVEngine::createRecordStore(opCtx, ns, ident, options); } +}; + +// After createCollection fails, collection namespaces should remain empty. +TEST(KVDatabaseCatalogEntryTest, CreateCollectionInvalidRecordStore) { + KVStorageEngine storageEngine(new InvalidRecordStoreKVEngine()); + storageEngine.finishInit(); + KVDatabaseCatalogEntry dbEntry("fail", &storageEngine); + OperationContextNoop ctx; + ASSERT_NOT_OK(dbEntry.createCollection(&ctx, "fail.me", CollectionOptions(), true)); + std::list<std::string> collectionNamespaces; + dbEntry.getCollectionNamespaces(&collectionNamespaces); + ASSERT_TRUE(collectionNamespaces.empty()); +} } // namespace |