diff options
Diffstat (limited to 'main/src/test/java/org/onap/policy/pdpx/main/rest/TestXacmlPdpStatistics.java')
-rw-r--r-- | main/src/test/java/org/onap/policy/pdpx/main/rest/TestXacmlPdpStatistics.java | 123 |
1 files changed, 22 insertions, 101 deletions
diff --git a/main/src/test/java/org/onap/policy/pdpx/main/rest/TestXacmlPdpStatistics.java b/main/src/test/java/org/onap/policy/pdpx/main/rest/TestXacmlPdpStatistics.java index 6a762924..250f21e6 100644 --- a/main/src/test/java/org/onap/policy/pdpx/main/rest/TestXacmlPdpStatistics.java +++ b/main/src/test/java/org/onap/policy/pdpx/main/rest/TestXacmlPdpStatistics.java @@ -21,31 +21,11 @@ package org.onap.policy.pdpx.main.rest; -import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; -import java.io.File; -import java.io.IOException; -import javax.ws.rs.client.Client; -import javax.ws.rs.client.ClientBuilder; -import javax.ws.rs.client.Invocation; -import javax.ws.rs.client.WebTarget; -import javax.ws.rs.core.MediaType; -import org.glassfish.jersey.client.ClientConfig; -import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature; -import org.junit.BeforeClass; -import org.junit.ClassRule; import org.junit.Test; -import org.junit.rules.TemporaryFolder; -import org.onap.policy.common.endpoints.event.comm.client.TopicSinkClientException; -import org.onap.policy.common.utils.network.NetworkUtil; -import org.onap.policy.pdpx.main.PolicyXacmlPdpException; -import org.onap.policy.pdpx.main.parameters.CommonTestData; -import org.onap.policy.pdpx.main.parameters.RestServerParameters; -import org.onap.policy.pdpx.main.rest.XacmlPdpStatisticsManager; +import org.onap.policy.pdpx.main.CommonRest; import org.onap.policy.pdpx.main.rest.model.StatisticsReport; -import org.onap.policy.pdpx.main.startstop.Main; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -53,101 +33,42 @@ import org.slf4j.LoggerFactory; * Class to perform unit test of {@link XacmlPdpRestController}. * */ -public class TestXacmlPdpStatistics { +public class TestXacmlPdpStatistics extends CommonRest { private static final Logger LOGGER = LoggerFactory.getLogger(TestXacmlPdpStatistics.class); - private static File applicationPath; - - @ClassRule - public static final TemporaryFolder applicationFolder = new TemporaryFolder(); - - /** - * Turn off some debugging and create temporary folder for applications. - * - * @throws IOException If temporary folder fails - */ - @BeforeClass - public static void beforeClass() throws IOException { - System.setProperty("org.eclipse.jetty.util.log.class", "org.eclipse.jetty.util.log.StdErrLog"); - System.setProperty("org.eclipse.jetty.LEVEL", "OFF"); - applicationPath = applicationFolder.newFolder(); - } @Test - public void testXacmlPdpStatistics_200() throws PolicyXacmlPdpException, InterruptedException { - try { - LOGGER.info("*************************** Running testXacmlPdpStatistics_200 ***************************"); - final Main main = startXacmlPdpService(); - StatisticsReport report = getXacmlPdpStatistics(); - validateReport(report, 0, 200); - assertThat(report.getTotalPolicyTypesCount()).isGreaterThan(0); - updateXacmlPdpStatistics(); - report = getXacmlPdpStatistics(); - validateReport(report, 1, 200); - stopXacmlPdpService(main); - XacmlPdpStatisticsManager.resetAllStatistics(); - } catch (final Exception e) { - LOGGER.error("testApiStatistics_200 failed", e); - fail("Test should not throw an exception"); - } + public void testXacmlPdpStatistics_200() throws Exception { + LOGGER.info("*************************** Running testXacmlPdpStatistics_200 ***************************"); + StatisticsReport report = getXacmlPdpStatistics(); + validateReport(report, 0, 200); + updateXacmlPdpStatistics(); + report = getXacmlPdpStatistics(); + validateReport(report, 1, 200); } @Test - public void testXacmlPdpStatistics_500() throws InterruptedException { + public void testXacmlPdpStatistics_500() throws Exception { LOGGER.info("***************************** Running testXacmlPdpStatistics_500 *****************************"); - final RestServerParameters restServerParams = new CommonTestData().getRestServerParameters(false); - restServerParams.setName(CommonTestData.PDPX_GROUP_NAME); - final XacmlPdpRestServer restServer = new XacmlPdpRestServer(restServerParams, - applicationPath.getAbsolutePath()); - try { - restServer.start(); - final StatisticsReport report = getXacmlPdpStatistics(); - validateReport(report, 0, 500); - restServer.shutdown(); - XacmlPdpStatisticsManager.resetAllStatistics(); - } catch (final Exception e) { - LOGGER.error("testApiStatistics_500 failed", e); - fail("Test should not throw an exception"); - } - } - - - private Main startXacmlPdpService() throws TopicSinkClientException { - final String[] XacmlPdpConfigParameters = {"-c", "parameters/XacmlPdpConfigParameters.json", "-p", - "parameters/topic.properties"}; - return new Main(XacmlPdpConfigParameters); - } + markActivatorDead(); - private void stopXacmlPdpService(final Main main) throws PolicyXacmlPdpException { - main.shutdown(); + final StatisticsReport report = getXacmlPdpStatistics(); + validateReport(report, 0, 500); } - private StatisticsReport getXacmlPdpStatistics() throws InterruptedException, IOException { - - final ClientConfig clientConfig = new ClientConfig(); - - final HttpAuthenticationFeature feature = HttpAuthenticationFeature.basic("healthcheck", "zb!XztG34"); - clientConfig.register(feature); - - final Client client = ClientBuilder.newClient(clientConfig); - final WebTarget webTarget = client.target("http://localhost:6969/policy/pdpx/v1/statistics"); - - final Invocation.Builder invocationBuilder = webTarget.request(MediaType.APPLICATION_JSON); - - if (!NetworkUtil.isTcpPortOpen("localhost", 6969, 20, 1000L)) { - throw new IllegalStateException("Cannot connect to port 6969"); - } - - return invocationBuilder.get(StatisticsReport.class); + private StatisticsReport getXacmlPdpStatistics() throws Exception { + return sendHttpsRequest("statistics").get(StatisticsReport.class); } private void updateXacmlPdpStatistics() { - XacmlPdpStatisticsManager.updateTotalPoliciesCount(); - XacmlPdpStatisticsManager.updatePermitDecisionsCount(); - XacmlPdpStatisticsManager.updateDenyDecisionsCount(); - XacmlPdpStatisticsManager.updateIndeterminantDecisionsCount(); - XacmlPdpStatisticsManager.updateNotApplicableDecisionsCount(); + XacmlPdpStatisticsManager stats = XacmlPdpStatisticsManager.getCurrent(); + + stats.updateTotalPoliciesCount(); + stats.updatePermitDecisionsCount(); + stats.updateDenyDecisionsCount(); + stats.updateIndeterminantDecisionsCount(); + stats.updateNotApplicableDecisionsCount(); } private void validateReport(final StatisticsReport report, final int count, final int code) { |