use of com.synopsys.integration.alert.common.persistence.accessor.JobAccessor in project hub-alert by blackducksoftware.
the class DefaultRestApiAuditAccessorTest method convertToAuditEntryModelFromNotificationTest.
@Test
public void convertToAuditEntryModelFromNotificationTest() throws Exception {
Long id = 1L;
Long providerConfigId = 2L;
String provider = "provider-test";
String providerConfigName = "providerConfigName-test";
String notificationType = "notificationType-test";
String content = "content-test";
OffsetDateTime timeLastSent = DateUtils.createCurrentDateTimestamp();
OffsetDateTime timeCreated = timeLastSent.minusSeconds(10);
Long auditEntryId = 3L;
String channelName = "test-channel.common.name-value";
String eventType = "test-channel.common.channel.name-value";
AuditEntryRepository auditEntryRepository = Mockito.mock(AuditEntryRepository.class);
AuditNotificationRepository auditNotificationRepository = Mockito.mock(AuditNotificationRepository.class);
JobAccessor jobAccessor = Mockito.mock(JobAccessor.class);
ConfigurationModelConfigurationAccessor configurationModelConfigurationAccessor = Mockito.mock(ConfigurationModelConfigurationAccessor.class);
ContentConverter contentConverter = new ContentConverter(new DefaultConversionService());
AlertNotificationModel alertNotificationModel = new AlertNotificationModel(id, providerConfigId, provider, providerConfigName, notificationType, content, DateUtils.createCurrentDateTimestamp(), DateUtils.createCurrentDateTimestamp(), false);
AuditNotificationRelation auditNotificationRelation = new AuditNotificationRelation(auditEntryId, alertNotificationModel.getId());
AuditEntryEntity auditEntryEntity = new AuditEntryEntity(UUID.randomUUID(), timeCreated, timeLastSent, AuditEntryStatus.SUCCESS.name(), null, null);
Mockito.when(auditNotificationRepository.findByNotificationId(Mockito.any())).thenReturn(List.of(auditNotificationRelation));
Mockito.when(auditEntryRepository.findAllById(Mockito.any())).thenReturn(List.of(auditEntryEntity));
DistributionJobModel distributionJob = DistributionJobModel.builder().jobId(UUID.randomUUID()).enabled(true).blackDuckGlobalConfigId(2L).channelDescriptorName("test-channel.common.channel.name-value").name("test-channel.common.name-value").distributionFrequency(FrequencyType.REAL_TIME).filterByProject(false).notificationTypes(List.of(NotificationType.LICENSE_LIMIT.name())).processingType(ProcessingType.DEFAULT).createdAt(DateUtils.createCurrentDateTimestamp()).build();
Mockito.when(jobAccessor.getJobById(Mockito.any())).thenReturn(Optional.of(distributionJob));
DefaultRestApiAuditAccessor auditUtility = new DefaultRestApiAuditAccessor(auditEntryRepository, auditNotificationRepository, jobAccessor, configurationModelConfigurationAccessor, null, contentConverter);
AuditEntryModel testAuditEntryModel = auditUtility.convertToAuditEntryModelFromNotification(alertNotificationModel);
assertEquals(id, Long.valueOf(testAuditEntryModel.getId()));
assertNotNull(testAuditEntryModel.getNotification());
assertFalse(testAuditEntryModel.getJobs().isEmpty());
assertEquals(1, testAuditEntryModel.getJobs().size());
JobAuditModel testJob = testAuditEntryModel.getJobs().get(0);
assertEquals(channelName, testJob.getName());
assertEquals(eventType, testJob.getEventType());
assertEquals(AuditEntryStatus.SUCCESS.getDisplayName(), testAuditEntryModel.getOverallStatus());
assertEquals(DateUtils.formatDate(timeLastSent, DateUtils.AUDIT_DATE_FORMAT), testAuditEntryModel.getLastSent());
}
use of com.synopsys.integration.alert.common.persistence.accessor.JobAccessor in project hub-alert by blackducksoftware.
the class PhoneHomeTest method runTest.
@Test
public void runTest() {
RestApiAuditAccessor auditAccessor = Mockito.mock(RestApiAuditAccessor.class);
Mockito.when(auditAccessor.findFirstByJobId(Mockito.any())).thenReturn(Optional.empty());
TaskScheduler taskScheduler = Mockito.mock(TaskScheduler.class);
ProxyManager proxyManager = Mockito.mock(ProxyManager.class);
Mockito.when(proxyManager.createProxyInfoForHost(Mockito.anyString())).thenReturn(ProxyInfo.NO_PROXY_INFO);
AboutReader aboutReader = Mockito.mock(AboutReader.class);
Mockito.when(aboutReader.getProductVersion()).thenReturn(TEST_VERSION);
JobAccessor jobAccessor = Mockito.mock(JobAccessor.class);
// FIXME implement mocks
DefaultConfigurationModelConfigurationAccessor configurationModelConfigurationAccessor = Mockito.mock(DefaultConfigurationModelConfigurationAccessor.class);
ConfigurationModel config = Mockito.mock(ConfigurationModel.class);
Mockito.when(configurationModelConfigurationAccessor.getConfigurationsByDescriptorKey(Mockito.any(DescriptorKey.class))).thenReturn(List.of(config));
DescriptorMap descriptorMap = Mockito.mock(DescriptorMap.class);
Descriptor descriptor = Mockito.mock(Descriptor.class);
DescriptorKey descriptorKey = Mockito.mock(DescriptorKey.class);
Mockito.when(descriptorKey.getUniversalKey()).thenReturn(TEST_DESCRIPTOR_NAME);
Mockito.when(descriptorMap.getDescriptorMap()).thenReturn(Collections.singletonMap(descriptorKey, descriptor));
List<ProviderPhoneHomeHandler> providerHandlers = List.of();
ProviderKey providerKey = new BlackDuckProviderKey();
PhoneHomeTask phoneHomeTask = new PhoneHomeTask(taskScheduler, aboutReader, jobAccessor, configurationModelConfigurationAccessor, null, proxyManager, new Gson(), auditAccessor, providerHandlers, providerKey);
try {
phoneHomeTask.run();
} catch (Exception e) {
fail("Unexpected exception");
}
}
use of com.synopsys.integration.alert.common.persistence.accessor.JobAccessor in project hub-alert by blackducksoftware.
the class JiraServerExternalConnectionTest method sendJiraServerMessageTest.
// This test is @Disabled since it requires a running Jira Server instance. In order to run this test, you must deploy a Jira Server and
// add the Jira Server environment values into test.properties
@Test
@Disabled
public void sendJiraServerMessageTest() throws AlertException {
Gson gson = new Gson();
JiraMessageFormatter jiraMessageFormatter = new JiraMessageFormatter();
JiraServerChannelKey jiraServerChannelKey = new JiraServerChannelKey();
JiraServerGlobalConfigAccessor jiraServerGlobalConfigAccessor = Mockito.mock(JiraServerGlobalConfigAccessor.class);
Mockito.when(jiraServerGlobalConfigAccessor.getConfigurationByName(Mockito.anyString())).thenReturn(Optional.of(createJiraServerConfigModel()));
ProxyManager proxyManager = Mockito.mock(ProxyManager.class);
Mockito.when(proxyManager.createProxyInfoForHost(Mockito.anyString())).thenReturn(null);
JobAccessor jobAccessor = Mockito.mock(JobAccessor.class);
Mockito.when(jobAccessor.getJobById(Mockito.any())).thenReturn(Optional.of(createDistributionJobModel()));
JiraServerPropertiesFactory jiraServerPropertiesFactory = new JiraServerPropertiesFactory(proxyManager, jiraServerGlobalConfigAccessor, jobAccessor);
IssueTrackerCallbackInfoCreator issueTrackerCallbackInfoCreator = new IssueTrackerCallbackInfoCreator();
IssueCategoryRetriever issueCategoryRetriever = new IssueCategoryRetriever();
JiraServerMessageSenderFactory jiraServerMessageSenderFactory = new JiraServerMessageSenderFactory(gson, jiraServerChannelKey, jiraServerPropertiesFactory, issueTrackerCallbackInfoCreator, issueCategoryRetriever);
ProjectMessageToIssueModelTransformer modelTransformer = new ProjectMessageToIssueModelTransformer();
JiraServerProcessorFactory jiraServerProcessorFactory = new JiraServerProcessorFactory(gson, jiraMessageFormatter, jiraServerPropertiesFactory, jiraServerMessageSenderFactory, modelTransformer, issueCategoryRetriever);
IssueTrackerProcessor<String> processor = jiraServerProcessorFactory.createProcessor(createDistributionDetails());
IssueTrackerResponse<String> response = processor.processMessages(createMessage(), "jobName");
assertEquals("Success", response.getStatusMessage());
}
use of com.synopsys.integration.alert.common.persistence.accessor.JobAccessor in project hub-alert by blackducksoftware.
the class JobEmailAddressValidatorTest method validateTest.
@Test
public void validateTest() {
UUID testJobId = UUID.randomUUID();
Long testBlackDuckGlobalConfigId = 33L;
String testValidEmailAddress1 = "valid1";
String testValidEmailAddress2 = "valid2";
String testValidEmailAddress3 = "valid3";
String testInvalidEmailAddress1 = "invalid1";
String testInvalidEmailAddress2 = "invalid2";
Set<String> testEmailAddresses = Set.of(testValidEmailAddress1, testInvalidEmailAddress1, testValidEmailAddress2, testInvalidEmailAddress2, testValidEmailAddress3);
DistributionJobModel distributionJobModel = Mockito.mock(DistributionJobModel.class);
Mockito.when(distributionJobModel.getBlackDuckGlobalConfigId()).thenReturn(testBlackDuckGlobalConfigId);
JobAccessor jobAccessor = Mockito.mock(JobAccessor.class);
Mockito.when(jobAccessor.getJobById(testJobId)).thenReturn(Optional.of(distributionJobModel));
ProviderUserModel providerUserModel = Mockito.mock(ProviderUserModel.class);
Optional<ProviderUserModel> optionalProviderUser = Optional.of(providerUserModel);
ProviderDataAccessor providerDataAccessor = Mockito.mock(ProviderDataAccessor.class);
Mockito.when(providerDataAccessor.findFirstUserByEmailAddress(testBlackDuckGlobalConfigId, testValidEmailAddress1)).thenReturn(optionalProviderUser);
Mockito.when(providerDataAccessor.findFirstUserByEmailAddress(testBlackDuckGlobalConfigId, testValidEmailAddress2)).thenReturn(optionalProviderUser);
Mockito.when(providerDataAccessor.findFirstUserByEmailAddress(testBlackDuckGlobalConfigId, testValidEmailAddress3)).thenReturn(optionalProviderUser);
Mockito.when(providerDataAccessor.findFirstUserByEmailAddress(testBlackDuckGlobalConfigId, testInvalidEmailAddress1)).thenReturn(Optional.empty());
Mockito.when(providerDataAccessor.findFirstUserByEmailAddress(testBlackDuckGlobalConfigId, testInvalidEmailAddress2)).thenReturn(Optional.empty());
JobEmailAddressValidator validator = new JobEmailAddressValidator(jobAccessor, providerDataAccessor);
ValidatedEmailAddresses validatedEmailAddresses = validator.validate(testJobId, testEmailAddresses);
Set<String> validEmailAddresses = validatedEmailAddresses.getValidEmailAddresses();
assertEquals(3, validEmailAddresses.size());
assertValid(validEmailAddresses, testValidEmailAddress1);
assertValid(validEmailAddresses, testValidEmailAddress2);
assertValid(validEmailAddresses, testValidEmailAddress3);
Set<String> invalidEmailAddresses = validatedEmailAddresses.getInvalidEmailAddresses();
assertEquals(2, invalidEmailAddresses.size());
assertInvalid(invalidEmailAddresses, testInvalidEmailAddress1);
assertInvalid(invalidEmailAddresses, testInvalidEmailAddress2);
}
use of com.synopsys.integration.alert.common.persistence.accessor.JobAccessor in project hub-alert by blackducksoftware.
the class AuditEntryActionsTest method testPagedRequest.
@Test
public void testPagedRequest() {
int totalPages = 2;
int currentPage = 0;
int pageSize = 2;
OffsetDateTime createdAt = DateUtils.createCurrentDateTimestamp();
AlertNotificationModel entity_1 = new AlertNotificationModel(1L, 1L, "provider", "providerConfigName", "notificationType", "{content: \"content is here...\"}", createdAt, createdAt, false);
entity_1.setId(1L);
AlertNotificationModel entity_2 = new AlertNotificationModel(2L, 2L, "provider", "providerConfigName", "notificationType", "{content: \"content is here...\"}", createdAt, createdAt, false);
entity_2.setId(2L);
List<AlertNotificationModel> pagedEntryList = Arrays.asList(entity_1, entity_2);
Page<AlertNotificationModel> pageResponse = Mockito.mock(Page.class);
Mockito.when(pageResponse.getContent()).thenReturn(pagedEntryList);
Mockito.when(pageResponse.getTotalPages()).thenReturn(totalPages);
Mockito.when(pageResponse.getNumber()).thenReturn(currentPage);
Mockito.when(pageResponse.getSize()).thenReturn(pageSize);
AuthorizationManager authorizationManager = Mockito.mock(AuthorizationManager.class);
Mockito.when(authorizationManager.hasReadPermission(Mockito.any(ConfigContextEnum.class), Mockito.any(DescriptorKey.class))).thenReturn(Boolean.TRUE);
AuditDescriptorKey auditDescriptorKey = new AuditDescriptorKey();
AuditEntryRepository auditEntryRepository = Mockito.mock(AuditEntryRepository.class);
DefaultNotificationAccessor notificationManager = Mockito.mock(DefaultNotificationAccessor.class);
Mockito.when(notificationManager.findAll(Mockito.any(PageRequest.class), Mockito.anyBoolean())).thenReturn(pageResponse);
PageRequest pageRequest = PageRequest.of(currentPage, pageSize, Sort.unsorted());
Mockito.when(notificationManager.getPageRequestForNotifications(Mockito.anyInt(), Mockito.anyInt(), Mockito.any(), Mockito.any())).thenReturn(pageRequest);
NotificationContentRepository notificationRepository = Mockito.mock(NotificationContentRepository.class);
AuditNotificationRepository auditNotificationRepository = Mockito.mock(AuditNotificationRepository.class);
JobAccessor jobAccessor = Mockito.mock(JobAccessor.class);
Mockito.when(jobAccessor.getJobById(Mockito.any())).thenReturn(null);
ConfigurationModelConfigurationAccessor configurationModelConfigurationAccessor = Mockito.mock(ConfigurationModelConfigurationAccessor.class);
NotificationEntity notificationContent = new MockNotificationContent(DateUtils.createCurrentDateTimestamp(), "provider", DateUtils.createCurrentDateTimestamp(), "notificationType", "{content: \"content is here...\"}", 1L, 1L).createEntity();
ContentConverter contentConverter = new ContentConverter(new DefaultConversionService());
DistributionJobModel distributionJob = DistributionJobModel.builder().jobId(UUID.randomUUID()).enabled(true).blackDuckGlobalConfigId(2L).channelDescriptorName("distributionType").name("name").createdAt(OffsetDateTime.now()).distributionFrequency(FrequencyType.REAL_TIME).filterByProject(false).notificationTypes(List.of("type")).processingType(ProcessingType.DEFAULT).build();
Mockito.doReturn(Optional.of(distributionJob)).when(jobAccessor).getJobById(Mockito.any());
Mockito.when(notificationRepository.findAllById(Mockito.anyList())).thenReturn(Collections.singletonList(notificationContent));
DefaultRestApiAuditAccessor auditEntryUtility = new DefaultRestApiAuditAccessor(auditEntryRepository, auditNotificationRepository, jobAccessor, configurationModelConfigurationAccessor, notificationManager, contentConverter);
AuditEntryActions auditEntryActions = new AuditEntryActions(authorizationManager, auditDescriptorKey, auditEntryUtility, notificationManager, jobAccessor, null, null);
ActionResponse<AuditEntryPageModel> response = auditEntryActions.get(currentPage, pageSize, null, null, null, true);
assertTrue(response.hasContent());
AuditEntryPageModel restModel = response.getContent().orElse(null);
assertEquals(pageResponse.getTotalPages(), restModel.getTotalPages());
assertEquals(pageResponse.getNumber(), restModel.getCurrentPage());
assertEquals(pageResponse.getSize(), restModel.getPageSize());
for (int index = 0; index < pageSize; index++) {
AlertNotificationModel entity = pageResponse.getContent().get(index);
AuditEntryModel entryRestModel = restModel.getContent().get(index);
assertEquals(String.valueOf(entity.getId()), entryRestModel.getId());
}
}
Aggregations