summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/shard_server_test_fixture.cpp
diff options
context:
space:
mode:
authorLaMont Nelson <lamont.nelson@mongodb.com>2020-12-09 04:35:38 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-12-23 03:49:04 +0000
commite3372897dcea110233204133a8e62141ba2db70d (patch)
tree07a5ec45bcee28d71da45e326d0beaa0fca3dcc6 /src/mongo/db/s/shard_server_test_fixture.cpp
parent288354349eb98af037fe157220d3e161a58703b7 (diff)
downloadmongo-e3372897dcea110233204133a8e62141ba2db70d.tar.gz
SERVER-52795 Resharding donors write final oplog entry upon entering the preparing-to-mirror state.
Diffstat (limited to 'src/mongo/db/s/shard_server_test_fixture.cpp')
-rw-r--r--src/mongo/db/s/shard_server_test_fixture.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/mongo/db/s/shard_server_test_fixture.cpp b/src/mongo/db/s/shard_server_test_fixture.cpp
index b916c674792..9677193045a 100644
--- a/src/mongo/db/s/shard_server_test_fixture.cpp
+++ b/src/mongo/db/s/shard_server_test_fixture.cpp
@@ -65,9 +65,10 @@ void ShardServerTestFixture::setUp() {
_clusterId = OID::gen();
ShardingState::get(getServiceContext())->setInitialized(_myShardName, _clusterId);
- CatalogCacheLoader::set(getServiceContext(),
- std::make_unique<ShardServerCatalogCacheLoader>(
- std::make_unique<ConfigServerCatalogCacheLoader>()));
+ if (!_catalogCacheLoader)
+ _catalogCacheLoader = std::make_unique<ShardServerCatalogCacheLoader>(
+ std::make_unique<ConfigServerCatalogCacheLoader>());
+ CatalogCacheLoader::set(getServiceContext(), std::move(_catalogCacheLoader));
uassertStatusOK(
initializeGlobalShardingStateForMongodForTest(ConnectionString(kConfigHostAndPort)));
@@ -77,6 +78,13 @@ void ShardServerTestFixture::setUp() {
configTargeterMock()->setFindHostReturnValue(kConfigHostAndPort);
}
+// Sets the catalog cache loader for mocking. This must be called before the setUp function is
+// invoked.
+void ShardServerTestFixture::setCatalogCacheLoader(std::unique_ptr<CatalogCacheLoader> loader) {
+ invariant(loader && !_catalogCacheLoader);
+ _catalogCacheLoader = std::move(loader);
+}
+
void ShardServerTestFixture::tearDown() {
CatalogCacheLoader::clearForTests(getServiceContext());