コード例 #1
0
        public void GetMetricsFromAgent_ShouldCall_From_Repository()
        {
            //Arrange
            var agentId  = 2;
            var fromTime = DateTimeOffset.MinValue;
            var toTime   = DateTimeOffset.Now;

            mockAgentsRepository
            .Setup(repository => repository.GetAllAgentsInfo())
            .Returns(GetTestAgentsInfo());

            mockRepository
            .Setup(repository => repository.GetInTimePeriod(
                       It.IsAny <int>(),
                       It.IsAny <DateTimeOffset>(),
                       It.IsAny <DateTimeOffset>()))
            .Returns(GetTestMetricFromAgent());

            //Act
            var result = controller.GetMetricsFromAgent(agentId, fromTime, toTime);

            // Assert
            var response = ((result as OkObjectResult).Value as AllHddMetricsResponse).Metrics;

            Assert.Equal(GetTestMetricFromAgent().Count, response.Count);
        }
コード例 #2
0
        public void GetMetricsFromAgent_ReturnsCorrectMetrics()
        {
            //Arrange
            var request = new HddMetricGetByIntervalForAgentRequest()
            {
                AgentId  = 1,
                FromTime = DateTimeOffset.MinValue,
                ToTime   = DateTimeOffset.Now
            };

            //фейковые метрики возвращаемые репозиторием
            var mockMetrics = new AllMetrics <HddMetric>();

            mockMetrics.Metrics.Add(new HddMetric()
            {
                AgentId = 1, Time = DateTimeOffset.MinValue, Value = 100
            });
            mockMetrics.Metrics.Add(new HddMetric()
            {
                AgentId = 1, Time = DateTimeOffset.UtcNow, Value = 121
            });

            mockRepository.
            Setup(repository => repository.GetByTimeInterval(It.IsAny <int>(), It.IsAny <DateTimeOffset>(), It.IsAny <DateTimeOffset>())).
            Returns(mockMetrics);

            //Act
            var result = controller.GetMetricsFromAgent(request);

            // Assert
            Assert.True(CompareMetricsContainers(result, mockMetrics));
        }
コード例 #3
0
        public void GetHddMetricsFromAgent()
        {
            //Arrange
            var fixture    = new Fixture();
            var returnList = fixture.Create <List <HddMetricModel> >();

            _repository.Setup(a => a.GetMetricsFromTimeToTimeFromAgent(It.IsAny <DateTimeOffset>(), It.IsAny <DateTimeOffset>(), 1))
            .Returns(returnList).Verifiable();
            //Act
            var result = (OkObjectResult)_controller.GetMetricsFromAgent(1,
                                                                         DateTimeOffset.FromUnixTimeSeconds(0),
                                                                         DateTimeOffset.FromUnixTimeSeconds(17000000000));
            var actualResult = (AllHddMetricsResponse)result.Value;

            //Assert
            _repository.Verify(repository => repository.GetMetricsFromTimeToTimeFromAgent(
                                   DateTimeOffset.FromUnixTimeSeconds(0),
                                   DateTimeOffset.FromUnixTimeSeconds(17000000000),
                                   1),
                               Times.Once());
            _ = Assert.IsAssignableFrom <IActionResult>(result);
            for (int i = 0; i < returnList.Count; i++)
            {
                Assert.Equal(returnList[i].Id, actualResult.Metrics[i].Id);
                Assert.Equal(returnList[i].Value, actualResult.Metrics[i].Value);
                Assert.Equal(returnList[i].IdAgent, actualResult.Metrics[i].IdAgent);
            }
            _logger.Verify();
        }
コード例 #4
0
        public void GetFromTimeToTime()
        {
            _mock.Setup(repository => repository.GetLast());

            var result = _controller.GetMetricsFromAgent();

            _mock.Verify(repository => repository.GetLast(), Times.AtMostOnce());
        }
