diff options
author | Ben Caimano <ben.caimano@10gen.com> | 2020-07-09 15:07:44 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-07-09 21:12:35 +0000 |
commit | 79177a84f8f176a7ce94b6506efbee22590aa2cc (patch) | |
tree | 4f9b43dd34c716a10915343f49bce23bf89e2a63 | |
parent | c7348f391124e681d9c62aceb0e13e0d07fca8bc (diff) | |
download | mongo-79177a84f8f176a7ce94b6506efbee22590aa2cc.tar.gz |
SERVER-49126 Allow NetworkInterfaceIntegrationTest to be an internalClient
-rw-r--r-- | src/mongo/executor/network_interface_integration_test.cpp | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/src/mongo/executor/network_interface_integration_test.cpp b/src/mongo/executor/network_interface_integration_test.cpp index 28883008399..1fadde05178 100644 --- a/src/mongo/executor/network_interface_integration_test.cpp +++ b/src/mongo/executor/network_interface_integration_test.cpp @@ -163,6 +163,10 @@ public: startNet(std::make_unique<WaitForIsMasterHook>(this)); } + void tearDown() override { + // Nothing + } + RemoteCommandRequest makeTestCommand( Milliseconds timeout, BSONObj cmd, @@ -293,6 +297,19 @@ private: boost::optional<IsMasterData> _isMasterResult; }; +class NetworkInterfaceInternalClientTest : public NetworkInterfaceTest { +public: + void setUp() override { + WireSpec::instance().isInternalClient = true; + NetworkInterfaceTest::setUp(); + } + + void tearDown() override { + NetworkInterfaceTest::tearDown(); + WireSpec::instance().isInternalClient = false; + } +}; + TEST_F(NetworkInterfaceTest, CancelMissingOperation) { // This is just a sanity check, this action should have no effect. net().cancelCommand(makeCallbackHandle()); @@ -642,7 +659,7 @@ TEST_F(NetworkInterfaceTest, FireAndForget) { assertNumOps(0u, 0u, 0u, 5u); } -TEST_F(NetworkInterfaceTest, StartCommandOnAny) { +TEST_F(NetworkInterfaceInternalClientTest, StartCommandOnAny) { // The echo command below uses hedging so after a response is returned, we will issue // a _killOperations command to kill the pending operation. As a result, the number of // successful commands can sometimes be 2 (echo and _killOperations) instead 1 when the @@ -667,8 +684,8 @@ TEST_F(NetworkInterfaceTest, StartCommandOnAny) { auto deferred = runCommandOnAny(makeCallbackHandle(), std::move(request)); auto res = deferred.get(); - auto cmdObj = res.data.getObjectField("echo"); uassertStatusOK(res.status); + auto cmdObj = res.data.getObjectField("echo"); ASSERT_EQ(1, cmdObj.getIntField("echo")); ASSERT_EQ("bar"_sd, cmdObj.getStringField("foo")); ASSERT_EQ("admin"_sd, cmdObj.getStringField("$db")); @@ -709,9 +726,8 @@ TEST_F(NetworkInterfaceTest, SetAlarm) { ASSERT_FALSE(swResult.isOK()); } -TEST_F(NetworkInterfaceTest, IsMasterRequestContainsOutgoingWireVersionInternalClientInfo) { - WireSpec::instance().isInternalClient = true; - +TEST_F(NetworkInterfaceInternalClientTest, + IsMasterRequestContainsOutgoingWireVersionInternalClientInfo) { auto deferred = runCommand(makeCallbackHandle(), makeTestCommand(kNoTimeout, makeEchoCmdObj())); auto isMasterHandshake = waitForIsMaster(); |