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); } }
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 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 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_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 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); } }