From 3a62fec23a50653994e01d1b1725d80a10fc208d Mon Sep 17 00:00:00 2001 From: Justin Seyster Date: Fri, 13 Dec 2019 01:35:54 +0000 Subject: SERVER-43669 Serialize "sortKey" as BSONArray --- src/mongo/db/query/query_request_test.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/mongo/db/query/query_request_test.cpp') 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 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. // -- cgit v1.2.1