aboutsummaryrefslogtreecommitdiffstats
path: root/applications/guard/src/test/java
diff options
context:
space:
mode:
authorPamela Dragosh <pdragosh@research.att.com>2019-04-12 11:03:44 -0400
committerPamela Dragosh <pdragosh@research.att.com>2019-04-12 20:28:17 -0400
commit70736cfbf6ad1a068f8ee53adddd4faa3b6fa8a8 (patch)
tree6f883bb4cf79cd18eaac33c46446ac86a42934ce /applications/guard/src/test/java
parenta5b035d9bb633cf5d520a62c451250db4b018a13 (diff)
Add statistics and sonar cleanup and blacklist
* Adding in the statistics for decisions and errors. * Cleaned up sonar issues and added code coverage. * Sped up JUnit tests * Fix JUnit issues with not finding application path * Fix TestDecision not finding persistence.xml * Fix for lingering statistics from previous runs. That needs to be addressed at a later time. * Changed persistence to use properties for configuration of database rather than hard coding the persistence.xml * Fix for Josh's comment to use else-if * Changed to use apache Pair * Added blacklist guard policy Issue-ID: POLICY-1440 Change-Id: I56af8c3dcc82463f7381f1eaea7f1440b76200bd Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
Diffstat (limited to 'applications/guard/src/test/java')
-rw-r--r--applications/guard/src/test/java/org/onap/policy/xacml/pdp/application/guard/CoordinationTest.java7
-rw-r--r--applications/guard/src/test/java/org/onap/policy/xacml/pdp/application/guard/GuardPdpApplicationTest.java54
2 files changed, 46 insertions, 15 deletions
diff --git a/applications/guard/src/test/java/org/onap/policy/xacml/pdp/application/guard/CoordinationTest.java b/applications/guard/src/test/java/org/onap/policy/xacml/pdp/application/guard/CoordinationTest.java
index e94ad712..9edf11dd 100644
--- a/applications/guard/src/test/java/org/onap/policy/xacml/pdp/application/guard/CoordinationTest.java
+++ b/applications/guard/src/test/java/org/onap/policy/xacml/pdp/application/guard/CoordinationTest.java
@@ -24,6 +24,8 @@ package org.onap.policy.xacml.pdp.application.guard;
import static org.assertj.core.api.Assertions.assertThat;
+import com.att.research.xacml.api.Response;
+
import java.io.File;
import java.io.IOException;
import java.sql.Date;
@@ -37,6 +39,7 @@ import java.util.UUID;
import javax.persistence.EntityManager;
import javax.persistence.Persistence;
+import org.apache.commons.lang3.tuple.Pair;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -196,11 +199,11 @@ public class CoordinationTest {
//
// Ask for a decision
//
- DecisionResponse response = service.makeDecision(request);
+ Pair<DecisionResponse, Response> decision = service.makeDecision(request);
//
// Check decision
//
- checkDecision(expected, response);
+ checkDecision(expected, decision.getKey());
}
@Test
diff --git a/applications/guard/src/test/java/org/onap/policy/xacml/pdp/application/guard/GuardPdpApplicationTest.java b/applications/guard/src/test/java/org/onap/policy/xacml/pdp/application/guard/GuardPdpApplicationTest.java
index c5cf0327..7f5a1cef 100644
--- a/applications/guard/src/test/java/org/onap/policy/xacml/pdp/application/guard/GuardPdpApplicationTest.java
+++ b/applications/guard/src/test/java/org/onap/policy/xacml/pdp/application/guard/GuardPdpApplicationTest.java
@@ -24,6 +24,8 @@ package org.onap.policy.xacml.pdp.application.guard;
import static org.assertj.core.api.Assertions.assertThat;
+import com.att.research.xacml.api.Response;
+
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
@@ -39,6 +41,7 @@ import java.util.UUID;
import javax.persistence.EntityManager;
import javax.persistence.Persistence;
+import org.apache.commons.lang3.tuple.Pair;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -191,11 +194,11 @@ public class GuardPdpApplicationTest {
//
// Ask for a decision
//
- DecisionResponse response = service.makeDecision(request);
+ Pair<DecisionResponse, Response> decision = service.makeDecision(request);
//
// Check decision
//
- checkDecision(expected, response);
+ checkDecision(expected, decision.getKey());
}
@Test
@@ -215,7 +218,7 @@ public class GuardPdpApplicationTest {
// can support the correct policy types.
//
assertThat(service.supportedPolicyTypes()).isNotEmpty();
- assertThat(service.supportedPolicyTypes().size()).isEqualTo(3);
+ assertThat(service.supportedPolicyTypes().size()).isEqualTo(4);
assertThat(service.canSupportPolicyType(new ToscaPolicyTypeIdentifier(
"onap.policies.controlloop.guard.FrequencyLimiter", "1.0.0"))).isTrue();
assertThat(service.canSupportPolicyType(new ToscaPolicyTypeIdentifier(
@@ -225,6 +228,10 @@ public class GuardPdpApplicationTest {
assertThat(service.canSupportPolicyType(new ToscaPolicyTypeIdentifier(
"onap.policies.controlloop.guard.MinMax", "1.0.1"))).isFalse();
assertThat(service.canSupportPolicyType(new ToscaPolicyTypeIdentifier(
+ "onap.policies.controlloop.guard.Blacklist", "1.0.0"))).isTrue();
+ assertThat(service.canSupportPolicyType(new ToscaPolicyTypeIdentifier(
+ "onap.policies.controlloop.guard.Blacklist", "1.0.1"))).isFalse();
+ assertThat(service.canSupportPolicyType(new ToscaPolicyTypeIdentifier(
"onap.policies.controlloop.guard.coordination.FirstBlocksSecond", "1.0.0"))).isTrue();
assertThat(service.canSupportPolicyType(new ToscaPolicyTypeIdentifier(
"onap.policies.controlloop.guard.coordination.FirstBlocksSecond", "1.0.1"))).isFalse();
@@ -335,22 +342,43 @@ public class GuardPdpApplicationTest {
//
// Ask for a decision - should get permit
//
- DecisionResponse response = service.makeDecision(request);
- LOGGER.info("Looking for Permit Decision {}", response);
- assertThat(response).isNotNull();
- assertThat(response.getStatus()).isNotNull();
- assertThat(response.getStatus()).isEqualTo("Permit");
+ Pair<DecisionResponse, Response> decision = service.makeDecision(request);
+ LOGGER.info("Looking for Permit Decision {}", decision.getKey());
+ assertThat(decision.getKey()).isNotNull();
+ assertThat(decision.getKey().getStatus()).isNotNull();
+ assertThat(decision.getKey().getStatus()).isEqualTo("Permit");
//
// Try a deny
//
guard.put("vfCount", "10");
resource.put("guard", guard);
request.setResource(resource);
- response = service.makeDecision(request);
- LOGGER.info("Looking for Deny Decision {}", response);
- assertThat(response).isNotNull();
- assertThat(response.getStatus()).isNotNull();
- assertThat(response.getStatus()).isEqualTo("Deny");
+ decision = service.makeDecision(request);
+ LOGGER.info("Looking for Deny Decision {}", decision.getKey());
+ assertThat(decision.getKey()).isNotNull();
+ assertThat(decision.getKey().getStatus()).isNotNull();
+ assertThat(decision.getKey().getStatus()).isEqualTo("Deny");
+ }
+
+ @Test
+ public void test6Blacklist() throws CoderException, XacmlApplicationException {
+ LOGGER.info("**************** Running test4 ****************");
+ //
+ // Setup requestVfCount1 to point to another target for this test
+ //
+ ((Map<String, Object>)requestVfCount3.getResource().get("guard")).put("targets", "vLoadBalancer-01");
+ //
+ // vfcount=1 above min of 2: should get a permit
+ //
+ requestAndCheckDecision(requestVfCount3, PERMIT);
+ //
+ // Now load the vDNS blacklist policy
+ //
+ TestUtils.loadPolicies("src/test/resources/vDNS.policy.guard.blacklist.output.tosca.yaml", service);
+ //
+ // vfcount=1 above min of 2: should get a permit
+ //
+ requestAndCheckDecision(requestVfCount3, DENY);
}
@SuppressWarnings("unchecked")