public async Task WhenPartitionProvided_ShouldQueueMessage() { //Arrange var total = 100; var free = 50; var path = @"c:\"; var maxPercentageUsage = 10; var title = "title"; var content = "content"; var diskDriveConfig = new DiskDriveConfigBuilder() .WithEnabled(true) .WithPartitions(new List <DiskDriveConfig.Partition>() { new DiskDriveConfig.Partition() { Path = path, MaxPercentageUsage = maxPercentageUsage } }) .Build(); var appConfig = new AppConfigBuilder() .WithDiskDrive(diskDriveConfig) .Build(); this.Context.ConfigMock.Mock_Config(appConfig); var metrics = new DiskDriveMetricsBuilder() .WithPath(path) .WithTotal(total) .WithFree(free) .Build(); this.Context.DiskDriveInfoMock.Mock_GetDiskDriveMetrics(metrics); var message = new MessageBuilder() .WithTitle(title) .WithContent(content) .Build(); this.Context.MessageConverterMock.Mock_Get((Expression <Func <DiskDriveMetrics, bool> >)(x => x.Path == path && x.Total == total && x.Free == free), message); var service = this.Context.Build(); //Act await service.DoWorkAsync(); //Assert this.Context.DiskDriveInfoMock.Verify_GetDiskDriveMetricsCalled(x => x.Path == path && x.MaxPercentageUsage == maxPercentageUsage, Times.Once()); this.Context.MessageConverterMock.Verify_GetCalled(x => x.Path == path && x.Total == total && x.Free == free, Times.Once()); this.Context.MessageQueueServiceMock.Verify_EnqueueCalled(x => x.Title == title && x.Content == content, Times.Once()); }
public async Task WhenDiskDriveMetricsWithAppConfigProvidedWithReportMode_ShouldReturnMessage() { //Arrange string path = @"c:\"; var diskDriveConfig = new DiskDriveConfigBuilder() .WithPartitions(new List <DiskDriveConfig.Partition>() { new DiskDriveConfig.Partition() { Path = path, MaxPercentageUsage = 10 } }) .WithReportMode(true) .Build(); var config = new AppConfigBuilder() .WithDiskDrive(diskDriveConfig) .Build(); var converter = this.Context .WithAppConfig(config) .Build(); var diskDriveMetrics = new DiskDriveMetricsBuilder() .WithPath(path) .WithIsReady(true) .WithTotal(10) .WithFree(10) .Build(); //Act var message = await converter.GetAsync(diskDriveMetrics); //Assert Assert.AreEqual($"DiskDrive - {path}", message.Title); Assert.AreEqual("Capacity: 10B\r\nFree space: 10B", message.Content); }
public async Task WhenDiskDriveMetricsWithNotIsReadyWithAppConfigProvided_ShouldReturnMessage() { //Arrange string path = @"c:\"; var diskDriveConfig = new DiskDriveConfigBuilder() .WithPartitions(new List <DiskDriveConfig.Partition>() { new DiskDriveConfig.Partition() { Path = path, MaxPercentageUsage = 90 } }) .Build(); var config = new AppConfigBuilder() .WithDiskDrive(diskDriveConfig) .WithTest(true) .Build(); var converter = this.Context .WithAppConfig(config) .Build(); var diskDriveMetrics = new DiskDriveMetricsBuilder() .WithPath(path) .WithIsReady(false) .WithTotal(10) .WithFree(9) .Build(); //Act var message = await converter.GetAsync(diskDriveMetrics); //Assert Assert.AreEqual($"Warning - DiskDrive - {path}", message.Title); Assert.AreEqual("Drive c:\\ is not ready!", message.Content); }
public async Task WhenDiskDriveMetricsWithAppConfigProvidedWithoutReportModeWithoutWarningWithoutTest_ShouldReturnNull() { //Arrange string path = @"c:\"; var diskDriveConfig = new DiskDriveConfigBuilder() .WithPartitions(new List <DiskDriveConfig.Partition>() { new DiskDriveConfig.Partition() { Path = path, MaxPercentageUsage = 10 } }) .WithReportMode(false) .Build(); var config = new AppConfigBuilder() .WithDiskDrive(diskDriveConfig) .Build(); var converter = this.Context .WithAppConfig(config) .Build(); var diskDriveMetrics = new DiskDriveMetricsBuilder() .WithPath(path) .WithIsReady(true) .WithTotal(10) .WithFree(10) .Build(); //Act var message = await converter.GetAsync(diskDriveMetrics); //Assert Assert.IsNull(message); }