Remove guard dependency from simulators 97/25797/1
authorCharles Cole <cc847m@att.com>
Thu, 7 Dec 2017 18:17:17 +0000 (12:17 -0600)
committerCharles Cole <cc847m@att.com>
Thu, 7 Dec 2017 18:17:49 +0000 (12:17 -0600)
Removed the deendency on guard from the guard simulator tests so that
the guard simulator can be used to test guard functionality.

Issue-ID: POLICY-490
Change-Id: Ie67abb85e9844c412c483b1bbf3fb4aa21f3530a
Signed-off-by: Charles Cole <cc847m@att.com>
controlloop/common/simulators/pom.xml
controlloop/common/simulators/src/test/java/org/onap/policy/simulators/GuardSimulatorTest.java

index 89b62cf..61cffb4 100644 (file)
                        <version>${project.version}</version>
                        <scope>provided</scope>
                </dependency>
-               <dependency>
-               <groupId>org.onap.policy.drools-applications</groupId>
-                       <artifactId>guard</artifactId>
-                       <version>${project.version}</version>
-                       <scope>test</scope>
-       </dependency>
                <dependency>
                        <groupId>org.onap.policy.drools-applications</groupId>
                        <artifactId>vfc</artifactId>
index 696e2a6..86e2c8c 100644 (file)
@@ -24,12 +24,11 @@ import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.onap.policy.drools.http.server.HttpServletServer;
-import org.onap.policy.drools.system.PolicyEngine;
 import org.onap.policy.drools.utils.LoggerUtil;
-import org.onap.policy.guard.PolicyGuardXacmlHelper;
-import org.onap.policy.guard.PolicyGuardXacmlRequestAttributes;
-import org.onap.policy.guard.Util;
+import org.onap.policy.rest.RESTManager;
+import org.onap.policy.rest.RESTManager.Pair;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
 
@@ -44,16 +43,6 @@ public class GuardSimulatorTest {
                } catch (Exception e) {
                        fail(e.getMessage());
                }
-               //
-               // Set guard properties
-               //
-               org.onap.policy.guard.Util.setGuardEnvProps("http://localhost:6669/pdp/api/getDecision", 
-                       "python", 
-                       "test", 
-                       "python", 
-                       "test", 
-                       "TEST");
-
        }
        
        @AfterClass
@@ -63,8 +52,24 @@ public class GuardSimulatorTest {
        
        @Test
        public void testGuard() {
-               PolicyGuardXacmlRequestAttributes request = new PolicyGuardXacmlRequestAttributes("clname_id", "actor_id", "operation_id", "target_id", "request_id");
-               String xacmlResponse = new PolicyGuardXacmlHelper().callPDP(request);
-               assertNotNull(xacmlResponse);
+           String request = makeRequest("test_actor_id", "test_op_id", "test_target", "test_clName");
+           String url = "http://localhost:" + Util.GUARDSIM_SERVER_PORT + "/pdp/api/getDecision";
+               Pair<Integer, String> response = RESTManager.post(url, "testUname", "testPass", null, "application/json", request);
+               assertNotNull(response);
+               assertNotNull(response.a);
+               assertNotNull(response.b);
+               assertEquals("{\"decision\": \"PERMIT\", \"details\": \"Decision Permit. OK!\"}", response.b);
+               
+               request = makeRequest("test_actor_id", "test_op_id", "test_target", "denyGuard");
+               response = RESTManager.post(url, "testUname", "testPass", null, "application/json", request);
+               assertNotNull(response);
+        assertNotNull(response.a);
+        assertNotNull(response.b);
+        assertEquals("{\"decision\": \"DENY\", \"details\": \"Decision Deny. You asked for it\"}", response.b);
+       }
+       
+       private static String makeRequest (String actor, String recipe, String target, String clName) {
+           return "{\"decisionAttributes\": {\"actor\": \"" + actor + "\", \"recipe\": \"" + recipe + "\""
+                + ", \"target\": \"" + target + "\", \"clname\": \"" + clName + "\"}, \"onapName\": \"PDPD\"}";
        }
 }