From 002248883ff9134cd66e39147c062ad3936e1a74 Mon Sep 17 00:00:00 2001 From: Pamela Dragosh Date: Fri, 3 May 2019 08:40:34 -0400 Subject: Change guard pdp rest to new api The guard PDP REST call must be changed to support the new api. Needed to clean out quite a bit of unnecessary code. In addition, there never should be an Indeterminate response coming back anymore. Issue-ID: POLICY-1730 Change-Id: I14b3ad39a803646cfffaba9b77cc2aac79e79bdf Signed-off-by: Pamela Dragosh --- .../org/onap/policy/guard/CallGuardTaskTest.java | 8 +- .../java/org/onap/policy/guard/GuardUtilTest.java | 6 +- .../policy/guard/PolicyGuardXacmlHelperTest.java | 114 ++------------------- 3 files changed, 13 insertions(+), 115 deletions(-) (limited to 'controlloop/common/guard/src/test') diff --git a/controlloop/common/guard/src/test/java/org/onap/policy/guard/CallGuardTaskTest.java b/controlloop/common/guard/src/test/java/org/onap/policy/guard/CallGuardTaskTest.java index 9e4c809c2..3a647b130 100644 --- a/controlloop/common/guard/src/test/java/org/onap/policy/guard/CallGuardTaskTest.java +++ b/controlloop/common/guard/src/test/java/org/onap/policy/guard/CallGuardTaskTest.java @@ -43,16 +43,16 @@ public class CallGuardTaskTest { @Test public void testRun() { // plain - doesn't need VF module count - doTestRun(Util.INDETERMINATE, "act", "rec", () -> null); + //doTestRun(Util.INDETERMINATE, "act", "rec", () -> null); // SO actor, but plain recipe - doesn't need VF module count - doTestRun(Util.INDETERMINATE, VF_COUNT_ACTOR, "rec", () -> null); + //doTestRun(Util.INDETERMINATE, VF_COUNT_ACTOR, "rec", () -> null); // plain actor, but scale-out recipe - doesn't need VF module count - doTestRun(Util.INDETERMINATE, "act", "VF Module Create", () -> null); + //doTestRun(Util.INDETERMINATE, "act", "VF Module Create", () -> null); // needs VF count - doTestRun(Util.INDETERMINATE, VF_COUNT_ACTOR, INCR_VF_COUNT_RECIPE, () -> 22); + //doTestRun(Util.INDETERMINATE, VF_COUNT_ACTOR, INCR_VF_COUNT_RECIPE, () -> 22); // needs VF count, but it's missing ==> DENY doTestRun(Util.DENY, VF_COUNT_ACTOR, INCR_VF_COUNT_RECIPE, () -> null); diff --git a/controlloop/common/guard/src/test/java/org/onap/policy/guard/GuardUtilTest.java b/controlloop/common/guard/src/test/java/org/onap/policy/guard/GuardUtilTest.java index 1f7002a7d..2ee514abd 100644 --- a/controlloop/common/guard/src/test/java/org/onap/policy/guard/GuardUtilTest.java +++ b/controlloop/common/guard/src/test/java/org/onap/policy/guard/GuardUtilTest.java @@ -3,6 +3,7 @@ * guard * ================================================================================ * Copyright (C) 2018 Ericsson. All rights reserved. + * Modifications Copyright (C) 2019 AT&T Intellectual Property. 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. @@ -98,13 +99,10 @@ public class GuardUtilTest { Util.setGuardEnvProp("Actor", "Judy Garland"); assertEquals("Judy Garland", Util.getGuardProp("Actor")); - Util.setGuardEnvProps("http://somewhere.over.the.rainbow", "Dorothy", "Toto", "Wizard", "Emerald", "Oz"); + Util.setGuardEnvProps("http://somewhere.over.the.rainbow", "Dorothy", "Toto"); assertEquals("http://somewhere.over.the.rainbow", Util.getGuardProp(Util.PROP_GUARD_URL)); assertEquals("Dorothy", Util.getGuardProp(Util.PROP_GUARD_USER)); assertEquals("Toto", Util.getGuardProp(Util.PROP_GUARD_PASS)); - assertEquals("Wizard", Util.getGuardProp(Util.PROP_GUARD_CLIENT_USER)); - assertEquals("Emerald", Util.getGuardProp(Util.PROP_GUARD_CLIENT_PASS)); - assertEquals("Oz", Util.getGuardProp(Util.PROP_GUARD_ENV)); } } diff --git a/controlloop/common/guard/src/test/java/org/onap/policy/guard/PolicyGuardXacmlHelperTest.java b/controlloop/common/guard/src/test/java/org/onap/policy/guard/PolicyGuardXacmlHelperTest.java index 6526a9cce..25d602f6a 100644 --- a/controlloop/common/guard/src/test/java/org/onap/policy/guard/PolicyGuardXacmlHelperTest.java +++ b/controlloop/common/guard/src/test/java/org/onap/policy/guard/PolicyGuardXacmlHelperTest.java @@ -22,34 +22,9 @@ package org.onap.policy.guard; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import com.att.research.xacml.api.Advice; -import com.att.research.xacml.api.Attribute; -import com.att.research.xacml.api.AttributeCategory; -import com.att.research.xacml.api.AttributeValue; -import com.att.research.xacml.api.Decision; -import com.att.research.xacml.api.IdReference; -import com.att.research.xacml.api.Identifier; -import com.att.research.xacml.api.Obligation; -import com.att.research.xacml.api.Response; -import com.att.research.xacml.api.Result; -import com.att.research.xacml.api.Status; -import com.att.research.xacml.std.IdentifierImpl; -import com.att.research.xacml.std.StdAttribute; -import com.att.research.xacml.std.StdAttributeCategory; -import com.att.research.xacml.std.StdAttributeValue; -import com.att.research.xacml.std.StdResponse; -import com.att.research.xacml.std.StdResult; -import com.att.research.xacml.std.StdStatus; - -import java.net.URI; -import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.Collection; import java.util.Properties; -import java.util.UUID; import org.junit.AfterClass; import org.junit.BeforeClass; @@ -59,7 +34,7 @@ import org.onap.policy.drools.system.PolicyEngine; import org.onap.policy.drools.utils.logging.LoggerUtil; public class PolicyGuardXacmlHelperTest { - + private static final Integer VF_COUNT = 100; /** @@ -77,8 +52,7 @@ public class PolicyGuardXacmlHelperTest { // // Set guard properties // - org.onap.policy.guard.Util.setGuardEnvProps("http://localhost:6669/pdp/api/getDecision", "python", "test", - "python", "test", "DEVL"); + org.onap.policy.guard.Util.setGuardEnvProps("http://localhost:6669/policy/pdpx/v1/decision", "python", "test"); } /** @@ -94,7 +68,7 @@ public class PolicyGuardXacmlHelperTest { "requestId", VF_COUNT); String rawDecision = new PolicyGuardXacmlHelper().callPdp(xacmlReq); assertNotNull(rawDecision); - assertEquals(0, Util.INDETERMINATE.compareToIgnoreCase(rawDecision)); + assertEquals(Util.DENY, rawDecision); } @Test @@ -117,86 +91,17 @@ public class PolicyGuardXacmlHelperTest { "requestId", VF_COUNT); String rawDecision = new PolicyGuardXacmlHelper().callPdp(xacmlReq); assertNotNull(rawDecision); - assertTrue(0 == Util.DENY.compareToIgnoreCase(rawDecision)); + assertEquals(Util.DENY, rawDecision); // Permit Case xacmlReq = new PolicyGuardXacmlRequestAttributes("clname", "actor", "recipe", "target", "requestId", VF_COUNT); rawDecision = new PolicyGuardXacmlHelper().callPdp(xacmlReq); assertNotNull(rawDecision); - assertEquals(0, Util.PERMIT.compareToIgnoreCase(rawDecision)); + assertEquals(Util.PERMIT, rawDecision); // Indeterminate case is in tearDown for efficiency } - @Test - /** - * Tests PolicyGuardXacmlHelper.callPdp method to exercise all branches - */ - public void testCallPdpExtra() { - PolicyGuardXacmlRequestAttributes xacmlReq = new PolicyGuardXacmlRequestAttributes( - org.onap.policy.simulators.GuardSimulatorJaxRs.DENY_CLNAME, "actor", "recipe", "target", - "requestId", VF_COUNT); - - xacmlReq.setClnameId(null); - String rawDecision = new PolicyGuardXacmlHelper().callPdp(xacmlReq); - assertNotNull(rawDecision); - assertEquals(-5, Util.DENY.compareToIgnoreCase(rawDecision)); - - org.onap.policy.guard.Util.setGuardEnvProps("http://localhost:6669/pdp/api/getDecision", "", "", "", "", ""); - - rawDecision = new PolicyGuardXacmlHelper().callPdp(xacmlReq); - assertNotNull(rawDecision); - - org.onap.policy.guard.Util.setGuardEnvProps("http://localhost:6669/pdp/api/getDecision", "python", "test", - "python", "test", "DEVL"); - - } - - @Test - public void testParseXacmlPdpResponse() throws URISyntaxException { - PolicyGuardResponse pgResponse = PolicyGuardXacmlHelper.parseXacmlPdpResponse(null); - assertEquals("Indeterminate", pgResponse.getResult()); - - Decision decision = Decision.PERMIT; - Status status = new StdStatus(StdStatus.STATUS_OK); - Result result = new StdResult(decision, status); - Response xacmlResponse = new StdResponse(result); - pgResponse = PolicyGuardXacmlHelper.parseXacmlPdpResponse(xacmlResponse); - assertEquals("Permit", pgResponse.getResult()); - - - final Collection obligationsIn = null; - final Collection adviceIn = null; - final Collection policyIdentifiersIn = null; - final Collection policySetIdentifiersIn = null; - - Collection attributesIn = new ArrayList<>(); - Identifier identifierCategory = new IdentifierImpl(new URI("http://somewhere.over.the.rainbow")); - Collection listAttributes = new ArrayList<>(); - Identifier categoryIdIn = new IdentifierImpl(new URI("http://somewhere.over.the.rainbow/category")); - Identifier attributeIdIn0 = new IdentifierImpl(new URI("urn:org:onap:guard:request:request-id")); - Identifier dataTypeIdIn = new IdentifierImpl(new URI("http://somewhere.over.the.rainbow.dataType")); - AttributeValue valueIn = new StdAttributeValue(dataTypeIdIn, UUID.randomUUID().toString()); - Attribute attribute0 = new StdAttribute(categoryIdIn, attributeIdIn0, valueIn); - listAttributes.add(attribute0); - - Identifier attributeIdIn1 = new IdentifierImpl(new URI("urn:org:onap:guard:operation:operation-id")); - Attribute attribute1 = new StdAttribute(categoryIdIn, attributeIdIn1, valueIn); - listAttributes.add(attribute1); - attributesIn.add(new StdAttributeCategory(identifierCategory, listAttributes)); - - Identifier attributeIdIn2 = new IdentifierImpl(new URI("Http://somewhere.over.the.rainbow/attributeId")); - Attribute attribute2 = new StdAttribute(categoryIdIn, attributeIdIn2, valueIn); - listAttributes.add(attribute2); - attributesIn.add(new StdAttributeCategory(identifierCategory, listAttributes)); - - Result fullResult = new StdResult(Decision.DENY, obligationsIn, adviceIn, attributesIn, policyIdentifiersIn, - policySetIdentifiersIn); - Response fullXacmlResponse = new StdResponse(fullResult); - PolicyGuardResponse fullPgResponse = PolicyGuardXacmlHelper.parseXacmlPdpResponse(fullXacmlResponse); - assertEquals("Deny", fullPgResponse.getResult()); - } - @Test public void testInit() { final Properties savedEnvironment = (Properties) PolicyEngine.manager.getEnvironment().clone(); @@ -211,7 +116,8 @@ public class PolicyGuardXacmlHelperTest { "http://localhost:6669/pdp/api/getDecision,Dorothy,Toto"); assertNotNull(new PolicyGuardXacmlHelper()); - PolicyEngine.manager.getEnvironment().setProperty("guard.url", "http://localhost:6669/pdp/api/getDecision"); + PolicyEngine.manager.getEnvironment().setProperty("guard.url", + "http://localhost:6969/policy/pdpx/v1/decision"); PolicyEngine.manager.getEnvironment().setProperty("pdpx.timeout", "thisIsNotANumber"); assertNotNull(new PolicyGuardXacmlHelper()); @@ -225,12 +131,6 @@ public class PolicyGuardXacmlHelperTest { PolicyEngine.manager.getEnvironment().setProperty("pdpx.username", "python"); assertNotNull(new PolicyGuardXacmlHelper()); - PolicyEngine.manager.getEnvironment().remove("pdpx.client.password"); - assertNotNull(new PolicyGuardXacmlHelper()); - - PolicyEngine.manager.getEnvironment().remove("pdpx.client.username"); - assertNotNull(new PolicyGuardXacmlHelper()); - PolicyEngine.manager.getEnvironment().setProperty("guard.url", "///"); assertNotNull(new PolicyGuardXacmlHelper()); -- cgit 1.2.3-korg