use of com.synopsys.integration.alert.database.job.slack.SlackJobDetailsEntity in project hub-alert by blackducksoftware.
the class StaticJobAccessor method convertToDistributionJobModel.
@Deprecated
private DistributionJobModel convertToDistributionJobModel(DistributionJobEntity jobEntity) {
UUID jobId = jobEntity.getJobId();
DistributionJobDetailsModel distributionJobDetailsModel = null;
ChannelKey channelKey = ChannelKeys.getChannelKey(jobEntity.getChannelDescriptorName());
if (ChannelKeys.AZURE_BOARDS.equals(channelKey)) {
AzureBoardsJobDetailsEntity jobDetails = jobEntity.getAzureBoardsJobDetails();
distributionJobDetailsModel = new AzureBoardsJobDetailsModel(jobId, jobDetails.getAddComments(), jobDetails.getProjectNameOrId(), jobDetails.getWorkItemType(), jobDetails.getWorkItemCompletedState(), jobDetails.getWorkItemReopenState());
} else if (ChannelKeys.JIRA_CLOUD.equals(channelKey)) {
JiraCloudJobDetailsEntity jobDetails = jobEntity.getJiraCloudJobDetails();
List<JiraJobCustomFieldModel> customFields = jobDetails.getJobCustomFields().stream().map(entity -> new JiraJobCustomFieldModel(entity.getFieldName(), entity.getFieldValue())).collect(Collectors.toList());
distributionJobDetailsModel = new JiraCloudJobDetailsModel(jobId, jobDetails.getAddComments(), jobDetails.getIssueCreatorEmail(), jobDetails.getProjectNameOrKey(), jobDetails.getIssueType(), jobDetails.getResolveTransition(), jobDetails.getReopenTransition(), customFields, jobDetails.getIssueSummary());
} else if (ChannelKeys.MS_TEAMS.equals(channelKey)) {
MSTeamsJobDetailsEntity jobDetails = jobEntity.getMsTeamsJobDetails();
distributionJobDetailsModel = new MSTeamsJobDetailsModel(jobId, jobDetails.getWebhook());
} else if (ChannelKeys.SLACK.equals(channelKey)) {
SlackJobDetailsEntity slackJobDetails = jobEntity.getSlackJobDetails();
distributionJobDetailsModel = new SlackJobDetailsModel(jobId, slackJobDetails.getWebhook(), slackJobDetails.getChannelName(), slackJobDetails.getChannelUsername());
}
return convertToDistributionJobModel(jobEntity, distributionJobDetailsModel);
}
use of com.synopsys.integration.alert.database.job.slack.SlackJobDetailsEntity in project hub-alert by blackducksoftware.
the class StaticJobAccessor method createJobWithId.
private DistributionJobModel createJobWithId(UUID jobId, DistributionJobRequestModel requestModel, OffsetDateTime createdAt, @Nullable OffsetDateTime lastUpdated) {
String channelDescriptorName = requestModel.getChannelDescriptorName();
DistributionJobEntity jobToSave = new DistributionJobEntity(jobId, requestModel.getName(), requestModel.isEnabled(), requestModel.getDistributionFrequency().name(), requestModel.getProcessingType().name(), channelDescriptorName, requestModel.getChannelGlobalConfigId(), createdAt, lastUpdated);
DistributionJobEntity savedJobEntity = distributionJobRepository.save(jobToSave);
UUID savedJobId = savedJobEntity.getJobId();
BlackDuckJobDetailsEntity savedBlackDuckJobDetails = blackDuckJobDetailsAccessor.saveBlackDuckJobDetails(savedJobId, requestModel);
savedJobEntity.setBlackDuckJobDetails(savedBlackDuckJobDetails);
DistributionJobDetailsModel distributionJobDetails = requestModel.getDistributionJobDetails();
if (distributionJobDetails.isA(ChannelKeys.AZURE_BOARDS)) {
AzureBoardsJobDetailsEntity savedAzureBoardsJobDetails = azureBoardsJobDetailsAccessor.saveAzureBoardsJobDetails(savedJobId, distributionJobDetails.getAs(DistributionJobDetailsModel.AZURE));
savedJobEntity.setAzureBoardsJobDetails(savedAzureBoardsJobDetails);
} else if (distributionJobDetails.isA(ChannelKeys.JIRA_CLOUD)) {
JiraCloudJobDetailsEntity savedJiraCloudJobDetails = jiraCloudJobDetailsAccessor.saveJiraCloudJobDetails(savedJobId, distributionJobDetails.getAs(DistributionJobDetailsModel.JIRA_CLOUD));
savedJobEntity.setJiraCloudJobDetails(savedJiraCloudJobDetails);
} else if (distributionJobDetails.isA(ChannelKeys.MS_TEAMS)) {
MSTeamsJobDetailsEntity savedMSTeamsJobDetails = msTeamsJobDetailsAccessor.saveMSTeamsJobDetails(savedJobId, distributionJobDetails.getAs(DistributionJobDetailsModel.MS_TEAMS));
savedJobEntity.setMsTeamsJobDetails(savedMSTeamsJobDetails);
} else if (distributionJobDetails.isA(ChannelKeys.SLACK)) {
SlackJobDetailsEntity savedSlackJobDetails = slackJobDetailsAccessor.saveSlackJobDetails(savedJobId, distributionJobDetails.getAs(DistributionJobDetailsModel.SLACK));
savedJobEntity.setSlackJobDetails(savedSlackJobDetails);
} else {
// In the future the contents of this else case should be the complete implementation of this method
ChannelKey channelKey = ChannelKeys.getChannelKey(channelDescriptorName);
if (jobDetailsAccessorMap.containsKey(channelKey) && distributionJobDetails.isA(channelKey)) {
JobDetailsAccessor2<? extends DistributionJobDetailsModel> accessor = jobDetailsAccessorMap.get(channelKey);
DistributionJobDetailsModel savedJobDetails = accessor.saveJobDetails(savedJobId, distributionJobDetails);
return convertToDistributionJobModel(savedJobEntity, savedJobDetails);
}
}
return convertToDistributionJobModel(savedJobEntity);
}
use of com.synopsys.integration.alert.database.job.slack.SlackJobDetailsEntity in project hub-alert by blackducksoftware.
the class StaticJobAccessorTest method createJobTest.
@Test
void createJobTest() {
UUID jobId = UUID.randomUUID();
SlackJobDetailsModel slackJobDetailsModel = new SlackJobDetailsModel(jobId, null, null, null);
DistributionJobRequestModel distributionJobRequestModel = createDistributionJobEntity(ChannelKeys.SLACK.getUniversalKey(), slackJobDetailsModel);
SlackJobDetailsEntity slackJobDetailsEntity = new SlackJobDetailsEntity();
DistributionJobEntity distributionJobEntity = createDistributionJobEntity(jobId, distributionJobRequestModel);
distributionJobEntity.setSlackJobDetails(slackJobDetailsEntity);
BlackDuckJobDetailsEntity blackDuckJobDetailsEntity = createBlackDuckJobDetailsEntity(jobId, distributionJobRequestModel);
Mockito.when(slackJobDetailsAccessor.saveSlackJobDetails(Mockito.any(), Mockito.any())).thenReturn(slackJobDetailsEntity);
Mockito.when(blackDuckJobDetailsAccessor.saveBlackDuckJobDetails(Mockito.any(), Mockito.any())).thenReturn(blackDuckJobDetailsEntity);
Mockito.when(distributionJobRepository.save(Mockito.any())).thenReturn(distributionJobEntity);
DistributionJobModel createdJob = jobAccessor.createJob(distributionJobRequestModel);
assertEquals(jobId, createdJob.getJobId());
assertEquals(jobName, createdJob.getName());
}
use of com.synopsys.integration.alert.database.job.slack.SlackJobDetailsEntity in project hub-alert by blackducksoftware.
the class StaticJobAccessorTest method updateJobTest.
@Test
void updateJobTest() throws Exception {
UUID jobId = UUID.randomUUID();
SlackJobDetailsModel slackJobDetailsModel = new SlackJobDetailsModel(jobId, null, null, null);
DistributionJobRequestModel distributionJobRequestModel = new DistributionJobRequestModel(true, jobName, FrequencyType.DAILY, ProcessingType.DEFAULT, ChannelKeys.SLACK.getUniversalKey(), UUID.randomUUID(), 3L, true, "*", "*", Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), slackJobDetailsModel);
SlackJobDetailsEntity slackJobDetailsEntity = new SlackJobDetailsEntity();
DistributionJobEntity distributionJobEntity = new DistributionJobEntity(jobId, distributionJobRequestModel.getName(), distributionJobRequestModel.isEnabled(), distributionJobRequestModel.getDistributionFrequency().name(), distributionJobRequestModel.getProcessingType().name(), distributionJobRequestModel.getChannelDescriptorName(), distributionJobRequestModel.getChannelGlobalConfigId(), DateUtils.createCurrentDateTimestamp(), DateUtils.createCurrentDateTimestamp());
distributionJobEntity.setSlackJobDetails(slackJobDetailsEntity);
BlackDuckJobDetailsEntity blackDuckJobDetailsEntity = new BlackDuckJobDetailsEntity(jobId, distributionJobRequestModel.getBlackDuckGlobalConfigId(), distributionJobRequestModel.isFilterByProject(), distributionJobRequestModel.getProjectNamePattern().orElse(null), distributionJobRequestModel.getProjectVersionNamePattern().orElse(null));
Mockito.when(slackJobDetailsAccessor.saveSlackJobDetails(Mockito.any(), Mockito.any())).thenReturn(slackJobDetailsEntity);
Mockito.when(blackDuckJobDetailsAccessor.saveBlackDuckJobDetails(Mockito.any(), Mockito.any())).thenReturn(blackDuckJobDetailsEntity);
Mockito.when(distributionJobRepository.findById(Mockito.any())).thenReturn(Optional.of(distributionJobEntity));
Mockito.when(distributionJobRepository.save(Mockito.any())).thenReturn(distributionJobEntity);
DistributionJobModel updatedJob = jobAccessor.updateJob(jobId, distributionJobRequestModel);
Mockito.verify(distributionJobRepository).findById(jobId);
Mockito.verify(distributionJobRepository).save(Mockito.any());
assertEquals(jobId, updatedJob.getJobId());
assertEquals(jobName, updatedJob.getName());
}
use of com.synopsys.integration.alert.database.job.slack.SlackJobDetailsEntity in project hub-alert by blackducksoftware.
the class StaticJobAccessorTest method createSlackDistributionJobEntity.
private DistributionJobEntity createSlackDistributionJobEntity(UUID jobId) {
SlackJobDetailsEntity slackJobDetailsEntity = new SlackJobDetailsEntity();
DistributionJobEntity distributionJobEntity = new DistributionJobEntity(jobId, jobName, true, FrequencyType.REAL_TIME.name(), ProcessingType.DEFAULT.name(), ChannelKeys.SLACK.getUniversalKey(), UUID.randomUUID(), DateUtils.createCurrentDateTimestamp(), DateUtils.createCurrentDateTimestamp());
distributionJobEntity.setSlackJobDetails(slackJobDetailsEntity);
return distributionJobEntity;
}
Aggregations