public IActionResult GetMetricsByTimePeriod([FromRoute] DotNetMetricGetByTimePeriodRequest request) { logger.LogInformation($"From={request.From}|To={request.To}"); var requestDAL = mapper.Map <DAL.Requests.DotNetMetricGetByTimePeriodRequest>(request); var metrics = repository.GetByTimePeriod(requestDAL); var response = new DotNetMetricsResponse(); response.Metrics = metrics.Select(metric => mapper.Map <DotNetMetricDto>(metric)).ToList(); return(Ok(response)); }
public IList <DotNetMetric> GetByTimePeriod(DotNetMetricGetByTimePeriodRequest request) { using var connection = Connection.New(); var result = connection.Query <DotNetMetric>($"SELECT * FROM DotNetMetrics 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.DotNetMetricGetByTimePeriodRequest>())).Returns(new List <DotNetMetric>()); //Arrange DotNetMetricGetByTimePeriodRequest request = new DotNetMetricGetByTimePeriodRequest { 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.DotNetMetricGetByTimePeriodRequest>()), Times.AtMostOnce()); _ = Assert.IsAssignableFrom <IActionResult>(result); }