public void constructor_should_initialize_subject()
        {
            var subject = new ListIndexesUsingCommandOperation(_collectionNamespace, _messageEncoderSettings);

            subject.CollectionNamespace.Should().BeSameAs(_collectionNamespace);
            subject.MessageEncoderSettings.Should().BeSameAs(_messageEncoderSettings);
        }
        public void CollectionNamespace_get_should_return_expected_result()
        {
            var subject = new ListIndexesUsingCommandOperation(_collectionNamespace, _messageEncoderSettings);

            var result = subject.CollectionNamespace;

            result.Should().BeSameAs(_collectionNamespace);
        }
        public void Execute_should_send_session_id_when_supported(
            [Values(false, true)] bool async)
        {
            RequireServer.Check().Supports(Feature.ListIndexesCommand);
            EnsureCollectionExists(async);
            var subject = new ListIndexesUsingCommandOperation(_collectionNamespace, _messageEncoderSettings);

            VerifySessionIdWasSentWhenSupported(subject, "listIndexes", async);
        }
Ejemplo n.º 4
0
        public void Execute_should_throw_when_binding_is_null(
            [Values(false, true)]
            bool async)
        {
            var subject = new ListIndexesUsingCommandOperation(_collectionNamespace, _messageEncoderSettings);

            Action action = () => ExecuteOperation(subject, null, async);

            action.ShouldThrow <ArgumentNullException>().And.ParamName.Should().Be("binding");
        }
Ejemplo n.º 5
0
        public void BatchSize_get_and_set_should_work()
        {
            var subject   = new ListIndexesUsingCommandOperation(_collectionNamespace, _messageEncoderSettings);
            int batchSize = 2;

            subject.BatchSize = batchSize;
            var result = subject.BatchSize;

            result.Should().Be(batchSize);
        }
Ejemplo n.º 6
0
        public void RetryRequested_get_should_return_expected_result(
            [Values(false, true)] bool value)
        {
            var subject = new ListIndexesUsingCommandOperation(_collectionNamespace, _messageEncoderSettings);

            subject.RetryRequested = value;
            var result = subject.RetryRequested;

            result.Should().Be(value);
        }
Ejemplo n.º 7
0
        public void Execute_should_return_expected_result_when_database_does_not_exist(
            [Values(false, true)]
            bool async)
        {
            DropDatabase(async);
            var subject = new ListIndexesUsingCommandOperation(_collectionNamespace, _messageEncoderSettings);

            var result = ExecuteOperation(subject, async);
            var list   = ReadCursorToEnd(result, async);

            list.Count.Should().Be(0);
        }
Ejemplo n.º 8
0
        public void Execute_should_return_expected_result(
            [Values(false, true)]
            bool async)
        {
            EnsureCollectionExists(async);
            var subject = new ListIndexesUsingCommandOperation(_collectionNamespace, _messageEncoderSettings);

            var result = ExecuteOperation(subject, async);
            var list   = ReadCursorToEnd(result, async);

            list.Select(index => index["name"].AsString).Should().BeEquivalentTo("_id_");
        }
        public void Execute_should_return_expected_result_when_collection_does_not_exist(
            [Values(false, true)]
            bool async)
        {
            RequireServer.Check().Supports(Feature.ListIndexesCommand);
            DropCollection(async);
            var subject = new ListIndexesUsingCommandOperation(_collectionNamespace, _messageEncoderSettings);

            var result = ExecuteOperation(subject, async);
            var list   = ReadCursorToEnd(result, async);

            list.Count.Should().Be(0);
        }
Ejemplo n.º 10
0
        public void Execute_should_return_the_expected_result_when_batchSize_is_used([Values(false, true)] bool async)
        {
            RequireServer.Check();
            EnsureCollectionExists(async);
            int batchSize = 3;
            var subject   = new ListIndexesUsingCommandOperation(_collectionNamespace, _messageEncoderSettings)
            {
                BatchSize = batchSize
            };

            using (var result = ExecuteOperation(subject, async) as AsyncCursor <BsonDocument>)
            {
                result._batchSize().Should().Be(batchSize);
            }
        }