summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRandolph Tan <randolph@10gen.com>2015-09-28 10:22:09 -0400
committerRandolph Tan <randolph@10gen.com>2015-09-28 13:34:12 -0400
commit22b72fe112bc3e1c098e4404032d6471b5858773 (patch)
tree2884c1746d6161bd661ef9238cca7e5ee2a913b5 /src
parent66a6aef744e9e779fbd33569415ce5b68ede413c (diff)
downloadmongo-22b72fe112bc3e1c098e4404032d6471b5858773.tar.gz
SERVER-20318 Allow NetworkTestEnv::OnCommand to set non ok status to response
Diffstat (limited to 'src')
-rw-r--r--src/mongo/executor/network_test_env.cpp22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/mongo/executor/network_test_env.cpp b/src/mongo/executor/network_test_env.cpp
index c1639cf7822..fae46697d5e 100644
--- a/src/mongo/executor/network_test_env.cpp
+++ b/src/mongo/executor/network_test_env.cpp
@@ -53,13 +53,14 @@ void NetworkTestEnv::onCommand(OnCommandFunction func) {
if (resultStatus.isOK()) {
result.appendElements(resultStatus.getValue());
- }
-
- Command::appendCommandStatus(result, resultStatus.getStatus());
+ Command::appendCommandStatus(result, resultStatus.getStatus());
+ const RemoteCommandResponse response(result.obj(), BSONObj(), Milliseconds(1));
- const RemoteCommandResponse response(result.obj(), BSONObj(), Milliseconds(1));
+ _mockNetwork->scheduleResponse(noi, _mockNetwork->now(), response);
+ } else {
+ _mockNetwork->scheduleResponse(noi, _mockNetwork->now(), resultStatus.getStatus());
+ }
- _mockNetwork->scheduleResponse(noi, _mockNetwork->now(), response);
_mockNetwork->runReadyNetworkOperations();
_mockNetwork->exitNetwork();
}
@@ -77,13 +78,14 @@ void NetworkTestEnv::onCommandWithMetadata(OnCommandWithMetadataFunction func) {
if (cmdResponseStatus.isOK()) {
result.appendElements(cmdResponse.data);
- }
-
- Command::appendCommandStatus(result, cmdResponseStatus.getStatus());
+ Command::appendCommandStatus(result, cmdResponseStatus.getStatus());
+ const RemoteCommandResponse response(result.obj(), cmdResponse.metadata, Milliseconds(1));
- const RemoteCommandResponse response(result.obj(), cmdResponse.metadata, Milliseconds(1));
+ _mockNetwork->scheduleResponse(noi, _mockNetwork->now(), response);
+ } else {
+ _mockNetwork->scheduleResponse(noi, _mockNetwork->now(), cmdResponseStatus.getStatus());
+ }
- _mockNetwork->scheduleResponse(noi, _mockNetwork->now(), response);
_mockNetwork->runReadyNetworkOperations();
_mockNetwork->exitNetwork();
}