public async Task GetMetricsByPeriod_ReturnOk() { var request = new HddMetricGetByPeriodQuery() { FromTime = DateTimeOffset.Now.AddDays(-5), ToTime = DateTimeOffset.Now }; _mockMediator.Setup(mediator => mediator.Send(It.IsAny <HddMetricGetByPeriodQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new AgentHddMetricResponse() { Metrics = new List <AgentHddMetricDto>() { new AgentHddMetricDto() { Id = 1, Time = DateTimeOffset.Now, Value = 99 } } }); var result = await _controller.GetMetricsByPeriod(request); var resultValue = ((OkObjectResult)result).Value as AgentHddMetricResponse; _mockMediator.Verify(mediator => mediator.Send(It.Is <HddMetricGetByPeriodQuery>( m => m.FromTime == request.FromTime && m.ToTime == request.ToTime), It.IsAny <CancellationToken>()), Times.Once); _mockMediator.Verify(mediator => mediator.Send(It.IsAny <HddMetricGetByPeriodQuery>(), It.IsAny <CancellationToken>()), Times.Once); Assert.Single(resultValue.Metrics); Assert.Equal(1, resultValue.Metrics[0].Id); Assert.Equal(99, resultValue.Metrics[0].Value); Assert.IsAssignableFrom <IActionResult>(result); }
public async Task <IActionResult> GetMetricsFromAllCluster([FromRoute] HddMetricGetByPeriodQuery request) { _logger.LogInformation($"Hdd GetMetricsFromAllCluster Parameters: {request}"); var response = await _mediator.Send(request); return(Ok(response)); }
public void GetMetricsByPeriod_ShouldCall_LogInformation() { var request = new HddMetricGetByPeriodQuery() { FromTime = DateTimeOffset.Now.AddDays(-5), ToTime = DateTimeOffset.Now }; _mockMediator.Setup(mediator => mediator.Send(It.IsAny <HddMetricGetByPeriodQuery>(), It.IsAny <CancellationToken>())).ReturnsAsync(new AgentHddMetricResponse()); var logText = $"Parameters: FromTime={request.FromTime} ToTime={request.ToTime}"; _ = _controller.GetMetricsByPeriod(request); _mockLogger.Verify( x => x.Log( It.Is <LogLevel>(l => l == LogLevel.Information), It.IsAny <EventId>(), It.Is <It.IsAnyType>((v, t) => v.ToString().CompareTo(logText) == 0), It.IsAny <Exception>(), It.Is <Func <It.IsAnyType, Exception, string> >((v, t) => true))); }