package org.apereo.cas.audit.config;
import org.apereo.cas.audit.spi.DelegatingAuditTrailManager;
import org.apereo.cas.audit.spi.config.CasCoreAuditConfiguration;
import org.apereo.cas.config.CasCoreAuthenticationConfiguration;
import org.apereo.cas.config.CasCoreAuthenticationHandlersConfiguration;
import org.apereo.cas.config.CasCoreAuthenticationMetadataConfiguration;
import org.apereo.cas.config.CasCoreAuthenticationPolicyConfiguration;
import org.apereo.cas.config.CasCoreAuthenticationPrincipalConfiguration;
import org.apereo.cas.config.CasCoreAuthenticationSupportConfiguration;
import org.apereo.cas.config.CasCoreHttpConfiguration;
import org.apereo.cas.config.CasCoreServicesConfiguration;
import org.apereo.cas.config.CasPersonDirectoryConfiguration;
import org.apereo.cas.services.RegisteredServiceTestUtils;
import org.apereo.cas.services.ServicesManager;
import org.apereo.inspektr.common.web.ClientInfo;
import org.apereo.inspektr.common.web.ClientInfoHolder;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.autoconfigure.RefreshAutoConfiguration;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;
import static org.junit.Assert.*;
/**
* This is {@link CasSupportJdbcAuditConfigurationTests}.
*
* @author Misagh Moayyed
* @since 5.1.0
*/
@RunWith(SpringRunner.class)
@Transactional
@SpringBootTest(classes = {RefreshAutoConfiguration.class,
CasPersonDirectoryConfiguration.class,
CasCoreHttpConfiguration.class,
CasSupportJdbcAuditConfiguration.class,
CasCoreAuditConfiguration.class,
CasCoreAuthenticationConfiguration.class,
CasCoreAuthenticationMetadataConfiguration.class,
CasCoreAuthenticationPolicyConfiguration.class,
CasCoreAuthenticationPrincipalConfiguration.class,
CasCoreAuthenticationHandlersConfiguration.class,
CasCoreAuthenticationSupportConfiguration.class,
CasCoreServicesConfiguration.class})
public class CasSupportJdbcAuditConfigurationTests {
@Autowired
@Qualifier("auditTrailManager")
private DelegatingAuditTrailManager auditTrailManager;
@Autowired
@Qualifier("servicesManager")
private ServicesManager servicesManager;
@BeforeClass
public static void setUp() {
final MockHttpServletRequest request = new MockHttpServletRequest();
request.setRemoteAddr("1.2.3.4");
request.setLocalAddr("7.8.9.0");
ClientInfoHolder.setClientInfo(new ClientInfo(request));
}
@Test
public void verifyAudit() {
this.servicesManager.save(RegisteredServiceTestUtils.getRegisteredService("auditservicetest"));
assertEquals(this.auditTrailManager.get().size(), 1);
}
}