public void GetMetricsByPercentileFromAgent_ReturnsCorrectMetric() { //Arrange var request = new RamMetricGetByIntervalForAgentRequest() { AgentId = 1, FromTime = DateTimeOffset.MinValue, ToTime = DateTimeOffset.Now }; var percentile = Percentile.P90; //фейковые метрики возвращаемые репозиторием var mockMetrics = new AllMetrics <RamMetric>(); mockMetrics.Metrics.Add(new RamMetric() { AgentId = 1, Time = DateTimeOffset.MinValue, Value = 100 }); mockRepository. Setup(repository => repository.GetByTimeIntervalPercentile( It.IsAny <int>(), It.IsAny <DateTimeOffset>(), It.IsAny <DateTimeOffset>(), It.IsAny <Percentile>())). Returns(mockMetrics); //Act var result = controller.GetMetricsByPercentileFromAgent(request, percentile); // Assert Assert.True(CompareMetricsContainers(result, mockMetrics)); }
public IActionResult GetMetricsFromAgent([FromRoute] RamMetricGetByIntervalForAgentRequest request) { _logger.LogDebug("Вызов метода. Параметры:" + $" {nameof(request.AgentId)} = {request.AgentId}" + $" {nameof(request.FromTime)} = {request.FromTime}" + $" {nameof(request.ToTime)} = {request.ToTime}"); var metrics = _repository.GetByTimeInterval(request.AgentId, request.FromTime, request.ToTime); var response = new AllMetricsResponse <RamMetricDto>(); foreach (var metric in metrics.Metrics) { response.Metrics.Add(_mapper.Map <RamMetricDto>(metric)); } return(Ok(response)); }