public async Task GetBucketAsync_Disposed_Exception() { // Arrange var clusterProvider = new Mock <IClusterProvider>(); var provider = new BucketProvider(clusterProvider.Object); provider.Dispose(); // Act/Assert var ex = await Assert.ThrowsAsync <ObjectDisposedException>(() => provider.GetBucketAsync("bucket1").AsTask()); Assert.Equal(nameof(BucketProvider), ex.ObjectName); }
public void GetBucket_Disposed_Exception() { // Arrange var clusterProvider = new Mock <IClusterProvider>(); var provider = new BucketProvider(clusterProvider.Object); provider.Dispose(); // Act/Assert var ex = Assert.Throws <ObjectDisposedException>(() => provider.GetBucket("bucket1")); Assert.Equal(nameof(BucketProvider), ex.ObjectName); }
public void Dispose_DisposesBuckets() { // Arrange var bucket1 = new Mock <IBucket>(); bucket1.Setup(m => m.Dispose()); var bucket2 = new Mock <IBucket>(); bucket2.Setup(m => m.Dispose()); var cluster = new Mock <ICluster>(); cluster .Setup(m => m.OpenBucket("bucket1")) .Returns(bucket1.Object); cluster .Setup(m => m.OpenBucket("bucket2")) .Returns(bucket2.Object); cluster .SetupGet(m => m.Configuration) .Returns(new ClientConfiguration() { BucketConfigs = new Dictionary <string, BucketConfiguration>() }); var clusterProvider = new Mock <IClusterProvider>(); clusterProvider .Setup(m => m.GetCluster()) .Returns(cluster.Object); var provider = new BucketProvider(clusterProvider.Object); provider.GetBucket("bucket1"); provider.GetBucket("bucket2"); // Act provider.Dispose(); // Assert bucket1.Verify(m => m.Dispose(), Times.AtLeastOnce); bucket2.Verify(m => m.Dispose(), Times.AtLeastOnce); }
public async Task Dispose_DisposesBuckets() { // Arrange var bucket1 = new Mock <IBucket>(); bucket1.Setup(m => m.Dispose()); var bucket2 = new Mock <IBucket>(); bucket2.Setup(m => m.Dispose()); var cluster = new Mock <ICluster>(); cluster .Setup(m => m.BucketAsync("bucket1")) .ReturnsAsync(bucket1.Object); cluster .Setup(m => m.BucketAsync("bucket2")) .ReturnsAsync(bucket2.Object); var clusterProvider = new Mock <IClusterProvider>(); clusterProvider .Setup(m => m.GetClusterAsync()) .ReturnsAsync(cluster.Object); var provider = new BucketProvider(clusterProvider.Object); await provider.GetBucketAsync("bucket1"); await provider.GetBucketAsync("bucket2"); // Act provider.Dispose(); // Assert bucket1.Verify(m => m.Dispose(), Times.AtLeastOnce); bucket2.Verify(m => m.Dispose(), Times.AtLeastOnce); }