diff options
author | Charlie Swanson <cswanson310@gmail.com> | 2016-09-01 17:32:55 -0400 |
---|---|---|
committer | Charlie Swanson <cswanson310@gmail.com> | 2016-09-12 16:55:21 -0400 |
commit | 8383c8731ba18b8443e424783c5aa63a8aed9202 (patch) | |
tree | c8126726ac5255fc2f3410337627714944036c66 /src/mongo/db/pipeline/document_source_mock_test.cpp | |
parent | ec61ddf3e46fdc4c5c960968d3766195cd3a2c34 (diff) | |
download | mongo-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.cpp | 12 |
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}})); |