public IActionResult GetMetricsByTimePeriod([FromRoute] RamMetricGetByTimePeriodRequest request) { logger.LogInformation($"From={request.From}|To={request.To}"); var requestDAL = mapper.Map <DAL.Requests.RamMetricGetByTimePeriodRequest>(request); var metrics = repository.GetByTimePeriod(requestDAL); var response = new RamMetricsResponse(); response.Metrics = metrics.Select(metric => mapper.Map <RamMetricDto>(metric)).ToList(); return(Ok(response)); }
public IList <RamMetric> GetByTimePeriod(RamMetricGetByTimePeriodRequest request) { using var connection = Connection.New(); var result = connection.Query <RamMetric>($"SELECT * FROM RamMetrics WHERE Time >= @from AND Time <= @to", new { from = request.From, to = request.To }); return(result.AsList()); }
public void GetMetricsByTimePeriod_ReturnsOk() { //Moq Setup repository.Setup(r => r.GetByTimePeriod(It.IsAny <MetricsAgent.DAL.Requests.RamMetricGetByTimePeriodRequest>())).Returns(new List <RamMetric>()); //Arrange RamMetricGetByTimePeriodRequest request = new RamMetricGetByTimePeriodRequest { From = DateTimeOffset.FromUnixTimeSeconds(0), To = DateTimeOffset.FromUnixTimeSeconds(100) }; //Act var result = controller.GetMetricsByTimePeriod(request); // Assert repository.Verify(r => r.GetByTimePeriod(It.IsAny <MetricsAgent.DAL.Requests.RamMetricGetByTimePeriodRequest>()), Times.AtMostOnce()); _ = Assert.IsAssignableFrom <IActionResult>(result); }