public async Task DropCollectionAsync(CollectionSpec spec, DropCollectionOptions options) { var uri = GetUri(spec.ScopeName, spec.Name); Logger.LogInformation($"Attempting drop collection {spec.ScopeName}/{spec.Name} - {uri}"); try { // check collection exists var collectionExists = await CollectionExistsAsync(spec, new CollectionExistsOptions { CancellationToken = options.CancellationToken }) .ConfigureAwait(false); if (!collectionExists) { throw new CollectionNotFoundException(spec.ScopeName, spec.Name); } // drop collection var createResult = await _client.DeleteAsync(uri, options.CancellationToken).ConfigureAwait(false); createResult.EnsureSuccessStatusCode(); } catch (Exception exception) { Logger.LogError(exception, $"Failed to drop collection {spec.ScopeName}/{spec.Name} - {uri}"); throw; } }
public static Task DropCollectionAsync(this ICollectionManager manager, CollectionSpec spec, Action <DropCollectionOptions> configureOptions) { var options = new DropCollectionOptions(); configureOptions(options); return(manager.DropCollectionAsync(spec, options)); }
public async Task DropCollectionAsync(CollectionSpec spec, DropCollectionOptions options = null) { options ??= DropCollectionOptions.Default; var uri = GetUri(spec.ScopeName, spec.Name); Logger.LogInformation($"Attempting drop collection {spec.ScopeName}/{spec.Name} - {uri}"); try { // drop collection var createResult = await _client.DeleteAsync(uri, options.TokenValue).ConfigureAwait(false); createResult.EnsureSuccessStatusCode(); } catch (Exception exception) { Logger.LogError(exception, $"Failed to drop collection {spec.ScopeName}/{spec.Name} - {uri}"); throw; } }
// public constructors public JsonDrivenDropCollectionTest(IMongoDatabase database, Dictionary <string, object> objectMap) : base(database, objectMap) { _dropCollectionOptions = new DropCollectionOptions(); }