public async Task Validate_FileNotExists_ReturnErrorCode() { // Arrange var blobStorageProviderMoq = new Mock <IBlobStorageProvider>(); blobStorageProviderMoq.Setup(x => x.GetBlobInfoAsync(It.IsAny <string>())) .ReturnsAsync((BlobInfo)null); var settingsManagerMoq = TestHelper.GetSettingsManagerMoq(); var validator = new CsvPriceDataValidator(blobStorageProviderMoq.Object, settingsManagerMoq.Object, new ImportConfigurationFactory()); // Act var result = await validator.ValidateAsync("file url"); // Assert Assert.Single(result.Errors); Assert.True(result.Errors[0].ErrorCode == ModuleConstants.ValidationErrors.FileNotExisted); }
public async Task Validate_FileWithoutError_ReturnEmptyErrors() { // Arrange var blobStorageProviderMoq = GetBlobStorageProviderMoq(); var stream = TestHelper.GetStream(CsvFileContentWithoutError); blobStorageProviderMoq.Setup(x => x.OpenRead(It.IsAny <string>())) .Returns(stream); var settingsManagerMoq = TestHelper.GetSettingsManagerMoq(); var validator = new CsvPriceDataValidator(blobStorageProviderMoq.Object, settingsManagerMoq.Object, new ImportConfigurationFactory()); // Act var result = await validator.ValidateAsync("file url"); // Assert Assert.Empty(result.Errors); }
public async Task Validate_NoData_ReturnErrorCode(string csv) { // Arrange var blobStorageProviderMoq = GetBlobStorageProviderMoq(); var stream = TestHelper.GetStream(csv); blobStorageProviderMoq.Setup(x => x.OpenRead(It.IsAny <string>())) .Returns(stream); var settingsManagerMoq = TestHelper.GetSettingsManagerMoq(); var validator = new CsvPriceDataValidator(blobStorageProviderMoq.Object, settingsManagerMoq.Object, new ImportConfigurationFactory()); // Act var result = await validator.ValidateAsync("file url"); // Assert Assert.Single(result.Errors); Assert.True(result.Errors[0].ErrorCode == ModuleConstants.ValidationErrors.NoData); }
public async Task Validate_ExceedingLineLimits_ReturnErrorCode() { // Arrange var blobStorageProviderMoq = GetBlobStorageProviderMoq(); var records = TestHelper.GetArrayOfSameRecords(CsvRecord, (int)ModuleConstants.Settings.General.ImportLimitOfLines.DefaultValue + 1); var stream = TestHelper.GetStream(TestHelper.GetCsv(records, CsvHeader)); blobStorageProviderMoq.Setup(x => x.OpenRead(It.IsAny <string>())) .Returns(stream); var settingsManagerMoq = TestHelper.GetSettingsManagerMoq(); var validator = new CsvPriceDataValidator(blobStorageProviderMoq.Object, settingsManagerMoq.Object, new ImportConfigurationFactory()); // Act var result = await validator.ValidateAsync("file url"); // Assert Assert.Single(result.Errors); Assert.True(result.Errors[0].ErrorCode == ModuleConstants.ValidationErrors.ExceedingLineLimits); }
public async Task Validate_FileWithLargeSize_ReturnErrorCode() { // Arrange var blobStorageProviderMoq = new Mock <IBlobStorageProvider>(); var blobInfo = new BlobInfo() { Size = (int)ModuleConstants.Settings.General.ImportFileMaxSize.DefaultValue * ModuleConstants.MByte + 1 }; blobStorageProviderMoq.Setup(x => x.GetBlobInfoAsync(It.IsAny <string>())) .Returns(Task.FromResult(blobInfo)); var settingsManagerMoq = TestHelper.GetSettingsManagerMoq(); var validator = new CsvPriceDataValidator(blobStorageProviderMoq.Object, settingsManagerMoq.Object, new ImportConfigurationFactory()); // Act var result = await validator.ValidateAsync("file url"); // Assert Assert.Single(result.Errors); Assert.True(result.Errors[0].ErrorCode == ModuleConstants.ValidationErrors.ExceedingFileMaxSize); }