aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/test/java/org/onap/policy/pap/main/rest/e2e/StatisticsTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/test/java/org/onap/policy/pap/main/rest/e2e/StatisticsTest.java')
-rw-r--r--main/src/test/java/org/onap/policy/pap/main/rest/e2e/StatisticsTest.java199
1 files changed, 0 insertions, 199 deletions
diff --git a/main/src/test/java/org/onap/policy/pap/main/rest/e2e/StatisticsTest.java b/main/src/test/java/org/onap/policy/pap/main/rest/e2e/StatisticsTest.java
deleted file mode 100644
index 876ea0fb..00000000
--- a/main/src/test/java/org/onap/policy/pap/main/rest/e2e/StatisticsTest.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * ONAP PAP
- * ================================================================================
- * Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2020-2021 Nordix Foundation.
- * Modifications Copyright (C) 2021-2022 Bell Canada. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.pap.main.rest.e2e;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.Assert.assertEquals;
-
-import java.net.HttpURLConnection;
-import java.time.Instant;
-import java.util.List;
-import java.util.Map;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.onap.policy.common.utils.services.Registry;
-import org.onap.policy.models.pdp.concepts.PdpStatistics;
-import org.onap.policy.pap.main.PapConstants;
-import org.onap.policy.pap.main.rest.PapStatisticsManager;
-import org.onap.policy.pap.main.rest.StatisticsReport;
-
-public class StatisticsTest extends End2EndBase {
- private static final String STATISTICS_ENDPOINT = "statistics";
- private static final String END_TIME_NAME = "endTime";
- private static final String START_TIME_NAME = "startTime";
- private static final long TIMESTAMP_SEC = 1562494272;
-
- private static PdpStatistics pdpStatisticsRecord;
-
- /**
- * Adds a record to the DB.
- */
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- End2EndBase.setUpBeforeClass();
-
- pdpStatisticsRecord = new PdpStatistics();
- pdpStatisticsRecord.setPdpGroupName("defaultGroup");
- pdpStatisticsRecord.setPdpSubGroupName("apex");
- pdpStatisticsRecord.setPdpInstanceId("pdp1");
- pdpStatisticsRecord.setTimeStamp(Instant.ofEpochSecond(TIMESTAMP_SEC));
- pdpStatisticsRecord.setPolicyDeployCount(1);
- pdpStatisticsRecord.setPolicyDeployFailCount(0);
- pdpStatisticsRecord.setPolicyDeploySuccessCount(1);
- pdpStatisticsRecord.setPolicyExecutedCount(1);
- pdpStatisticsRecord.setPolicyExecutedFailCount(0);
- pdpStatisticsRecord.setPolicyExecutedSuccessCount(1);
- }
-
- @Override
- @Before
- public void setUp() throws Exception {
- super.setUp();
- pdpStatisticsService.createPdpStatistics(List.of(pdpStatisticsRecord));
- }
-
- @Test
- public void test() throws Exception {
- Invocation.Builder invocationBuilder = sendRequest(STATISTICS_ENDPOINT);
- StatisticsReport report = invocationBuilder.get(StatisticsReport.class);
- assertEquals(HttpURLConnection.HTTP_OK, report.getCode());
-
- updateDistributionStatistics();
-
- invocationBuilder = sendRequest(STATISTICS_ENDPOINT);
- StatisticsReport report2 = invocationBuilder.get(StatisticsReport.class);
-
- assertEquals(HttpURLConnection.HTTP_OK, report.getCode());
- assertEquals(report.getTotalPdpCount() + 1, report2.getTotalPdpCount());
- assertEquals(report.getTotalPdpGroupCount() + 1, report2.getTotalPdpGroupCount());
- assertEquals(report.getTotalPolicyDeployCount() + 1, report2.getTotalPolicyDeployCount());
- assertEquals(report.getPolicyDeploySuccessCount() + 1, report2.getPolicyDeploySuccessCount());
- assertEquals(report.getPolicyDeployFailureCount() + 1, report2.getPolicyDeployFailureCount());
- assertEquals(report.getTotalPolicyDownloadCount() + 1, report2.getTotalPolicyDownloadCount());
- assertEquals(report.getPolicyDeploySuccessCount() + 1, report2.getPolicyDeploySuccessCount());
- assertEquals(report.getPolicyDeployFailureCount() + 1, report2.getPolicyDeployFailureCount());
- }
-
- @Test
- public void testDb() throws Exception {
- verifyResponse("pdps/statistics");
- }
-
- @Test
- public void testDbWithGroup() throws Exception {
- verifyResponse("pdps/statistics/defaultGroup");
-
- }
-
- @Test
- public void testDbWithSubGroup() throws Exception {
- verifyResponse("pdps/statistics/defaultGroup/apex");
- }
-
- @Test
- public void testDbWithPdp() throws Exception {
- verifyResponse("pdps/statistics/defaultGroup/apex/pdp1");
- }
-
- @Test
- public void testDbWithPdpLatest() throws Exception {
- verifyResponse("pdps/statistics/defaultGroup/apex/pdp1?recordCount=5");
- }
-
- private void updateDistributionStatistics() {
- PapStatisticsManager mgr = Registry.get(PapConstants.REG_STATISTICS_MANAGER, PapStatisticsManager.class);
-
- mgr.updateTotalPdpCount();
- mgr.updateTotalPdpGroupCount();
- mgr.updateTotalPolicyDeployCount();
- mgr.updatePolicyDeploySuccessCount();
- mgr.updatePolicyDeployFailureCount();
- mgr.updateTotalPolicyDownloadCount();
- mgr.updatePolicyDownloadSuccessCount();
- mgr.updatePolicyDownloadFailureCount();
- }
-
- private void verifyResponse(String endpoint) throws Exception {
- Invocation.Builder invocationBuilder = sendRequest(endpoint);
- verifyResponse(invocationBuilder.get());
-
- // repeat with "start", in range
- invocationBuilder = sendRequest(addTimeParam(endpoint, START_TIME_NAME, TIMESTAMP_SEC));
- verifyResponse(invocationBuilder.get());
-
- // repeat with "end", in range
- invocationBuilder = sendRequest(addTimeParam(endpoint, END_TIME_NAME, TIMESTAMP_SEC));
- verifyResponse(invocationBuilder.get());
-
- // repeat with "start" and "end", in range
- invocationBuilder = sendRequest(addTimeParam(endpoint, START_TIME_NAME, TIMESTAMP_SEC - 1)
- + "&" + END_TIME_NAME + "=" + TIMESTAMP_SEC + 1);
- verifyResponse(invocationBuilder.get());
-
- // repeat with "start", out of range
- invocationBuilder = sendRequest(addTimeParam(endpoint, START_TIME_NAME, TIMESTAMP_SEC + 1));
- verifyEmptyResponse(invocationBuilder.get());
-
- // repeat with "end", out of range
- invocationBuilder = sendRequest(addTimeParam(endpoint, END_TIME_NAME, TIMESTAMP_SEC - 1));
- verifyEmptyResponse(invocationBuilder.get());
- }
-
- private void verifyResponse(Response testResponse) {
- assertEquals(Response.Status.OK.getStatusCode(), testResponse.getStatus());
- Map<String, Map<String, List<PdpStatistics>>> map =
- testResponse.readEntity(new GenericType<Map<String, Map<String, List<PdpStatistics>>>>() {});
- Map<String, List<PdpStatistics>> subMap = map.get("defaultGroup");
- List<PdpStatistics> resRecord = subMap.get("apex");
- assertEquals("pdp1", resRecord.get(0).getPdpInstanceId());
- assertEquals("apex", resRecord.get(0).getPdpSubGroupName());
- assertEquals("defaultGroup", resRecord.get(0).getPdpGroupName());
- }
-
- private void verifyEmptyResponse(Response testResponse) {
- assertEquals(Response.Status.OK.getStatusCode(), testResponse.getStatus());
- Map<String, Map<String, List<PdpStatistics>>> map =
- testResponse.readEntity(new GenericType<Map<String, Map<String, List<PdpStatistics>>>>() {});
- assertThat(map).isEmpty();
- }
-
- /**
- * Adds a timestamp parameter to an endpoint string.
- * @param endpoint endpoint to which it should be added
- * @param paramName parameter name
- * @param timeSec time, in seconds
- * @return the new endpoint, with the added parameter
- */
- private String addTimeParam(String endpoint, String paramName, long timeSec) {
- StringBuilder builder = new StringBuilder(endpoint);
- builder.append(endpoint.contains("?") ? '&' : '?');
- builder.append(paramName);
- builder.append('=');
- builder.append(timeSec);
- return builder.toString();
- }
-}