コード例 #5
0
        public void GetMetricsFromAgent_ReturnsOk()
        {
            var agentId = 1;

            var result = _controller.GetMetricsFromAgent(agentId);

            _ = Assert.IsAssignableFrom<IActionResult>(result);
        }
コード例 #6
0
        public void GetMetricsFromAgent_ReturnsOk()
        {
            var left = 0;

            //Act
            var result = controller.GetMetricsFromAgent(left);

            // Assert
            _ = Assert.IsAssignableFrom <IActionResult>(result);
        }
コード例 #7
0
        public void GetMetricsFreeHddCheckRequest()
        {
            //Arrange
            _mock.Setup(a => a.GetAll()).Returns(new List <HddMetric>()).Verifiable();
            //Act
            var result = _controller.GetMetricsFromAgent();

            // Assert
            _mock.Verify(repository => repository.GetAll(), Times.AtMostOnce());
            _logger.Verify();
        }
コード例 #8
0
        public void GetMetricsFromAgent_ReturnsOK()
        {
            //Arrange
            var agentId  = 1;
            var fromTime = DateTimeOffset.FromUnixTimeSeconds(0);
            var toTime   = DateTimeOffset.FromUnixTimeSeconds(100);

            //Act
            var result = _controller.GetMetricsFromAgent(agentId, fromTime, toTime);

            //Assert
            _ = Assert.IsAssignableFrom <IActionResult>(result);
        }
コード例 #9
0
        public void GetMetricsFromAgent_ReturnOk()
        {
            //Arrange
            var agentId  = 1;
            var fromTime = DateTimeOffset.Now.AddDays(-4);
            var toTime   = DateTimeOffset.Now;

            //Act
            var result = controller.GetMetricsFromAgent(agentId, fromTime, toTime);

            //Assert
            _ = Assert.IsAssignableFrom <IActionResult>(result);
        }
コード例 #10
0
        public void GetMetricsFromAgent_ReturnsOk()
        {
            //Arrange
            var agentId  = 1;
            var fromTime = new DateTime(2012, 11, 11);
            var toTime   = new DateTime(2013, 11, 11);

            //Act
            var result = _controller.GetMetricsFromAgent(agentId, fromTime, toTime);

            // Assert
            _ = Assert.IsAssignableFrom <IActionResult>(result);
        }
コード例 #11
0
        public void GetMetricsFromAgent_ReturnsOk()
        {
            //Arrange
            var agentId  = 1;
            var fromTime = TimeSpan.FromSeconds(0);
            var toTime   = TimeSpan.FromSeconds(100);

            //Act
            var result = controller.GetMetricsFromAgent(agentId, fromTime, toTime);

            // Assert
            _ = Assert.IsAssignableFrom <IActionResult>(result);
        }
