diff options
author | Pamela Dragosh <pdragosh@research.att.com> | 2020-08-18 12:24:04 -0400 |
---|---|---|
committer | Pamela Dragosh <pdragosh@research.att.com> | 2020-08-18 12:24:08 -0400 |
commit | c663e0061b92542d961db5f88039151acb7f63df (patch) | |
tree | 0bb1f2f61d74f6489ea77a872273b57680e25faa /applications/guard/src/main | |
parent | ad9d827a43211c087fe4bcf575134aea3a5b316e (diff) |
Fix sonar issue and add code coverage
Fixing too much complexity for GuardPolicyRequest by breaking
it up into methods.
Added more code coverage to guard translator.
Added missing code coverage for coordination guard, it was below
66% and there were some trivial fixes that were needed. Seems that
a test resource was never really used, or perhaps got omitted in a
previous review.
Issue-ID: POLICY-2590
Change-Id: I1be4ff166e6c43c1c4ea54fdf7e761e22adcaa2d
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
Diffstat (limited to 'applications/guard/src/main')
2 files changed, 19 insertions, 6 deletions
diff --git a/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/CoordinationGuardTranslator.java b/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/CoordinationGuardTranslator.java index d20a25f0..126955e7 100644 --- a/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/CoordinationGuardTranslator.java +++ b/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/CoordinationGuardTranslator.java @@ -113,6 +113,9 @@ public class CoordinationGuardTranslator implements ToscaPolicyTranslator { */ public static CoordinationDirective loadCoordinationDirectiveFromFile( String directiveFilename) { + if (directiveFilename == null) { + return null; + } try (InputStream is = new FileInputStream(new File(directiveFilename))) { String contents = IOUtils.toString(is, StandardCharsets.UTF_8); // @@ -142,19 +145,19 @@ public class CoordinationGuardTranslator implements ToscaPolicyTranslator { */ String xacmlProtoFilename = protoDir + File.separator + cd.getCoordinationFunction() + ".xml"; - LOGGER.debug("xacmlProtoFilename={}", xacmlProtoFilename); + LOGGER.info("xacmlProtoFilename={}", xacmlProtoFilename); /* - * Values to be used for placeholders + * Values to be substituted for placeholder's */ final String uniqueId = UUID.randomUUID().toString(); final String cLOne = cd.getControlLoop(0); final String cLTwo = cd.getControlLoop(1); /* - * Replace function placeholders with appropriate values + * Replace function placeholder's with appropriate values */ String policyXml = ResourceUtils.getResourceAsString(xacmlProtoFilename); if (policyXml == null) { - throw new ToscaPolicyConversionException("Error while generating XACML policy for coordination directive"); + throw new ToscaPolicyConversionException("Unable to find prototype " + xacmlProtoFilename); } policyXml = policyXml.replace("UNIQUE_ID", uniqueId); policyXml = policyXml.replace("CONTROL_LOOP_ONE", cLOne); diff --git a/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/GuardPolicyRequest.java b/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/GuardPolicyRequest.java index 72c8ddd2..87635963 100644 --- a/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/GuardPolicyRequest.java +++ b/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/GuardPolicyRequest.java @@ -139,6 +139,13 @@ public class GuardPolicyRequest { // // Find our fields // + findFields(request, guard); + findFilterFields(request, guard); + return request; + } + + private static GuardPolicyRequest findFields(GuardPolicyRequest request, Map<String, Object> guard) + throws ToscaPolicyConversionException { if (guard.containsKey("actor")) { request.actorId = guard.get("actor").toString(); } @@ -158,6 +165,11 @@ public class GuardPolicyRequest { throw new ToscaPolicyConversionException("Failed to decode vfCount", e); } } + + return request; + } + + private static GuardPolicyRequest findFilterFields(GuardPolicyRequest request, Map<String, Object> guard) { if (guard.containsKey("generic-vnf.vnf-name")) { request.vnfName = guard.get("generic-vnf.vnf-name").toString(); } @@ -176,8 +188,6 @@ public class GuardPolicyRequest { if (guard.containsKey("cloud-region.cloud-region-id")) { request.cloudRegionId = guard.get("cloud-region.cloud-region-id").toString(); } - return request; } - } |