Пример #1
0
        public async Task DisposeAsync_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

            await provider.DisposeAsync();

            // Assert

            bucket1.Verify(m => m.DisposeAsync(), Times.AtLeastOnce);
            bucket2.Verify(m => m.DisposeAsync(), Times.AtLeastOnce);
        }