use of com.synopsys.integration.alert.api.channel.issue.model.IssueComponentUnknownVersionDetails in project hub-alert by blackducksoftware.
the class IssueComponentUnknownDetailsConverterTest method createComponentUnknownDetailsAddTest.
@Test
public void createComponentUnknownDetailsAddTest() {
IssueComponentUnknownVersionDetails details = createDetails(ItemOperation.ADD);
List<String> sectionPieces = callCreateSectionPieces(details);
int headerSize = 3;
int severityCounts = (2 * details.getEstimatedRiskModelList().size());
assertEquals(headerSize + severityCounts, sectionPieces.size());
}
use of com.synopsys.integration.alert.api.channel.issue.model.IssueComponentUnknownVersionDetails in project hub-alert by blackducksoftware.
the class IssueTrackerSearcher method findIssueByProjectIssueModel.
private ActionableIssueSearchResult<T> findIssueByProjectIssueModel(ProjectIssueModel projectIssueModel) throws AlertException {
ExistingIssueDetails<T> existingIssue = null;
ItemOperation searchResultOperation = ItemOperation.UPDATE;
List<ExistingIssueDetails<T>> existingIssues = exactIssueFinder.findExistingIssuesByProjectIssueModel(projectIssueModel);
int foundIssuesCount = existingIssues.size();
if (foundIssuesCount == 1) {
existingIssue = existingIssues.get(0);
Optional<ItemOperation> policyOperation = projectIssueModel.getPolicyDetails().map(IssuePolicyDetails::getOperation);
Optional<IssueVulnerabilityDetails> optionalVulnerabilityDetails = projectIssueModel.getVulnerabilityDetails();
Optional<ItemOperation> componentUnknownOperation = projectIssueModel.getComponentUnknownVersionDetails().map(IssueComponentUnknownVersionDetails::getItemOperation);
if (policyOperation.isPresent()) {
searchResultOperation = policyOperation.get();
} else if (optionalVulnerabilityDetails.isPresent()) {
IssueVulnerabilityDetails issueVulnerabilityDetails = optionalVulnerabilityDetails.get();
searchResultOperation = findVulnerabilitySearchResultOperation(existingIssue, issueVulnerabilityDetails);
} else if (componentUnknownOperation.isPresent()) {
searchResultOperation = componentUnknownOperation.get();
}
} else if (foundIssuesCount > 1) {
Set<String> issueKeys = existingIssues.stream().map(ExistingIssueDetails::getIssueKey).collect(Collectors.toSet());
String issueKeyString = StringUtils.join(issueKeys, ", ");
throw new AlertException("Expected to find a unique issue, but more than one was found. " + issueKeyString);
} else {
searchResultOperation = ItemOperation.ADD;
}
return new ActionableIssueSearchResult<>(existingIssue, projectIssueModel, searchResultOperation);
}
Aggregations