Search in sources :

Example 16 with ChannelKey

use of com.synopsys.integration.alert.descriptor.api.model.ChannelKey in project hub-alert by blackducksoftware.

the class TestHelperConfigurationTest method testMessageWithErrors.

@Test
public void testMessageWithErrors() {
    AuthenticationTestUtils authenticationTestUtils = new AuthenticationTestUtils();
    DescriptorKey descriptorKey = new ChannelKey("channel_key", "channel-display-name");
    PermissionKey permissionKey = new PermissionKey(ConfigContextEnum.GLOBAL.name(), descriptorKey.getUniversalKey());
    Map<PermissionKey, Integer> permissions = Map.of(permissionKey, AuthenticationTestUtils.FULL_PERMISSIONS);
    AuthorizationManager authorizationManager = authenticationTestUtils.createAuthorizationManagerWithCurrentUserSet("admin", "admin", () -> new PermissionMatrixModel(permissions));
    ConfigurationTestHelper testHelper = new ConfigurationTestHelper(authorizationManager, ConfigContextEnum.GLOBAL, descriptorKey);
    ValidationActionResponse response = testHelper.test(() -> new ValidationActionResponse(HttpStatus.OK, ValidationResponseModel.success()), () -> ConfigurationTestResult.failure("Failure"));
    ValidationResponseModel validationResponseModel = response.getContent().orElseThrow(() -> new IllegalStateException("Validation content missing"));
    assertEquals(HttpStatus.OK, response.getHttpStatus());
    assertTrue(validationResponseModel.hasErrors());
}
Also used : ValidationResponseModel(com.synopsys.integration.alert.common.rest.model.ValidationResponseModel) PermissionMatrixModel(com.synopsys.integration.alert.common.persistence.model.PermissionMatrixModel) ValidationActionResponse(com.synopsys.integration.alert.common.action.ValidationActionResponse) PermissionKey(com.synopsys.integration.alert.common.persistence.model.PermissionKey) ChannelKey(com.synopsys.integration.alert.descriptor.api.model.ChannelKey) AuthenticationTestUtils(com.synopsys.integration.alert.test.common.AuthenticationTestUtils) DescriptorKey(com.synopsys.integration.alert.descriptor.api.model.DescriptorKey) AuthorizationManager(com.synopsys.integration.alert.common.security.authorization.AuthorizationManager) Test(org.junit.jupiter.api.Test)

Example 17 with ChannelKey

use of com.synopsys.integration.alert.descriptor.api.model.ChannelKey in project hub-alert by blackducksoftware.

the class ChannelDescriptorTest method getterTest.

@Test
public void getterTest() {
    String name = "channel";
    ChannelKey channelKey = new ChannelKey(name, name) {
    };
    ChannelDescriptor channelDescriptor = new ChannelDescriptor(channelKey, Set.of(ConfigContextEnum.DISTRIBUTION)) {

        @Override
        public Optional<GlobalConfigurationFieldModelValidator> getGlobalValidator() {
            return Optional.empty();
        }

        @Override
        public Optional<DistributionConfigurationValidator> getDistributionValidator() {
            return Optional.empty();
        }
    };
    assertEquals(name, channelDescriptor.getDescriptorKey().getUniversalKey());
}
Also used : ChannelKey(com.synopsys.integration.alert.descriptor.api.model.ChannelKey) DistributionConfigurationValidator(com.synopsys.integration.alert.common.descriptor.validator.DistributionConfigurationValidator) GlobalConfigurationFieldModelValidator(com.synopsys.integration.alert.common.descriptor.validator.GlobalConfigurationFieldModelValidator) Test(org.junit.jupiter.api.Test)

Example 18 with ChannelKey

use of com.synopsys.integration.alert.descriptor.api.model.ChannelKey in project hub-alert by blackducksoftware.

the class DistributionEventHandlerTest method handleEventSuccessTest.

@Test
public void handleEventSuccessTest() {
    ProcessingAuditAccessor auditAccessor = Mockito.mock(ProcessingAuditAccessor.class);
    Mockito.doNothing().when(auditAccessor).setAuditEntrySuccess(Mockito.any(), Mockito.anySet());
    DistributionJobDetailsModel details = new DistributionJobDetailsModel(null, null) {
    };
    JobDetailsAccessor<DistributionJobDetailsModel> jobDetailsAccessor = x -> Optional.of(details);
    DistributionChannel<DistributionJobDetailsModel> channel = (x, y, z) -> null;
    DistributionEventHandler<DistributionJobDetailsModel> eventHandler = new DistributionEventHandler<>(channel, jobDetailsAccessor, auditAccessor);
    UUID testJobId = UUID.randomUUID();
    Set<Long> testNotificationIds = Set.of(1L, 3L, 5L);
    DistributionEvent testEvent = new DistributionEvent(channelKey, testJobId, "jobName", testNotificationIds, null);
    eventHandler.handle(testEvent);
    Mockito.verify(auditAccessor, Mockito.times(1)).setAuditEntrySuccess(Mockito.eq(testJobId), Mockito.eq(testNotificationIds));
}
Also used : DistributionJobDetailsModel(com.synopsys.integration.alert.common.persistence.model.job.details.DistributionJobDetailsModel) Test(org.junit.jupiter.api.Test) Mockito(org.mockito.Mockito) ProcessingAuditAccessor(com.synopsys.integration.alert.common.persistence.accessor.ProcessingAuditAccessor) Optional(java.util.Optional) Set(java.util.Set) ChannelKey(com.synopsys.integration.alert.descriptor.api.model.ChannelKey) UUID(java.util.UUID) DistributionJobDetailsModel(com.synopsys.integration.alert.common.persistence.model.job.details.DistributionJobDetailsModel) JobDetailsAccessor(com.synopsys.integration.alert.common.persistence.accessor.JobDetailsAccessor) AlertException(com.synopsys.integration.alert.api.common.model.exception.AlertException) DistributionEvent(com.synopsys.integration.alert.processor.api.distribute.DistributionEvent) DistributionEvent(com.synopsys.integration.alert.processor.api.distribute.DistributionEvent) ProcessingAuditAccessor(com.synopsys.integration.alert.common.persistence.accessor.ProcessingAuditAccessor) UUID(java.util.UUID) Test(org.junit.jupiter.api.Test)

