aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/test/java/org/onap/policy/pap/main/rest/e2e/PolicyAuditTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/test/java/org/onap/policy/pap/main/rest/e2e/PolicyAuditTest.java')
-rw-r--r--main/src/test/java/org/onap/policy/pap/main/rest/e2e/PolicyAuditTest.java120
1 files changed, 89 insertions, 31 deletions
diff --git a/main/src/test/java/org/onap/policy/pap/main/rest/e2e/PolicyAuditTest.java b/main/src/test/java/org/onap/policy/pap/main/rest/e2e/PolicyAuditTest.java
index c4de1f4a..e1211f34 100644
--- a/main/src/test/java/org/onap/policy/pap/main/rest/e2e/PolicyAuditTest.java
+++ b/main/src/test/java/org/onap/policy/pap/main/rest/e2e/PolicyAuditTest.java
@@ -19,7 +19,6 @@
package org.onap.policy.pap.main.rest.e2e;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.Assert.assertEquals;
import java.time.Instant;
import java.util.ArrayList;
@@ -38,6 +37,7 @@ import org.onap.policy.models.provider.PolicyModelsProvider;
import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
import org.onap.policy.pap.main.PapConstants;
import org.onap.policy.pap.main.PolicyModelsProviderFactoryWrapper;
+import org.onap.policy.pap.main.rest.PolicyAuditControllerV1;
public class PolicyAuditTest extends End2EndBase {
private static final String TEST_GROUP = "testGroup";
@@ -47,6 +47,9 @@ public class PolicyAuditTest extends End2EndBase {
private static final String DEFAULT_USER = "TEST";
private static final String POLICY_AUDIT_ENDPOINT = "policies/audit";
private static final String URI_SEPERATOR = "/";
+ private static final String QUERY_PARAMS_INVALID = "?recordCount=5&fromDate=2021-07-25T01:25:15";
+ private static final String QUERY_PARAMS_CORRECT = "?recordCount=5&fromDate=1627219515&toDate=1627478715";
+ private static final String QUERY_PARAMS_INCORRECT = "?recordCount=5&fromDate=1627478715&toDate=1627565115";
@Override
@Before
@@ -57,16 +60,17 @@ public class PolicyAuditTest extends End2EndBase {
private void setupEnv() {
List<PolicyAudit> recordList = new ArrayList<>();
+ Instant auditRecordTime = Instant.ofEpochSecond(1627392315L);
PolicyModelsProviderFactoryWrapper modelProviderWrapper =
Registry.get(PapConstants.REG_PAP_DAO_FACTORY, PolicyModelsProviderFactoryWrapper.class);
try (PolicyModelsProvider databaseProvider = modelProviderWrapper.create()) {
PolicyAudit audit1 = PolicyAudit.builder().auditId(123L).pdpGroup(TEST_GROUP).pdpType(TEST_PDP_TYPE)
- .policy(POLICY_A).action(AuditAction.DEPLOYMENT).timestamp(Instant.now()).user(DEFAULT_USER)
- .build();
+ .policy(POLICY_A).action(AuditAction.DEPLOYMENT)
+ .timestamp(auditRecordTime).user(DEFAULT_USER).build();
PolicyAudit audit2 = PolicyAudit.builder().auditId(456L).pdpGroup(TEST_GROUP).pdpType(TEST_PDP_TYPE)
- .policy(POLICY_B).action(AuditAction.UNDEPLOYMENT).timestamp(Instant.now())
- .user(DEFAULT_USER).build();
+ .policy(POLICY_B).action(AuditAction.UNDEPLOYMENT)
+ .timestamp(auditRecordTime).user(DEFAULT_USER).build();
recordList.add(audit1);
recordList.add(audit2);
databaseProvider.createAuditRecords(recordList);
@@ -78,55 +82,101 @@ public class PolicyAuditTest extends End2EndBase {
@Test
public void testGetAllAuditRecords() throws Exception {
String uri = POLICY_AUDIT_ENDPOINT;
+ sendAndValidateSuccess(uri, 2);
+ }
- Invocation.Builder invocationBuilder = sendRequest(uri);
- Response rawresp = invocationBuilder.get();
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
-
- List<PolicyAudit> resp = rawresp.readEntity(new GenericType<List<PolicyAudit>>() {});
- validateAuditRecords(resp, 2);
+ @Test
+ public void testGetAllAuditRecordsWithParams() throws Exception {
+ // try with correct dates in query, should result in 2 records
+ String uri = POLICY_AUDIT_ENDPOINT + QUERY_PARAMS_CORRECT;
+ sendAndValidateSuccess(uri, 2);
+
+ // try with incorrect dates in query, should result in 0 record
+ uri = POLICY_AUDIT_ENDPOINT + QUERY_PARAMS_INCORRECT;
+ sendAndValidateSuccess(uri, 0);
+
+ // try with invalid date format, should result in error
+ uri = POLICY_AUDIT_ENDPOINT + QUERY_PARAMS_INVALID;
+ sendAndValidateError(uri, Response.Status.NOT_FOUND.toString());
}
@Test
public void testGetAuditRecordsByGroup() throws Exception {
String uri = POLICY_AUDIT_ENDPOINT + URI_SEPERATOR + TEST_GROUP;
+ sendAndValidateSuccess(uri, 2);
+ }
- Invocation.Builder invocationBuilder = sendRequest(uri);
- Response rawresp = invocationBuilder.get();
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
-
- List<PolicyAudit> resp = rawresp.readEntity(new GenericType<List<PolicyAudit>>() {});
- validateAuditRecords(resp, 2);
+ @Test
+ public void testGetAuditRecordsByGroupWithParams() throws Exception {
+ // try with correct dates in query, should result in 2 records
+ String uri = POLICY_AUDIT_ENDPOINT + URI_SEPERATOR + TEST_GROUP + QUERY_PARAMS_CORRECT;
+ sendAndValidateSuccess(uri, 2);
+
+ // try with incorrect dates in query, should result in error
+ uri = POLICY_AUDIT_ENDPOINT + URI_SEPERATOR + TEST_GROUP + QUERY_PARAMS_INCORRECT;
+ sendAndValidateError(uri, PolicyAuditControllerV1.NO_AUDIT_RECORD_FOUND);
+
+ // try with invalid date format, should result in error
+ uri = POLICY_AUDIT_ENDPOINT + URI_SEPERATOR + TEST_GROUP + QUERY_PARAMS_INVALID;
+ sendAndValidateError(uri, Response.Status.NOT_FOUND.toString());
}
@Test
public void testGetAuditRecordsOfPolicyWithGroup() throws Exception {
String uri = POLICY_AUDIT_ENDPOINT + URI_SEPERATOR + TEST_GROUP + URI_SEPERATOR + POLICY_A.getName()
+ URI_SEPERATOR + POLICY_A.getVersion();
+ sendAndValidateSuccess(uri, 1);
+ }
- Invocation.Builder invocationBuilder = sendRequest(uri);
- Response rawresp = invocationBuilder.get();
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
-
- List<PolicyAudit> resp = rawresp.readEntity(new GenericType<List<PolicyAudit>>() {});
- validateAuditRecords(resp, 1);
+ @Test
+ public void testGetAuditRecordsOfPolicyWithGroupWithParams() throws Exception {
+ // try with correct dates in query, should result in 1 record
+ String uri = POLICY_AUDIT_ENDPOINT + URI_SEPERATOR + TEST_GROUP + URI_SEPERATOR + POLICY_A.getName()
+ + URI_SEPERATOR + POLICY_A.getVersion() + QUERY_PARAMS_CORRECT;
+ sendAndValidateSuccess(uri, 1);
+
+ // try with incorrect dates in query, should result in error
+ uri = POLICY_AUDIT_ENDPOINT + URI_SEPERATOR + TEST_GROUP + URI_SEPERATOR + POLICY_A.getName()
+ + URI_SEPERATOR + POLICY_A.getVersion() + QUERY_PARAMS_INCORRECT;
+ sendAndValidateError(uri, PolicyAuditControllerV1.NO_AUDIT_RECORD_FOUND);
+
+ // try with invalid date format, should result in error
+ uri = POLICY_AUDIT_ENDPOINT + URI_SEPERATOR + TEST_GROUP + URI_SEPERATOR + POLICY_A.getName() + URI_SEPERATOR
+ + POLICY_A.getVersion() + QUERY_PARAMS_INVALID;
+ sendAndValidateError(uri, Response.Status.NOT_FOUND.toString());
}
@Test
public void testGetAuditRecordsOfPolicyWithoutGroup() throws Exception {
String uri = POLICY_AUDIT_ENDPOINT + URI_SEPERATOR + POLICY_A.getName() + URI_SEPERATOR + POLICY_A.getVersion();
+ sendAndValidateSuccess(uri, 1);
+ }
+
+ @Test
+ public void testGetAuditRecordsOfPolicyWithoutGroupWithParams() throws Exception {
+ // try with correct dates in query, should result in 1 record
+ String uri = POLICY_AUDIT_ENDPOINT + URI_SEPERATOR + POLICY_A.getName() + URI_SEPERATOR + POLICY_A.getVersion()
+ + QUERY_PARAMS_CORRECT;
+ sendAndValidateSuccess(uri, 1);
+
+ // try with incorrect dates in query, should result in error
+ uri = POLICY_AUDIT_ENDPOINT + URI_SEPERATOR + POLICY_A.getName() + URI_SEPERATOR + POLICY_A.getVersion()
+ + QUERY_PARAMS_INCORRECT;
+ sendAndValidateError(uri, PolicyAuditControllerV1.NO_AUDIT_RECORD_FOUND);
+
+ // try with invalid date format, should result in error
+ uri = POLICY_AUDIT_ENDPOINT + URI_SEPERATOR + POLICY_A.getName() + URI_SEPERATOR
+ + POLICY_A.getVersion() + QUERY_PARAMS_INVALID;
+ sendAndValidateError(uri, Response.Status.NOT_FOUND.toString());
+ }
+ private void sendAndValidateSuccess(String uri, int count) throws Exception {
Invocation.Builder invocationBuilder = sendRequest(uri);
Response rawresp = invocationBuilder.get();
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
-
+ assertThat(rawresp.getStatus()).isEqualTo(Response.Status.OK.getStatusCode());
List<PolicyAudit> resp = rawresp.readEntity(new GenericType<List<PolicyAudit>>() {});
- validateAuditRecords(resp, 1);
- }
-
- private void validateAuditRecords(List<PolicyAudit> result, int count) {
- assertThat(result).hasSize(count);
- for (PolicyAudit audit : result) {
+ assertThat(resp).hasSize(count);
+ for (PolicyAudit audit : resp) {
if (audit.getAuditId() == 123L) {
assertThat(audit.getPdpGroup()).isEqualTo(TEST_GROUP);
assertThat(audit.getPdpType()).isEqualTo(TEST_PDP_TYPE);
@@ -142,4 +192,12 @@ public class PolicyAuditTest extends End2EndBase {
}
}
}
+
+ private void sendAndValidateError(String uri, String errorMessage) throws Exception {
+ Invocation.Builder invocationBuilder = sendRequest(uri);
+ Response rawresp = invocationBuilder.get();
+ assertThat(rawresp.getStatus()).isEqualTo(Response.Status.NOT_FOUND.getStatusCode());
+ String resp = rawresp.readEntity(String.class);
+ assertThat(resp).contains(errorMessage);
+ }
}