public async Task ZipTest(string file, string expectedRule) { string foundRule = string.Empty; Mock <ILogger> logger = new Mock <ILogger>(); IPreValidationContext preValidationContext = new PreValidationContext { Input = file, JobId = "1" }; Mock <IStreamableKeyValuePersistenceService> streamableKeyValuePersistenceService = new Mock <IStreamableKeyValuePersistenceService>(); streamableKeyValuePersistenceService .Setup(x => x.GetAsync(It.IsAny <string>(), It.IsAny <Stream>(), It.IsAny <CancellationToken>())) .Callback <string, Stream, CancellationToken>((str, s, c) => File.Open(file, FileMode.Open).CopyTo(s)) .Returns(Task.CompletedTask); streamableKeyValuePersistenceService .Setup(x => x.SaveAsync(It.IsAny <string>(), It.IsAny <Stream>(), It.IsAny <CancellationToken>())) .Returns(Task.CompletedTask) .Verifiable(); Mock <IValidationErrorHandler> validationErrorHandler = new Mock <IValidationErrorHandler>(); validationErrorHandler.Setup(x => x.Handle(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <long?>(), It.IsAny <IEnumerable <IErrorMessageParameter> >())) .Callback <string, string, long?, IEnumerable <IErrorMessageParameter> >((ruleName, learnRef, aimSeqNum, parms) => foundRule = ruleName) .Verifiable(); Mock <IDateTimeProvider> dateTimeProvider = new Mock <IDateTimeProvider>(); dateTimeProvider.Setup(x => x.GetNowUtc()).Returns(DateTime.UtcNow); IMessageStreamProviderService messageStreamProviderService = new AzureStorageCompressedFileContentStringProviderService( preValidationContext, logger.Object, streamableKeyValuePersistenceService.Object, validationErrorHandler.Object, dateTimeProvider.Object); Stream stream = await messageStreamProviderService.Provide(CancellationToken.None); Assert.Null(stream); validationErrorHandler.Verify(); Assert.Equal(expectedRule, foundRule); }
public async Task ValidTest() { const string file = @"Files\ILR_Valid.zip"; Mock <ILogger> logger = new Mock <ILogger>(); IPreValidationContext preValidationContext = new PreValidationContext { Input = file, JobId = "1" }; Mock <IStreamableKeyValuePersistenceService> streamableKeyValuePersistenceService = new Mock <IStreamableKeyValuePersistenceService>(); streamableKeyValuePersistenceService .Setup(x => x.GetAsync(It.IsAny <string>(), It.IsAny <Stream>(), It.IsAny <CancellationToken>())) .Callback <string, Stream, CancellationToken>((str, s, c) => File.Open(file, FileMode.Open).CopyTo(s)) .Returns(Task.CompletedTask); streamableKeyValuePersistenceService .Setup(x => x.SaveAsync(It.IsAny <string>(), It.IsAny <Stream>(), It.IsAny <CancellationToken>())) .Returns(Task.CompletedTask) .Verifiable(); Mock <IValidationErrorHandler> validationErrorHandler = new Mock <IValidationErrorHandler>(); Mock <IDateTimeProvider> dateTimeProvider = new Mock <IDateTimeProvider>(); dateTimeProvider.Setup(x => x.GetNowUtc()).Returns(DateTime.UtcNow); IMessageStreamProviderService messageStreamProviderService = new AzureStorageCompressedFileContentStringProviderService( preValidationContext, logger.Object, streamableKeyValuePersistenceService.Object, validationErrorHandler.Object, dateTimeProvider.Object); Stream stream = await messageStreamProviderService.Provide(CancellationToken.None); Assert.NotNull(stream); }