summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/query_request_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/query/query_request_test.cpp')
-rw-r--r--src/mongo/db/query/query_request_test.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/mongo/db/query/query_request_test.cpp b/src/mongo/db/query/query_request_test.cpp
index 1b44fbbae8a..b909e004d1b 100644
--- a/src/mongo/db/query/query_request_test.cpp
+++ b/src/mongo/db/query/query_request_test.cpp
@@ -496,6 +496,7 @@ TEST(QueryRequestTest, ParseFromCommandAllFlagsTrue) {
"awaitData: true,"
"allowPartialResults: true,"
"readOnce: true,"
+ "_use44SortKeys: true,"
"allowSpeculativeMajorityRead: true}");
const NamespaceString nss("test.testns");
bool isExplain = false;
@@ -510,6 +511,7 @@ TEST(QueryRequestTest, ParseFromCommandAllFlagsTrue) {
ASSERT(qr->isTailableAndAwaitData());
ASSERT(qr->isAllowPartialResults());
ASSERT(qr->isReadOnce());
+ ASSERT(qr->use44SortKeys());
ASSERT(qr->allowSpeculativeMajorityRead());
}
@@ -522,6 +524,15 @@ TEST(QueryRequestTest, ParseFromCommandReadOnceDefaultsToFalse) {
ASSERT(!qr->isReadOnce());
}
+TEST(QueryRequestTest, ParseFromCommandUse44SortKeysDefaultsToFalse) {
+ BSONObj cmdObj = fromjson("{find: 'testns'}");
+ const NamespaceString nss("test.testns");
+ bool isExplain = false;
+ unique_ptr<QueryRequest> qr(
+ assertGet(QueryRequest::makeFromFindCommand(nss, cmdObj, isExplain)));
+ ASSERT(!qr->use44SortKeys());
+}
+
TEST(QueryRequestTest, ParseFromCommandValidMinMax) {
BSONObj cmdObj = fromjson(
"{find: 'testns',"
@@ -901,6 +912,17 @@ TEST(QueryRequestTest, ParseFromCommandRuntimeConstantsSubfieldsWrongType) {
ErrorCodes::TypeMismatch);
}
+TEST(QueryRequestTest, ParseFromCommandUse44SortKeysWrongType) {
+ BSONObj cmdObj = BSON("find"
+ << "testns"
+ << "_use44SortKeys"
+ << "shouldBeBool");
+ const NamespaceString nss("test.testns");
+ bool isExplain = false;
+ auto result = QueryRequest::makeFromFindCommand(nss, cmdObj, isExplain);
+ ASSERT_NOT_OK(result.getStatus());
+}
+
//
// Parsing errors where a field has the right type but a bad value.
//