Пример #1
0
        public async Task AgentUptimeMetricLogic_ScoreMetric_NoSamples()
        {
            //Arrange
            var metric = new MetricData {
                Metric = new Metric {
                    Hour = new Hour {
                        HourTimeStamp = DateTime.UtcNow
                    }
                }
            };

            metricDataService.Setup(mds => mds.GetData <AgentUptime>(It.IsAny <MetricData>())).Returns(new AgentUptime {
                SuccessfulSamples = 0, TotalSamples = 0
            });
            agentHistoryRepository.Setup(r => r.ReadEarliestAsync()).ReturnsAsync(new AgentHistory {
                TimeStamp = DateTime.UtcNow.AddYears(-10)
            });

            var logic = new AgentUptimeMetricLogic(agentHistoryRepository.Object, metricDataService.Object, this.loggerMock.Object);

            //Act
            var result = await logic.ScoreMetric(metric);

            //Assert
            Assert.That(result, Is.EqualTo(Defaults.Scores.Zero));
        }
Пример #2
0
        public async Task AgentUptimeMetricLogic_CollectMetricData_NewAgentUptime()
        {
            //Arrange
            var metric = new MetricData {
                Metric = new Metric {
                    Hour = new Hour()
                }
            };

            metricDataService.Setup(mds => mds.GetData <AgentUptime>(It.IsAny <MetricData>())).Returns((AgentUptime)null);
            agentHistoryRepository.Setup(r => r.ReadByHourAsync(It.IsAny <Hour>()))
            .ReturnsAsync(Enumerable.Range(0, 100).Select(i => new AgentHistory {
                Successful = i % 10 != 0
            }).ToList());
            var logic = new AgentUptimeMetricLogic(agentHistoryRepository.Object, metricDataService.Object, this.loggerMock.Object);

            //Act
            var result = await logic.CollectMetricData(metric);

            //Assert
            Assert.That(result, Is.Not.Null);
        }