public async Task WebUptimeMetricLogic_CollectMetricData_SomeServersDown() { //Arrange var metricData = new MetricData(); var webUptime = new WebUptime { SuccessfulSamples = 9, TotalSamples = 10 }; metricDataService.Setup(s => s.GetData <WebUptime>(metricData)).Returns(webUptime); SetupHttpClientAdditionalResponses(new Uri("http://127.0.0.1/Relativity/"), HttpStatusCode.NotFound); SetupHttpClientAdditionalResponses(new Uri("https://127.0.0.1/Relativity/"), HttpStatusCode.NotFound); SetupHttpClientAdditionalResponses(new Uri("http://1.com/Relativity/"), HttpStatusCode.NotFound); SetupHttpClientAdditionalResponses(new Uri("https://1.com/Relativity/"), HttpStatusCode.NotFound); serverRepository.Setup(r => r.ReadAllActiveAsync()).ReturnsAsync(servers); var logic = new WebUptimeMetricLogic(httpClientFactoryMock.Object, serverRepository.Object, metricDataService.Object, configRepository.Object, logger.Object); //Act var result = await logic.CollectMetricData(metricData); //Assert var resultWebUptime = (WebUptime)result; Assert.That(result, Is.Not.Null); Assert.That(resultWebUptime, Is.Not.Null); Assert.That(resultWebUptime.SuccessfulSamples, Is.EqualTo(10)); Assert.That(resultWebUptime.TotalSamples, Is.EqualTo(11)); }
public async Task WebUptimeMetricLogic_CollectMetricData_NoWebServers() { //Arrange var metricData = new MetricData(); var webUptime = new WebUptime { SuccessfulSamples = 9, TotalSamples = 10 }; metricDataService.Setup(s => s.GetData <WebUptime>(metricData)).Returns(webUptime); serverRepository.Setup(r => r.ReadAllActiveAsync()).ReturnsAsync(new List <Server>()); var logic = new WebUptimeMetricLogic(httpClientFactoryMock.Object, serverRepository.Object, metricDataService.Object, configRepository.Object, logger.Object); //Act var result = await logic.CollectMetricData(metricData); //Assert var resultWebUptime = (WebUptime)result; Assert.That(result, Is.Not.Null); Assert.That(resultWebUptime, Is.Not.Null); Assert.That(resultWebUptime.SuccessfulSamples, Is.EqualTo(9)); Assert.That(resultWebUptime.TotalSamples, Is.EqualTo(11)); }
public async Task WebUptimeMetricLogic_CollectMetricData_SuggestedUrl() { //Arrange var metricData = new MetricData(); var webUptime = new WebUptime { SuccessfulSamples = 9, TotalSamples = 10 }; var suggestedUrl = "http://www.google.com"; SetupHttpClientAdditionalResponses(new Uri(suggestedUrl), HttpStatusCode.OK); metricDataService.Setup(s => s.GetData <WebUptime>(metricData)).Returns(webUptime); configRepository.Setup(r => r.ReadConfigurationValue(ConfigurationKeys.Section, ConfigurationKeys.WebUptimeUserAgent)).Returns("Chrome"); configRepository.Setup(r => r.ReadConfigurationValue(ConfigurationKeys.Section, ConfigurationKeys.SuggestedWebUptimeUrl)).Returns(suggestedUrl); var logic = new WebUptimeMetricLogic(httpClientFactoryMock.Object, serverRepository.Object, metricDataService.Object, configRepository.Object, logger.Object); //Act var result = await logic.CollectMetricData(metricData); //Assert var resultWebUptime = (WebUptime)result; Assert.That(result, Is.Not.Null); Assert.That(resultWebUptime, Is.Not.Null); Assert.That(resultWebUptime.SuccessfulSamples, Is.EqualTo(10)); Assert.That(resultWebUptime.TotalSamples, Is.EqualTo(11)); }
public async Task WebUptimeMetricLogic_ScoreMetric() { //Arrange var metricData = new MetricData(); var webUptime = new WebUptime { SuccessfulSamples = 9, TotalSamples = 10 }; metricDataService.Setup(s => s.GetData <WebUptime>(metricData)).Returns(webUptime); var logic = new WebUptimeMetricLogic(httpClientFactoryMock.Object, serverRepository.Object, metricDataService.Object, configRepository.Object, logger.Object); //Act var result = await logic.ScoreMetric(metricData); //Assert Assert.That(result, Is.EqualTo(90.0m)); }