use of com.blackducksoftware.integration.hub.alert.hub.model.NotificationModel in project hub-alert by blackducksoftware.
the class ProjectDataFactoryTest method assertFieldsForMultiple.
private void assertFieldsForMultiple(final Collection<NotificationModel> notifications, final Collection<ProjectData> projectData, final DigestTypeEnum digestType) {
for (final NotificationModel notification : notifications) {
final ProjectData projData = find(projectData, notification.getProjectName(), notification.getProjectVersion());
assertFields(notification, projData);
assertEquals(digestType, projData.getDigestType());
}
}
use of com.blackducksoftware.integration.hub.alert.hub.model.NotificationModel in project hub-alert by blackducksoftware.
the class ProjectDataFactoryTest method createPolicyNotification.
private NotificationModel createPolicyNotification(final String projectName, final String projectVersion) {
final String eventKey = "key";
final Date createdAt = new Date();
final NotificationCategoryEnum notificationType = NotificationCategoryEnum.POLICY_VIOLATION;
final String projectUrl = "http://localhost:8080";
final String projectVersionUrl = "http://localhost:8080";
final String componentName = "Other Component";
final String componentVersion = "Other Component Version";
final String policyRuleName = "Policy Rule Name";
final String person = "Person";
final String vulnerabilityId = NotificationCategoryEnum.VULNERABILITY.name();
final VulnerabilityOperationEnum vulnerabilityOperation = VulnerabilityOperationEnum.ADD;
final NotificationEntity notification = new NotificationEntity(eventKey, createdAt, notificationType, projectName, projectUrl, projectVersion, projectVersionUrl, componentName, componentVersion, policyRuleName, person);
notification.setId(1L);
final Collection<VulnerabilityEntity> vulnerabilityList = Arrays.asList(new VulnerabilityEntity(vulnerabilityId, vulnerabilityOperation, notification.getId()));
return new NotificationModel(notification, vulnerabilityList);
}
use of com.blackducksoftware.integration.hub.alert.hub.model.NotificationModel in project hub-alert by blackducksoftware.
the class DailyItemReaderTest method testReadNull.
@Test
public void testReadNull() throws Exception {
final NotificationManager notificationManager = Mockito.mock(NotificationManager.class);
Mockito.when(notificationManager.findByCreatedAtBetween(Mockito.any(), Mockito.any())).thenReturn(Arrays.asList());
final DailyItemReader dailyItemReaderNull = new DailyItemReader(notificationManager, globalProperties);
final List<NotificationModel> nullNotificationList = dailyItemReaderNull.read();
assertNull(nullNotificationList);
}
use of com.blackducksoftware.integration.hub.alert.hub.model.NotificationModel in project hub-alert by blackducksoftware.
the class DigestNotificationProcessorIT method processNotificationDataWithSameEventKeyTestIT.
@Test
public void processNotificationDataWithSameEventKeyTestIT() {
final Long distributionConfigId = 10L;
final String distributionType = SupportedChannels.HIPCHAT;
final String name = "Config Name";
final DigestTypeEnum frequency = DigestTypeEnum.REAL_TIME;
final Boolean filterByProject = true;
final String eventKey = "event_key";
final String projectName = "Test Hub Project Name";
final String projectVersionName = "Test Hub Project Version Name";
final CommonDistributionConfigEntity commonDistributionConfigEntity = commonDistributionRepository.save(new CommonDistributionConfigEntity(distributionConfigId, distributionType, name, frequency, filterByProject));
final ConfiguredProjectEntity configuredProjectEntity = configuredProjectsRepository.save(new ConfiguredProjectEntity(projectName));
distributionProjectRepository.save(new DistributionProjectRelation(commonDistributionConfigEntity.getId(), configuredProjectEntity.getId()));
final CommonDistributionConfigRestModel restModel = new CommonDistributionConfigRestModel(null, null, null, null, null, null, null, Arrays.asList("POLICY_VIOLATION"));
notificationActions.saveNotificationTypes(commonDistributionConfigEntity, restModel);
final List<NotificationModel> notificationList = new ArrayList<>();
final NotificationEntity applicableNotification = new NotificationEntity(eventKey, new Date(System.currentTimeMillis()), NotificationCategoryEnum.POLICY_VIOLATION, projectName, "", projectVersionName, "", "Test Component", "Test Component Version", "Test Policy Rule Name", "Test Person");
final NotificationEntity otherApplicableNotification = new NotificationEntity(eventKey, new Date(System.currentTimeMillis()), NotificationCategoryEnum.POLICY_VIOLATION, projectName, "", projectVersionName, "", "Test Component", "Test Component Version", "Test Policy Rule Name", "Test Person");
notificationList.add(new NotificationModel(applicableNotification, Collections.emptyList()));
notificationList.add(new NotificationModel(otherApplicableNotification, Collections.emptyList()));
final List<AbstractChannelEvent> eventsCreated = processor.processNotifications(DigestTypeEnum.REAL_TIME, notificationList);
assertEquals(1, eventsCreated.size());
final AbstractChannelEvent event = eventsCreated.get(0);
assertTrue(event instanceof HipChatEvent);
assertEquals(commonDistributionConfigEntity.getId(), event.getCommonDistributionConfigId());
}
use of com.blackducksoftware.integration.hub.alert.hub.model.NotificationModel in project hub-alert by blackducksoftware.
the class DigestNotificationProcessorIT method processNotificationDataWithNegatingTypesTestIT.
@Test
public void processNotificationDataWithNegatingTypesTestIT() {
final Long distributionConfigId = 10L;
final String distributionType = SupportedChannels.HIPCHAT;
final String name = "Config Name";
final DigestTypeEnum frequency = DigestTypeEnum.REAL_TIME;
final Boolean filterByProject = true;
final String eventKey = "event_key";
final String projectName = "Test Hub Project Name";
final String projectVersionName = "Test Hub Project Version Name";
final CommonDistributionConfigEntity commonDistributionConfigEntity = commonDistributionRepository.save(new CommonDistributionConfigEntity(distributionConfigId, distributionType, name, frequency, filterByProject));
final ConfiguredProjectEntity configuredProjectEntity = configuredProjectsRepository.save(new ConfiguredProjectEntity(projectName));
distributionProjectRepository.save(new DistributionProjectRelation(commonDistributionConfigEntity.getId(), configuredProjectEntity.getId()));
final CommonDistributionConfigRestModel restModel = new CommonDistributionConfigRestModel(null, null, null, null, null, null, null, Arrays.asList("POLICY_VIOLATION", "POLICY_VIOLATION_CLEARED"));
notificationActions.saveNotificationTypes(commonDistributionConfigEntity, restModel);
final List<NotificationModel> notificationList = new LinkedList<>();
final NotificationEntity applicableNotification = new NotificationEntity(eventKey, new Date(System.currentTimeMillis()), NotificationCategoryEnum.POLICY_VIOLATION, projectName, "", projectVersionName, "", "Test Component", "Test Component Version", "Test Policy Rule Name", "Test Person");
final NotificationEntity nonApplicableNotification = new NotificationEntity(eventKey, new Date(System.currentTimeMillis()), NotificationCategoryEnum.POLICY_VIOLATION_CLEARED, projectName, "", projectVersionName, "", "Test Component", "Test Component Version", "Test Policy Rule Name", "Test Person");
notificationList.add(new NotificationModel(applicableNotification, Collections.emptyList()));
notificationList.add(new NotificationModel(nonApplicableNotification, Collections.emptyList()));
final List<AbstractChannelEvent> eventsCreated = processor.processNotifications(DigestTypeEnum.REAL_TIME, notificationList);
assertEquals(0, eventsCreated.size());
}
Aggregations