public void ChangeStream_should_throw_when_pipeline_is_null() { PipelineDefinition <BsonDocument, BsonDocument> pipeline = null; ChangeStreamStageOptions options = null; var exception = Record.Exception(() => pipeline.ChangeStream(options)); var argumentNullException = exception.Should().BeOfType <ArgumentNullException>().Subject; argumentNullException.ParamName.Should().Be("pipeline"); }
public void ChangeStream_should_add_the_expected_stage_when_options_is_null() { var pipeline = new EmptyPipelineDefinition <BsonDocument>(); ChangeStreamStageOptions options = null; var result = pipeline.ChangeStream(options); var stages = RenderStages(result); stages.Count.Should().Be(1); stages[0].Should().Be("{ $changeStream : { fullDocument : \"default\" } }"); }
public void ChangeStream_with_fullDocument_should_return_the_expected_result(ChangeStreamFullDocumentOption fullDocument, string expectedStage) { var options = new ChangeStreamStageOptions { FullDocument = fullDocument }; var result = PipelineStageDefinitionBuilder.ChangeStream <BsonDocument>(options); var stage = RenderStage(result); stage.Document.Should().Be(expectedStage); }
public void ChangeStream_with_allChangesForCluster_should_return_the_expected_result(bool?allChangesForCluster, string expectedStage) { var options = new ChangeStreamStageOptions { AllChangesForCluster = allChangesForCluster }; var result = PipelineStageDefinitionBuilder.ChangeStream <BsonDocument>(options); var stage = RenderStage(result); stage.Document.Should().Be(expectedStage); }
public void ChangeStream_should_add_the_expected_stage_when_options_is_null() { var subject = CreateSubject(); ChangeStreamStageOptions options = null; var result = subject.ChangeStream(options); var serializerRegistry = BsonSerializer.SerializerRegistry; var inputSerializer = serializerRegistry.GetSerializer <C>(); var stages = RenderStages(result.Stages, inputSerializer, serializerRegistry); stages.Count.Should().Be(1); stages[0].Document.Should().Be("{ $changeStream : { fullDocument : \"default\" } }"); }
public void ChangeStream_with_startAtOperationTime_should_return_the_expected_result(int?t, int?i, string expectedStage) { var startAtOperationTime = t.HasValue ? new BsonTimestamp(t.Value, i.Value) : null; var options = new ChangeStreamStageOptions { StartAtOperationTime = startAtOperationTime }; var result = PipelineStageDefinitionBuilder.ChangeStream <BsonDocument>(options); var stage = RenderStage(result); stage.Document.Should().Be(expectedStage); }
public void ChangeStream_with_resumeAfter_should_return_the_expected_result(string resumeAfterJson, string expectedStage) { var resumeAfter = resumeAfterJson == null ? null : BsonDocument.Parse(resumeAfterJson); var options = new ChangeStreamStageOptions { ResumeAfter = resumeAfter }; var result = PipelineStageDefinitionBuilder.ChangeStream <BsonDocument>(options); var stage = RenderStage(result); stage.Document.Should().Be(expectedStage); }
public void ChangeStream_with_startAfter_should_return_the_expected_result(string content, string expectedStage) { var startAfter = content != null?BsonDocument.Parse(content) : null; var options = new ChangeStreamStageOptions { StartAfter = startAfter }; var result = PipelineStageDefinitionBuilder.ChangeStream <BsonDocument>(options); var stage = RenderStage(result); stage.Document.Should().Be(expectedStage); }
public void ChangeStream_should_add_the_expected_stage( ChangeStreamFullDocumentOption fullDocument, string resumeAfterString, string expectedStage) { var resumeAfter = resumeAfterString == null ? null : BsonDocument.Parse(resumeAfterString); var pipeline = new EmptyPipelineDefinition <BsonDocument>(); var options = new ChangeStreamStageOptions { FullDocument = fullDocument, ResumeAfter = resumeAfter }; var result = pipeline.ChangeStream(options); var stages = RenderStages(result); stages.Count.Should().Be(1); stages[0].Should().Be(expectedStage); }
public void ChangeStream_should_add_the_expected_stage( ChangeStreamFullDocumentOption fullDocument, string resumeAfterString, string expectedStage) { var resumeAfter = resumeAfterString == null ? null : BsonDocument.Parse(resumeAfterString); var subject = CreateSubject(); var options = new ChangeStreamStageOptions { FullDocument = fullDocument, ResumeAfter = resumeAfter }; var result = subject.ChangeStream(options); var serializerRegistry = BsonSerializer.SerializerRegistry; var inputSerializer = serializerRegistry.GetSerializer <C>(); var stages = RenderStages(result.Stages, inputSerializer, serializerRegistry); stages.Count.Should().Be(1); stages[0].Document.Should().Be(expectedStage); }
public IAggregateFluent <ChangeStreamDocument <BsonDocument> > ChangeStream(ChangeStreamStageOptions options = null) { return(BlockProvider.ChangeStream(options)); }