public static void ThrowIfUnsuccessful(this AgentQueryResultSet results, string initialMessage = null) { if (!results.Success) { var sb = new StringBuilder(); if (!string.IsNullOrEmpty(initialMessage)) { sb.AppendLine(initialMessage); } sb.Append(results.Message); foreach (var r in results.Results) { if (!r.Success) { sb.AppendLine(r.Message); } } throw new Exception(sb.ToString()); } }
public async Task StartPerformanceDashboardAgentsAsync_Success() { // Arrange var agentArtifactId1 = 1; var agentArtifactId2 = 2; var agents = new List <int> { agentArtifactId1, agentArtifactId2 }; this.agentRepositoryMock.Setup(m => m.ReadAgentsAsync(Guids.Agent.CurrentAgentGuids)).ReturnsAsync(agents); var enabledQueryAgentsResult = new AgentQueryResultSet { Success = true, Results = new List <Result <Agent> > { new Result <Agent> { Success = true, Artifact = new Agent { ArtifactID = agentArtifactId1, Enabled = true } }, new Result <Agent> { Success = true, Artifact = new Agent { ArtifactID = agentArtifactId2, Enabled = true } } } }; var disabledQueryAgentsResult = new AgentQueryResultSet { Success = true, Results = new List <Result <Agent> > { new Result <Agent> { Success = true, Artifact = new Agent { ArtifactID = agentArtifactId1, Enabled = false } }, new Result <Agent> { Success = true, Artifact = new Agent { ArtifactID = agentArtifactId2, Enabled = false } } } }; this.agentManagerMock.SetupSequence(m => m.QueryAsync(It.Is <Query>(q => q.Condition == new WholeNumberCondition( "ArtifactID", NumericConditionEnum.In, agents.ToList()).ToQueryString()))) .ReturnsAsync(disabledQueryAgentsResult) // First read the disabled agents .ReturnsAsync(enabledQueryAgentsResult) // After update, read the successfully on agents ; this.agentManagerMock .Setup(m => m.UpdateSingleAsync(It.Is <Agent>(a => a.Enabled == true))) .Returns(Task.Delay(1)); // Act await this.agentManagerService.StartPerformanceDashboardAgentsAsync(); // Assert this.agentManagerMock.VerifyAll(); this.agentRepositoryMock.VerifyAll(); this.agentManagerMock.Verify(m => m.UpdateSingleAsync(It.Is <Agent>(a => a.Enabled == true)), Times.Exactly(agents.Count)); }