public void Read_ReturnsCorrectAgentsInfo() { //Arrange //фейковые данные об агентах var mockAgentsInfo = new AllAgentsInfo(); mockAgentsInfo.Agents.Add(new AgentInfo() { AgentId = 1, AgentUri = "url1" }); mockAgentsInfo.Agents.Add(new AgentInfo() { AgentId = 2, AgentUri = "url2" }); mockAgentsRepository. Setup(repository => repository.GetAllAgentsInfo()). Returns(mockAgentsInfo); //Act var result = controller.Read(); var responseMetrics = ((result as OkObjectResult).Value as AllAgentsInfoResponse); bool check = true; if (mockAgentsInfo.Agents.Count == responseMetrics.Agents.Count) { for (int i = 0; i < mockAgentsInfo.Agents.Count; i++) { if ((mockAgentsInfo.Agents[i].AgentId != responseMetrics.Agents[i].AgentId) || (mockAgentsInfo.Agents[i].AgentUri != responseMetrics.Agents[i].AgentUri)) { check = false; //Если хоть одоин элемент в любой паре метрик не совпадает - проверка провалена } } } else //Если длина контейнеров не совпадает - проверка провалена { check = false; } // Assert Assert.True(check); }
public AllAgentsInfo GetAllAgentsInfo() { var agentsInfo = new AllAgentsInfo(); using (var connection = new SQLiteConnection(mySql.ConnectionString)) { try { agentsInfo.Agents = connection.Query <AgentInfo>( "SELECT * " + $"FROM {mySql.AgentsTable} ").ToList(); } catch (Exception ex) { _logger.LogDebug(ex.Message); } } return(agentsInfo); }
public void GetMetricsByPercentileFromAllCluster_ReturnsOk() { //Arrange var request = new DotNetMetricGetByIntervalForClusterRequest() { FromTime = DateTimeOffset.MinValue, ToTime = DateTimeOffset.Now }; var percentile = Percentile.P95; //фейковые данные об агентах var mockAgentsInfo = new AllAgentsInfo(); mockAgentsInfo.Agents.Add(new AgentInfo() { AgentId = 1, AgentUri = "url1" }); mockAgentsInfo.Agents.Add(new AgentInfo() { AgentId = 2, AgentUri = "url2" }); mockAgentsRepository. Setup(repository => repository.GetAllAgentsInfo()). Returns(mockAgentsInfo); //фейковые метрики возвращаемые репозиторием для всех агентов var mockMetrics = new AllMetrics <DotNetMetric>(); mockMetrics.Metrics.Add(new DotNetMetric() { AgentId = 1, Time = DateTimeOffset.MinValue, Value = 100 }); mockMetrics.Metrics.Add(new DotNetMetric() { AgentId = 2, Time = DateTimeOffset.UtcNow, Value = 122 }); //фейковые метрики возвращаемые репозиторием для первого агента var mockMetricsForAgent_1 = new AllMetrics <DotNetMetric>(); mockMetricsForAgent_1.Metrics.Add(mockMetrics.Metrics[0]); //фейковые метрики возвращаемые репозиторием для второго агента var mockMetricsForAgent_2 = new AllMetrics <DotNetMetric>(); mockMetricsForAgent_2.Metrics.Add(mockMetrics.Metrics[1]); mockRepository. Setup(repository => repository.GetByTimeIntervalPercentile( It.Is <int>(agentId => agentId == 1), It.IsAny <DateTimeOffset>(), It.IsAny <DateTimeOffset>(), It.IsAny <Percentile>())). Returns(mockMetricsForAgent_1); mockRepository. Setup(repository => repository.GetByTimeIntervalPercentile( It.Is <int>(agentId => agentId == 2), It.IsAny <DateTimeOffset>(), It.IsAny <DateTimeOffset>(), It.IsAny <Percentile>())). Returns(mockMetricsForAgent_2); //Act var result = controller.GetMetricsByPercentileFromAllCluster(request, percentile); // Assert Assert.True(CompareMetricsContainers(result, mockMetrics)); }