Example 19 with ChannelKey

use of com.synopsys.integration.alert.descriptor.api.model.ChannelKey in project hub-alert by blackducksoftware.

the class ProviderMessageDistributor method distribute.

public void distribute(ProcessedNotificationDetails processedNotificationDetails, ProcessedProviderMessageHolder processedMessageHolder) {
    String channelName = processedNotificationDetails.getChannelName();
    ChannelKey destinationKey = ChannelKeys.getChannelKey(channelName);
    if (null == destinationKey) {
        logger.warn("Unable to send {}. No {} with the name {} exists", EVENT_CLASS_NAME, DESTINATION_WRAPPER_CLASS_NAME, channelName);
        return;
    }
    for (ProcessedProviderMessageHolder singleMessageHolder : processedMessageHolder.expand()) {
        distributeIndividually(processedNotificationDetails.getJobId(), processedNotificationDetails.getJobName(), destinationKey, singleMessageHolder);
    }
}
Also used : ProcessedProviderMessageHolder(com.synopsys.integration.alert.processor.api.extract.model.ProcessedProviderMessageHolder) ChannelKey(com.synopsys.integration.alert.descriptor.api.model.ChannelKey)

Example 20 with ChannelKey

use of com.synopsys.integration.alert.descriptor.api.model.ChannelKey in project hub-alert by blackducksoftware.

the class ConfigurationCrudHelperTest method testGetOneEmpty.

@Test
public void testGetOneEmpty() {
    AuthenticationTestUtils authenticationTestUtils = new AuthenticationTestUtils();
    DescriptorKey descriptorKey = new ChannelKey("channel_key", "channel-display-name");
    PermissionKey permissionKey = new PermissionKey(ConfigContextEnum.GLOBAL.name(), descriptorKey.getUniversalKey());
    Map<PermissionKey, Integer> permissions = Map.of(permissionKey, 255);
    AuthorizationManager authorizationManager = authenticationTestUtils.createAuthorizationManagerWithCurrentUserSet("admin", "admin", () -> new PermissionMatrixModel(permissions));
    ConfigurationCrudHelper configurationHelper = new ConfigurationCrudHelper(authorizationManager, ConfigContextEnum.GLOBAL, descriptorKey);
    ActionResponse response = configurationHelper.getOne(() -> createEmptyOptional());
    assertEquals(HttpStatus.NOT_FOUND, response.getHttpStatus());
}
Also used : PermissionMatrixModel(com.synopsys.integration.alert.common.persistence.model.PermissionMatrixModel) PermissionKey(com.synopsys.integration.alert.common.persistence.model.PermissionKey) ChannelKey(com.synopsys.integration.alert.descriptor.api.model.ChannelKey) AuthenticationTestUtils(com.synopsys.integration.alert.test.common.AuthenticationTestUtils) DescriptorKey(com.synopsys.integration.alert.descriptor.api.model.DescriptorKey) AuthorizationManager(com.synopsys.integration.alert.common.security.authorization.AuthorizationManager) ActionResponse(com.synopsys.integration.alert.common.action.ActionResponse) Test(org.junit.jupiter.api.Test)

Aggregations

ChannelKey (com.synopsys.integration.alert.descriptor.api.model.ChannelKey)33 Test (org.junit.jupiter.api.Test)28 PermissionKey (com.synopsys.integration.alert.common.persistence.model.PermissionKey)23 PermissionMatrixModel (com.synopsys.integration.alert.common.persistence.model.PermissionMatrixModel)23 AuthorizationManager (com.synopsys.integration.alert.common.security.authorization.AuthorizationManager)23 DescriptorKey (com.synopsys.integration.alert.descriptor.api.model.DescriptorKey)23 AuthenticationTestUtils (com.synopsys.integration.alert.test.common.AuthenticationTestUtils)23 ActionResponse (com.synopsys.integration.alert.common.action.ActionResponse)15 ValidationActionResponse (com.synopsys.integration.alert.common.action.ValidationActionResponse)8 DistributionJobDetailsModel (com.synopsys.integration.alert.common.persistence.model.job.details.DistributionJobDetailsModel)6 UUID (java.util.UUID)6 AlertException (com.synopsys.integration.alert.api.common.model.exception.AlertException)5 ValidationResponseModel (com.synopsys.integration.alert.common.rest.model.ValidationResponseModel)4 JobDetailsAccessor (com.synopsys.integration.alert.common.persistence.accessor.JobDetailsAccessor)3 ProcessingAuditAccessor (com.synopsys.integration.alert.common.persistence.accessor.ProcessingAuditAccessor)3 DistributionEvent (com.synopsys.integration.alert.processor.api.distribute.DistributionEvent)3 Optional (java.util.Optional)3 Set (java.util.Set)3 Mockito (org.mockito.Mockito)3 AzureBoardsJobDetailsEntity (com.synopsys.integration.alert.database.job.azure.boards.AzureBoardsJobDetailsEntity)2