public BlobClientProvider(
            BlobDataStoreConfiguration blobDataStoreConfiguration,
            IBlobClientInitializer blobClientInitializer,
            ILogger <BlobClientProvider> logger,
            IEnumerable <IBlobContainerInitializer> collectionInitializers)
        {
            EnsureArg.IsNotNull(blobDataStoreConfiguration, nameof(blobDataStoreConfiguration));
            EnsureArg.IsNotNull(blobClientInitializer, nameof(blobClientInitializer));
            EnsureArg.IsNotNull(logger, nameof(logger));
            EnsureArg.IsNotNull(collectionInitializers, nameof(collectionInitializers));

            _blobServiceClient = blobClientInitializer.CreateBlobClient(blobDataStoreConfiguration);

            _initializationOperation = new RetryableInitializationOperation(
                () => blobClientInitializer.InitializeDataStoreAsync(_blobServiceClient, blobDataStoreConfiguration, collectionInitializers));
        }
Beispiel #2
0
        public BlobClientInitializerTests()
        {
            _blobContainerClient1 = Substitute.For <BlobContainerClient>(new Uri("https://www.microsoft.com/"), new BlobClientOptions());
            _blobContainerClient2 = Substitute.For <BlobContainerClient>(new Uri("https://www.microsoft.com/"), new BlobClientOptions());

            IBlobClientTestProvider blobClientTestProvider = Substitute.For <IBlobClientTestProvider>();

            _blobClient = Substitute.For <BlobServiceClient>(new Uri("https://www.microsoft.com/"), null);
            _blobClient.GetBlobContainerClient(TestContainerName1).Returns(_blobContainerClient1);
            _blobClient.GetBlobContainerClient(TestContainerName2).Returns(_blobContainerClient2);

            _blobClientInitializer  = new BlobClientInitializer(blobClientTestProvider, NullLogger <BlobClientInitializer> .Instance);
            _containerInitializer1  = Substitute.For <BlobContainerInitializer>(TestContainerName1, NullLogger <BlobContainerInitializer> .Instance);
            _containerInitializer2  = Substitute.For <BlobContainerInitializer>(TestContainerName2, NullLogger <BlobContainerInitializer> .Instance);
            _collectionInitializers = new List <IBlobContainerInitializer> {
                _containerInitializer1, _containerInitializer2
            };
        }