summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/document_source_mock_test.cpp
diff options
context:
space:
mode:
authorCharlie Swanson <cswanson310@gmail.com>2016-09-01 17:32:55 -0400
committerCharlie Swanson <cswanson310@gmail.com>2016-09-12 16:55:21 -0400
commit8383c8731ba18b8443e424783c5aa63a8aed9202 (patch)
treec8126726ac5255fc2f3410337627714944036c66 /src/mongo/db/pipeline/document_source_mock_test.cpp
parentec61ddf3e46fdc4c5c960968d3766195cd3a2c34 (diff)
downloadmongo-8383c8731ba18b8443e424783c5aa63a8aed9202.tar.gz
SERVER-24153 Add unit tests for DocumentSource pausing behavior.
Diffstat (limited to 'src/mongo/db/pipeline/document_source_mock_test.cpp')
-rw-r--r--src/mongo/db/pipeline/document_source_mock_test.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/mongo/db/pipeline/document_source_mock_test.cpp b/src/mongo/db/pipeline/document_source_mock_test.cpp
index acf4f21f3fe..e4826ff5b24 100644
--- a/src/mongo/db/pipeline/document_source_mock_test.cpp
+++ b/src/mongo/db/pipeline/document_source_mock_test.cpp
@@ -43,13 +43,23 @@ TEST(DocumentSourceMockTest, OneDoc) {
ASSERT(source->getNext().isEOF());
}
-TEST(DocumentSourceMockTest, DequeDocuments) {
+TEST(DocumentSourceMockTest, ShouldBeConstructableFromInitializerListOfDocuments) {
auto source = DocumentSourceMock::create({Document{{"a", 1}}, Document{{"a", 2}}});
ASSERT_DOCUMENT_EQ(source->getNext().getDocument(), (Document{{"a", 1}}));
ASSERT_DOCUMENT_EQ(source->getNext().getDocument(), (Document{{"a", 2}}));
ASSERT(source->getNext().isEOF());
}
+TEST(DocumentSourceMockTest, ShouldBeConstructableFromDequeOfResults) {
+ auto source = DocumentSourceMock::create({Document{{"a", 1}},
+ DocumentSource::GetNextResult::makePauseExecution(),
+ Document{{"a", 2}}});
+ ASSERT_DOCUMENT_EQ(source->getNext().getDocument(), (Document{{"a", 1}}));
+ ASSERT_TRUE(source->getNext().isPaused());
+ ASSERT_DOCUMENT_EQ(source->getNext().getDocument(), (Document{{"a", 2}}));
+ ASSERT(source->getNext().isEOF());
+}
+
TEST(DocumentSourceMockTest, StringJSON) {
auto source = DocumentSourceMock::create("{a : 1}");
ASSERT_DOCUMENT_EQ(source->getNext().getDocument(), (Document{{"a", 1}}));