summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Caimano <ben.caimano@10gen.com>2020-07-09 15:07:44 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-07-09 21:12:35 +0000
commit79177a84f8f176a7ce94b6506efbee22590aa2cc (patch)
tree4f9b43dd34c716a10915343f49bce23bf89e2a63
parentc7348f391124e681d9c62aceb0e13e0d07fca8bc (diff)
downloadmongo-79177a84f8f176a7ce94b6506efbee22590aa2cc.tar.gz
SERVER-49126 Allow NetworkInterfaceIntegrationTest to be an internalClient
-rw-r--r--src/mongo/executor/network_interface_integration_test.cpp26
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();