コード例 #12
0
        public async Task GetMetricsFromAgent_ReturnOk()
        {
            var request = new HddMetricGetByPeriodFromAgentQuery()
            {
                AgentId  = 2,
                FromTime = DateTimeOffset.Now.AddDays(-1),
                ToTime   = DateTimeOffset.Now
            };

            _mockMediator.Setup(mediator => mediator.Send(It.IsAny <HddMetricGetByPeriodFromAgentQuery>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(new HddMetricResponse()
            {
                Metrics = new List <HddMetricDto>()
                {
                    new HddMetricDto()
                    {
                        Id      = 1,
                        AgentId = 2,
                        Time    = DateTimeOffset.Now,
                        Value   = 99
                    }
                }
            });

            var result = await _controller.GetMetricsFromAgent(request);

            var resultValue = ((OkObjectResult)result).Value as HddMetricResponse;

            _mockMediator.Verify(mediator => mediator.Send(It.Is <HddMetricGetByPeriodFromAgentQuery>(
                                                               m => m.AgentId == request.AgentId && m.FromTime == request.FromTime && m.ToTime == request.ToTime),
                                                           It.IsAny <CancellationToken>()), Times.Once);
            Assert.Single(resultValue.Metrics);
            Assert.Equal(1, resultValue.Metrics[0].Id);
            Assert.Equal(request.AgentId, resultValue.Metrics[0].AgentId);
            Assert.Equal(99, resultValue.Metrics[0].Value);
            Assert.IsAssignableFrom <IActionResult>(result);
        }
コード例 #13
0
        public void GetMetricsFromAgentCheckRequestSelect()
        {
            //Arrange
            DateTimeOffset fromTime = DateTimeOffset.FromUnixTimeSeconds(3);
            DateTimeOffset toTime   = DateTimeOffset.FromUnixTimeSeconds(15);
            int            agentId  = 1;

            _mock.Setup(a => a.GetByPeriodFromAgent(fromTime, toTime, agentId)).Returns(new List <HddMetricModel>()).Verifiable();
            //Act
            var result = _controller.GetMetricsFromAgent(agentId, fromTime, toTime);

            //Assert
            _mock.Verify(repository => repository.GetByPeriodFromAgent(fromTime, toTime, agentId), Times.AtMostOnce());
            _logger.Verify();
        }
コード例 #14
0
        public void GetMetricsFromAgent_ReturnsOk()
        {
            //Подготовка данных
            var agentId = 1;
            var period  = new TimePeriod
            {
                From = DateTimeOffset.FromUnixTimeSeconds(0),
                To   = DateTimeOffset.FromUnixTimeSeconds(100)
            };

            //Действие
            var result = _controller.GetMetricsFromAgent(agentId, period);

            //Проверка результата
            _ = Assert.IsAssignableFrom <IActionResult>(result);
        }
コード例 #15
0
        public void GetMetricsFromAgent_ReturnsOk()
        {
            var fixture    = new Fixture();
            var returnList = fixture.Create <List <HddMetrics> >();

            _mock.Setup(repository => repository.GetByTimeInterval(It.IsAny <DateTimeOffset>(), It.IsAny <DateTimeOffset>())).Returns(returnList);

            var fromTime = DateTimeOffset.Now.AddHours(-1);
            var toTime   = DateTimeOffset.Now;
            var result   = (OkObjectResult)_controller.GetMetricsFromAgent(fromTime, toTime);

            var actualResult = (AllHddMetricsApiResponse)result.Value;

            _mock.Verify(repository => repository.GetByTimeInterval(It.IsAny <DateTimeOffset>(), It.IsAny <DateTimeOffset>()));
            _ = Assert.IsAssignableFrom <IActionResult>(result);
            Assert.Equal(returnList[0].Id, actualResult.Metrics[0].Id);
        }
コード例 #16
0
        public void GetHddMetricsFromAgent_ReturnsOk()
        {
            var fixture    = new Fixture();
            var returnList = fixture.Create <List <HddMetric> >();

            _repositoryMock.Setup(repository => repository.GetByTimePeriod(It.IsAny <int>(), It.IsAny <DateTimeOffset>(), It.IsAny <DateTimeOffset>()))
            .Returns((IList <HddMetric>)returnList);

            var agentId      = 1;
            var fromTime     = DateTimeOffset.Now - new TimeSpan(0, 0, 100);
            var toTime       = DateTimeOffset.Now;
            var result       = (OkObjectResult)_controller.GetMetricsFromAgent(agentId, fromTime, toTime);
            var actualResult = (List <HddMetric>)result.Value;

            _repositoryMock.Verify(repository => repository.GetByTimePeriod(It.IsAny <int>(), It.IsAny <DateTimeOffset>(), It.IsAny <DateTimeOffset>()));
            _ = Assert.IsAssignableFrom <IActionResult>(result);
            Assert.Equal(returnList[0].Id, actualResult[0].Id);
        }
コード例 #17
0
        public void GetMetricsFromAgent_ReturnOk()
        {
            var result = _controller.GetMetricsFromAgent(_agentId, _fromTime, _toTime);

            Assert.IsAssignableFrom <IActionResult>(result);
        }