Search in sources :

Example 1 with AuditServiceBuilder

use of org.forgerock.audit.AuditServiceBuilder in project OpenAM by OpenRock.

the class AuditEventPublisherImplTest method shouldFallBackToDefaultAuditServiceWhenRealmHasShutDown.

@Test
public void shouldFallBackToDefaultAuditServiceWhenRealmHasShutDown() throws Exception {
    // Given
    AuditEvent auditEvent = getAuditEvent("deadRealm");
    givenDefaultAuditService();
    when(mockHandler.publishEvent(any(Context.class), eq("access"), auditEventCaptor.capture())).thenReturn(dummyPromise);
    AMAuditServiceConfiguration serviceConfig = new AMAuditServiceConfiguration(true);
    AuditServiceBuilder builder = AuditServiceBuilder.newAuditService().withConfiguration(serviceConfig).withAuditEventHandler(mock(AuditEventHandler.class));
    AMAuditService auditService = new RealmAuditServiceProxy(builder.build(), mock(AMAuditService.class), serviceConfig);
    auditService.startup();
    auditService.shutdown();
    when(auditServiceProvider.getAuditService("deadRealm")).thenReturn(auditService);
    // When
    auditEventPublisher.tryPublish("access", auditEvent);
    // Then
    assertThat(auditEventCaptor.getValue()).isEqualTo(auditEvent.getValue());
}
Also used : Context(org.forgerock.services.context.Context) AuditServiceBuilder(org.forgerock.audit.AuditServiceBuilder) AuditEvent(org.forgerock.audit.events.AuditEvent) AuditEventHandler(org.forgerock.audit.events.handlers.AuditEventHandler) AMAuditServiceConfiguration(org.forgerock.openam.audit.configuration.AMAuditServiceConfiguration) Test(org.testng.annotations.Test)

Example 2 with AuditServiceBuilder

use of org.forgerock.audit.AuditServiceBuilder in project OpenAM by OpenRock.

the class AuditServiceProviderImpl method refreshDefaultAuditService.

private void refreshDefaultAuditService() {
    AMAuditServiceConfiguration configuration = configProvider.getDefaultConfiguration();
    AuditServiceBuilder builder = AuditServiceBuilder.newAuditService().withEventTopicsMetaData(eventTopicsMetaData).withConfiguration(configuration);
    if (configuration.isAuditEnabled()) {
        configureEventHandlers(builder, configProvider.getDefaultEventHandlerConfigurations());
    }
    try {
        defaultAuditService.setDelegate(builder.build(), configuration);
    } catch (ServiceUnavailableException e) {
        debug.error("Default Audit Service configuration failed.", e);
    }
}
Also used : AuditServiceBuilder(org.forgerock.audit.AuditServiceBuilder) AMAuditServiceConfiguration(org.forgerock.openam.audit.configuration.AMAuditServiceConfiguration) ServiceUnavailableException(org.forgerock.json.resource.ServiceUnavailableException)

Example 3 with AuditServiceBuilder

use of org.forgerock.audit.AuditServiceBuilder in project OpenAM by OpenRock.

the class AuditEventPublisherImplTest method givenDefaultAuditService.

private void givenDefaultAuditService() throws ServiceUnavailableException, AuditException {
    AMAuditServiceConfiguration serviceConfig = new AMAuditServiceConfiguration(true);
    AuditServiceBuilder builder = AuditServiceBuilder.newAuditService().withConfiguration(serviceConfig).withAuditEventHandler(mockHandler);
    AMAuditService auditService = new DefaultAuditServiceProxy(builder.build(), serviceConfig);
    auditService.startup();
    when(auditServiceProvider.getDefaultAuditService()).thenReturn(auditService);
}
Also used : AuditServiceBuilder(org.forgerock.audit.AuditServiceBuilder) AMAuditServiceConfiguration(org.forgerock.openam.audit.configuration.AMAuditServiceConfiguration)

Example 4 with AuditServiceBuilder

use of org.forgerock.audit.AuditServiceBuilder in project OpenAM by OpenRock.

the class AuditEventPublisherImplTest method givenSuppressedFailureAuditService.

private void givenSuppressedFailureAuditService() throws ServiceUnavailableException, AuditException {
    AMAuditServiceConfiguration serviceConfig = new AMAuditServiceConfiguration(true);
    AuditServiceBuilder builder = AuditServiceBuilder.newAuditService().withConfiguration(serviceConfig).withAuditEventHandler(mockHandler);
    AMAuditService auditService = new RealmAuditServiceProxy(builder.build(), mock(AMAuditService.class), serviceConfig);
    auditService.startup();
    when(auditServiceProvider.getAuditService(FAILURE_SUPPRESSED_REALM)).thenReturn(auditService);
}
Also used : AuditServiceBuilder(org.forgerock.audit.AuditServiceBuilder) AMAuditServiceConfiguration(org.forgerock.openam.audit.configuration.AMAuditServiceConfiguration)

Example 5 with AuditServiceBuilder

use of org.forgerock.audit.AuditServiceBuilder in project OpenAM by OpenRock.

the class AuditServiceProviderImpl method refreshRealmAuditService.

private void refreshRealmAuditService(String realm) {
    AMAuditServiceConfiguration configuration = configProvider.getRealmConfiguration(realm);
    AuditServiceBuilder builder = AuditServiceBuilder.newAuditService().withEventTopicsMetaData(eventTopicsMetaData).withConfiguration(configuration);
    if (configuration.isAuditEnabled()) {
        configureEventHandlers(builder, configProvider.getRealmEventHandlerConfigurations(realm));
    }
    AMAuditService auditService = auditServices.get(realm);
    try {
        if (auditService == null) {
            auditService = new RealmAuditServiceProxy(builder.build(), defaultAuditService, configuration);
            auditService.startup();
            auditServices.put(realm, auditService);
        } else {
            auditService.setDelegate(builder.build(), configuration);
        }
    } catch (ServiceUnavailableException e) {
        debug.error("New Audit Service configuration for realm {} failed.", e, realm);
        // remove it so that we can fall back to the default service
        auditServices.remove(realm);
    }
}
Also used : AuditServiceBuilder(org.forgerock.audit.AuditServiceBuilder) AMAuditServiceConfiguration(org.forgerock.openam.audit.configuration.AMAuditServiceConfiguration) ServiceUnavailableException(org.forgerock.json.resource.ServiceUnavailableException)

Aggregations

AuditServiceBuilder (org.forgerock.audit.AuditServiceBuilder)7 AMAuditServiceConfiguration (org.forgerock.openam.audit.configuration.AMAuditServiceConfiguration)7 ServiceUnavailableException (org.forgerock.json.resource.ServiceUnavailableException)3 AuditEvent (org.forgerock.audit.events.AuditEvent)1 AuditEventHandler (org.forgerock.audit.events.handlers.AuditEventHandler)1 AMAuditService (org.forgerock.openam.audit.AMAuditService)1 AuditEventFactory (org.forgerock.openam.audit.AuditEventFactory)1 AuditEventPublisher (org.forgerock.openam.audit.AuditEventPublisher)1 AuditServiceProvider (org.forgerock.openam.audit.AuditServiceProvider)1 DefaultAuditServiceProxy (org.forgerock.openam.audit.DefaultAuditServiceProxy)1 Context (org.forgerock.services.context.Context)1 Restlet (org.restlet.Restlet)1 BeforeMethod (org.testng.annotations.BeforeMethod)1 Test (org.testng.annotations.Test)1