示例#1
0
        public void UniqueIdentifierProvider_Should_ReturnConcatKeyWithBothProvider()
        {
            IUniqueIdentifierProvider cpuBasedProvider = Substitute.For <IUniqueIdentifierProvider, CpuBasedIdentifierProvider>();
            IUniqueIdentifierProvider hddBasedProvider = Substitute.For <IUniqueIdentifierProvider, HddBasedIdentifierProvider>();

            const string cpuBasedKey = "cpuBasedKey";
            const string hddBasedKey = "hddBasedKey";

            cpuBasedProvider.Get().Returns(cpuBasedKey);
            hddBasedProvider.Get().Returns(hddBasedKey);

            // Registration order important!
            Register(hddBasedProvider);
            Register(cpuBasedProvider);

            LocalIocManager.ResolveAll <IUniqueIdentifierProvider>().BuildForAll().ShouldBe(hddBasedKey + cpuBasedKey);
        }
        public BatchUploadService(IUniqueIdentifierProvider batchIdentifiers,
                                  IDateTimeProvider dateTime,
                                  IBlobClient blobClient,
                                  IPublishingResiliencePolicies resiliencePolicies,
                                  ILogger logger)
        {
            Guard.ArgumentNotNull(batchIdentifiers, nameof(batchIdentifiers));
            Guard.ArgumentNotNull(blobClient, nameof(blobClient));
            Guard.ArgumentNotNull(resiliencePolicies?.BlobClient, "resiliencePolicies.BlobClient");
            Guard.ArgumentNotNull(dateTime, nameof(dateTime));
            Guard.ArgumentNotNull(logger, nameof(logger));

            _batchIdentifiers = batchIdentifiers;
            _blobClient       = blobClient;
            _dateTime         = dateTime;
            _blobResilience   = resiliencePolicies.BlobClient;
            _logger           = logger;
        }