summaryrefslogtreecommitdiff
path: root/src/mongo/rpc/op_legacy_integration_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/rpc/op_legacy_integration_test.cpp')
-rw-r--r--src/mongo/rpc/op_legacy_integration_test.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/mongo/rpc/op_legacy_integration_test.cpp b/src/mongo/rpc/op_legacy_integration_test.cpp
index 75e56d7abfa..3722c4f1bc4 100644
--- a/src/mongo/rpc/op_legacy_integration_test.cpp
+++ b/src/mongo/rpc/op_legacy_integration_test.cpp
@@ -58,7 +58,7 @@ Message makeUnsupportedOpUpdateMessage(StringData ns, BSONObj query, BSONObj upd
return makeMessage(dbUpdate, [&](BufBuilder& b) {
const int reservedFlags = 0;
b.appendNum(reservedFlags);
- b.appendStr(ns);
+ b.appendCStr(ns);
b.appendNum(flags);
query.appendSelfToBufBuilder(b);
@@ -70,7 +70,7 @@ Message makeUnsupportedOpRemoveMessage(StringData ns, BSONObj query, int flags)
return makeMessage(dbDelete, [&](BufBuilder& b) {
const int reservedFlags = 0;
b.appendNum(reservedFlags);
- b.appendStr(ns);
+ b.appendCStr(ns);
b.appendNum(flags);
query.appendSelfToBufBuilder(b);
@@ -93,7 +93,7 @@ Message makeUnsupportedOpQueryMessage(StringData ns,
int queryOptions) {
return makeMessage(dbQuery, [&](BufBuilder& b) {
b.appendNum(queryOptions);
- b.appendStr(ns);
+ b.appendCStr(ns);
b.appendNum(nToSkip);
b.appendNum(nToReturn);
query.appendSelfToBufBuilder(b);
@@ -108,7 +108,7 @@ Message makeUnsupportedOpGetMoreMessage(StringData ns,
int flags) {
return makeMessage(dbGetMore, [&](BufBuilder& b) {
b.appendNum(flags);
- b.appendStr(ns);
+ b.appendCStr(ns);
b.appendNum(nToReturn);
b.appendNum(cursorId);
});
@@ -383,6 +383,18 @@ TEST(OpLegacy, UnsupportedOpsLogging) {
exerciseUnsupportedOps(conn.get(), "D2" /*expectedSeverity*/);
}
+TEST(OpLegacy, InvalidNs) {
+ auto conn = getIntegrationTestConnection();
+
+ auto msg = makeMessage(dbQuery, [&](BufBuilder& b) {
+ b.appendNum(0);
+ b.appendStrBytes("nonullbyte");
+ });
+ // Since our request is not able to be parsed, we don't receive a response from the server.
+ Message ignore;
+ ASSERT_THROWS(conn->call(msg, ignore), DBException);
+}
+
TEST(OpLegacy, GenericCommandViaOpQuery) {
auto conn = getIntegrationTestConnection();