コード例 #1
0
        public void GetMetricsByInterval_ReturnsCorrectMetrics()
        {
            //Arrange
            //Arrange
            var request = new DotNetMetricGetByIntervalRequest()
            {
                FromTime = DateTimeOffset.MinValue,
                ToTime   = DateTimeOffset.Now
            };

            //фейковые метрики возвращаемые репозиторием
            var mockMetrics = new List <DotNetMetric>()
            {
                { new DotNetMetric()
                  {
                      Time = DateTimeOffset.MinValue, Value = 100
                  } },
                { new DotNetMetric()
                  {
                      Time = DateTimeOffset.UtcNow, Value = 121
                  } }
            };

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

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

            var response = ((result as OkObjectResult).Value as AllDotNetMetricsResponse).Metrics;

            //сравнение полученных значений с ожидаемыми значениями
            bool check = true;

            if (mockMetrics.Count == response.Count)
            {
                for (int i = 0; i < mockMetrics.Count; i++)
                {
                    if ((mockMetrics[i].Value != response[i].Value) ||
                        (mockMetrics[i].Time != response[i].Time))
                    {
                        check = false;
                    }
                }
            }
            else
            {
                check = false;
            }

            // Assert
            Assert.True(check);
        }
コード例 #2
0
        public void GetMetricsFromAgent_ReturnsOk()
        {
            //Arrange
            var fromTime = TimeSpan.FromSeconds(0);
            var toTime   = TimeSpan.FromSeconds(100);

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

            // Assert
            _ = Assert.IsAssignableFrom <IActionResult>(result);
        }
コード例 #3
0
        public void GetMetrics_ShouldCall_GetInTimePeriod_From_Repository()
        {
            var fromTime = DateTimeOffset.MinValue;
            var toTime   = DateTimeOffset.Now;

            // Arrange
            mockRepository
            .Setup(repository => repository.GetInTimePeriod(It.IsAny <DateTimeOffset>(), It.IsAny <DateTimeOffset>()))
            .Returns(GetTestDotNetMetric());

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

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

            Assert.Equal(GetTestDotNetMetric().Count, response.Count);
        }