public void constructor_should_initialize_subject() { var subject = new ListIndexesOperation(_collectionNamespace, _messageEncoderSettings); subject.CollectionNamespace.Should().BeSameAs(_collectionNamespace); subject.MessageEncoderSettings.Should().BeSameAs(_messageEncoderSettings); }
public void Execute_should_create_collection_when_AutoIndexId_is_set( [Values(false, true)] bool autoIndexId, [Values(false, true)] bool async) { var subject = new CreateCollectionOperation(_collectionNamespace, _messageEncoderSettings) { AutoIndexId = autoIndexId }; using (var binding = CoreTestConfiguration.GetReadWriteBinding()) { var result = ExecuteOperation(subject, binding, async); result["ok"].ToBoolean().Should().BeTrue(); var listIndexesOperation = new ListIndexesOperation(_collectionNamespace, _messageEncoderSettings); List <BsonDocument> indexes; if (async) { var cursor = listIndexesOperation.ExecuteAsync(binding, CancellationToken.None).GetAwaiter().GetResult(); indexes = cursor.ToListAsync().GetAwaiter().GetResult(); } else { var cursor = listIndexesOperation.Execute(binding, CancellationToken.None); indexes = cursor.ToList(); } indexes.Count.Should().Be(autoIndexId ? 1 : 0); } }
private List <BsonDocument> ListIndexes() { var listIndexesOperation = new ListIndexesOperation(_collectionNamespace, _messageEncoderSettings); var cursor = ExecuteOperation(listIndexesOperation); return(ReadCursorToEnd(cursor)); }
public void ExecuteAsync_should_throw_when_binding_is_null() { var subject = new ListIndexesOperation(_collectionNamespace, _messageEncoderSettings); Func <Task> action = () => subject.ExecuteAsync(null, CancellationToken.None); action.ShouldThrow <ArgumentNullException>().And.ParamName.Should().Be("binding"); }
public void CollectionNamespace_get_should_return_expected_result() { var subject = new ListIndexesOperation(_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 ListIndexesOperation(_collectionNamespace, _messageEncoderSettings); VerifySessionIdWasSentWhenSupported(subject, "listIndexes", async); }
public void RetryRequested_get_should_return_expected_result( [Values(false, true)] bool value) { var subject = new ListIndexesOperation(_collectionNamespace, _messageEncoderSettings); subject.RetryRequested = value; var result = subject.RetryRequested; result.Should().Be(value); }
public void BatchSize_get_and_set_should_work() { var subject = new ListIndexesOperation(_collectionNamespace, _messageEncoderSettings); int batchSize = 2; subject.BatchSize = batchSize; var result = subject.BatchSize; result.Should().Be(batchSize); }
public void Execute_should_throw_when_binding_is_null( [Values(false, true)] bool async) { var subject = new ListIndexesOperation(_collectionNamespace, _messageEncoderSettings); Action action = () => ExecuteOperation(subject, null, async); action.ShouldThrow <ArgumentNullException>().And.ParamName.Should().Be("binding"); }
public async Task ExecuteAsync_should_return_expected_result_when_collection_does_not_exist() { using (var binding = SuiteConfiguration.GetReadWriteBinding()) { var subject = new ListIndexesOperation(_collectionNamespace, _messageEncoderSettings); await DropCollectionAsync(binding); var result = await subject.ExecuteAsync(binding, Timeout.InfiniteTimeSpan, CancellationToken.None); result.Count().Should().Be(0); } }
public void Execute_should_return_expected_result_when_database_does_not_exist( [Values(false, true)] bool async) { DropDatabase(async); var subject = new ListIndexesOperation(_collectionNamespace, _messageEncoderSettings); var result = ExecuteOperation(subject, async); var list = ReadCursorToEnd(result, async); list.Count.Should().Be(0); }
public void Execute_should_return_expected_result( [Values(false, true)] bool async) { EnsureCollectionExists(async); var subject = new ListIndexesOperation(_collectionNamespace, _messageEncoderSettings); var result = ExecuteOperation(subject, async); var list = ReadCursorToEnd(result, async); list.Select(index => index["name"].AsString).Should().BeEquivalentTo("_id_"); }
public async Task ExecuteAsync_should_return_expected_result_when_database_does_not_exist() { using (var binding = CoreTestConfiguration.GetReadWriteBinding()) { var subject = new ListIndexesOperation(_collectionNamespace, _messageEncoderSettings); await DropDatabaseAsync(binding); var result = await subject.ExecuteAsync(binding, CancellationToken.None); var list = await result.ToListAsync(); list.Count.Should().Be(0); } }
public async Task ExecuteAsync_should_work_when_creating_one_index() { var requests = new[] { new CreateIndexRequest(new BsonDocument("x", 1)) }; var subject = new CreateIndexesOperation(_collectionNamespace, requests, _messageEncoderSettings); var result = await ExecuteOperationAsync(subject); result["ok"].ToBoolean().Should().BeTrue(); var listIndexesOperation = new ListIndexesOperation(_collectionNamespace, _messageEncoderSettings); var indexes = await ExecuteOperationAsync(listIndexesOperation); indexes.Select(index => index["name"].AsString).Should().BeEquivalentTo(new[] { "_id_", "x_1" }); }
public async Task ExecuteAsync_should_return_expected_result() { using (var binding = SuiteConfiguration.GetReadWriteBinding()) { var subject = new ListIndexesOperation(_collectionNamespace, _messageEncoderSettings); await EnsureCollectionExistsAsync(binding); var expectedNames = new[] { "_id_" }; var result = await subject.ExecuteAsync(binding, Timeout.InfiniteTimeSpan, CancellationToken.None); result.Select(index => index["name"].AsString).Should().BeEquivalentTo(expectedNames); } }
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 ListIndexesOperation(_collectionNamespace, _messageEncoderSettings) { BatchSize = batchSize }; using (var result = ExecuteOperation(subject, async) as AsyncCursor <BsonDocument>) { result._batchSize().Should().Be(batchSize); } }
public async Task ExecuteAsync_should_work_when_background_is_true() { var requests = new[] { new CreateIndexRequest(new BsonDocument("x", 1)) { Background = true } }; var subject = new CreateIndexesOperation(_collectionNamespace, requests, _messageEncoderSettings); var result = await ExecuteOperationAsync(subject); result["ok"].ToBoolean().Should().BeTrue(); var listIndexesOperation = new ListIndexesOperation(_collectionNamespace, _messageEncoderSettings); var indexes = (await ExecuteOperationAsync(listIndexesOperation)).ToList(); var index = indexes.Single(i => i["name"].AsString == "x_1"); index["background"].ToBoolean().Should().BeTrue(); }
public async Task ExecuteAsync_should_work_when_expireAfter_has_value() { var expireAfterSeconds = 1.5; var requests = new[] { new CreateIndexRequest(new BsonDocument("x", 1)) { ExpireAfter = TimeSpan.FromSeconds(expireAfterSeconds) } }; var subject = new CreateIndexesOperation(_collectionNamespace, requests, _messageEncoderSettings); var result = await ExecuteOperationAsync(subject); result["ok"].ToBoolean().Should().BeTrue(); var listIndexesOperation = new ListIndexesOperation(_collectionNamespace, _messageEncoderSettings); var indexes = (await ExecuteOperationAsync(listIndexesOperation)).ToList(); var index = indexes.Single(i => i["name"].AsString == "x_1"); index["expireAfterSeconds"].ToDouble().Should().Be(expireAfterSeconds); }
public async Task ExecuteAsync_should_create_collection_when_AutoIndexId_is_set( [Values(false, true)] bool autoIndexId) { var subject = new CreateCollectionOperation(_collectionNamespace, _messageEncoderSettings) { AutoIndexId = autoIndexId }; using (var binding = SuiteConfiguration.GetReadWriteBinding()) { var result = await subject.ExecuteAsync(binding, CancellationToken.None); result["ok"].ToBoolean().Should().BeTrue(); var listIndexesOperation = new ListIndexesOperation(_collectionNamespace, _messageEncoderSettings); var indexes = await listIndexesOperation.ExecuteAsync(binding, CancellationToken.None); indexes.Count().Should().Be(autoIndexId ? 1 : 0); } }