diff options
author | Pamela Dragosh <pdragosh@research.att.com> | 2020-02-19 16:59:01 -0500 |
---|---|---|
committer | Pamela Dragosh <pdragosh@research.att.com> | 2020-02-19 19:59:33 -0500 |
commit | 3f4d4125093ca000c735adc1d6430c39e31de38c (patch) | |
tree | 5386fae347d6445bdba7599d0f42aefc85d867df /applications/common/src/test | |
parent | 56038a31a23e468f51c0b2ab349f748eafe4b6d2 (diff) |
Use datatype in matchable translator
With the new changes to models/api, the full policy template will
be retrieved along with inherited policy types and datatypes.
Changed api caller to return tosca template instead of individual
policy type so all policy types and data types are available.
Changed stdmatchabletranslator to be able to flexibly go deep with
list/map of datatypes of attributes. NOTE: This should be re-factored
at a later date as its a bit messy.
The naming application was used to test this code, but it was determined
by the CCSDK team that they will not do filtering this release. Instead,
switched to combined results policy type to return the full policy type.
Issue-ID: POLICY-1740
Change-Id: Ieb4e46e7fb2c639a1155be3bc07f5587c4f7b09a
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
Diffstat (limited to 'applications/common/src/test')
3 files changed, 50 insertions, 17 deletions
diff --git a/applications/common/src/test/java/org/onap/policy/pdp/xacml/application/common/std/StdMatchableTranslatorTest.java b/applications/common/src/test/java/org/onap/policy/pdp/xacml/application/common/std/StdMatchableTranslatorTest.java index e9e8814c..aeb4cf88 100644 --- a/applications/common/src/test/java/org/onap/policy/pdp/xacml/application/common/std/StdMatchableTranslatorTest.java +++ b/applications/common/src/test/java/org/onap/policy/pdp/xacml/application/common/std/StdMatchableTranslatorTest.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2019-2020 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. @@ -70,7 +70,6 @@ import org.onap.policy.common.utils.resources.ResourceUtils; import org.onap.policy.models.decisions.concepts.DecisionRequest; import org.onap.policy.models.decisions.concepts.DecisionResponse; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType; import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; import org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate; import org.onap.policy.pdp.xacml.application.common.TestUtilsCommon; @@ -87,7 +86,7 @@ public class StdMatchableTranslatorTest { private static final StandardYamlCoder yamlCoder = new StandardYamlCoder(); private static int port; private static RestServerParameters clientParams; - private static ToscaPolicyType testPolicyType; + private static ToscaServiceTemplate testTemplate; @ClassRule public static final TemporaryFolder policyFolder = new TemporaryFolder(); @@ -144,14 +143,15 @@ public class StdMatchableTranslatorTest { // JpaToscaServiceTemplate jtst = new JpaToscaServiceTemplate(); jtst.fromAuthorative(serviceTemplate); - ToscaServiceTemplate completedJtst = jtst.toAuthorative(); + testTemplate = jtst.toAuthorative(); // - // Find the Policy Type - SHOULD only be one + // Make sure the Policy Types are there // - assertEquals(1, completedJtst.getPolicyTypes().size()); - testPolicyType = completedJtst.getPolicyTypes().get("onap.policies.Test"); - assertNotNull(testPolicyType); - logger.info("Test Policy Type {}{}", XacmlPolicyUtils.LINE_SEPARATOR, testPolicyType); + assertEquals(3, testTemplate.getPolicyTypes().size()); + assertNotNull(testTemplate.getPolicyTypes().get("onap.policies.Base")); + assertNotNull(testTemplate.getPolicyTypes().get("onap.policies.base.Middle")); + assertNotNull(testTemplate.getPolicyTypes().get("onap.policies.base.middle.Test")); + logger.info("Test Policy Type {}{}", XacmlPolicyUtils.LINE_SEPARATOR, testTemplate); } @AfterClass @@ -191,6 +191,9 @@ public class StdMatchableTranslatorTest { // for (Map<String, ToscaPolicy> policies : completedJtst.getToscaTopologyTemplate().getPolicies()) { for (ToscaPolicy policy : policies.values()) { + // + // Test that we can convert the policy + // PolicyType translatedPolicy = translator.convertPolicy(policy); assertNotNull(translatedPolicy); assertThat(translatedPolicy.getObligationExpressions().getObligationExpression()).hasSize(1); @@ -282,7 +285,7 @@ public class StdMatchableTranslatorTest { public Response getSpecificVersionOfPolicyType(@PathParam("policyTypeId") String policyTypeId, @PathParam("versionId") String versionId, @HeaderParam("X-ONAP-RequestID") UUID requestId) { logger.info("request for policy type={} version={}", policyTypeId, versionId); - return Response.status(Response.Status.OK).entity(testPolicyType).build(); + return Response.status(Response.Status.OK).entity(testTemplate).build(); } } diff --git a/applications/common/src/test/resources/matchable/onap.policies.Test-1.0.0.yaml b/applications/common/src/test/resources/matchable/onap.policies.Test-1.0.0.yaml index f44a3061..7179c310 100644 --- a/applications/common/src/test/resources/matchable/onap.policies.Test-1.0.0.yaml +++ b/applications/common/src/test/resources/matchable/onap.policies.Test-1.0.0.yaml @@ -1,9 +1,30 @@ tosca_definitions_version: tosca_simple_yaml_1_0_0 policy_types: - onap.policies.Test: + onap.policies.Base: derived_from: tosca.policies.Root version: 1.0.0 properties: + baseNoMatch: + type: string + baseMatch: + type: string + metadata: + matchable: true + onap.policies.base.Middle: + derived_from: onap.policies.Base + version: 1.0.0 + properties: + middleNoMatch: + type: string + middleMatch: + type: string + metadata: + matchable: true + onap.policies.base.middle.Test: + derived_from: onap.policies.base.Middle + type_version: 1.0.0 + version: 1.0.0 + properties: nonmatachableString: type: string matchableString: @@ -30,6 +51,10 @@ policy_types: type: boolean metadata: matchable: true + nonmatchableListInteger: + type: list + entry_schema: + type: integer matchableListString: type: list metadata: @@ -39,7 +64,7 @@ policy_types: propertyOneMap: type: map entry_schema: - type: onap.datatype.level1 + type: onap.datatype.one data_types: onap.datatype.one: derived_from: tosca.datatypes.Root @@ -49,7 +74,7 @@ data_types: oneStringMatchable: type: string metadata: - matachable: true + matchable: true propertyTwoList: type: list entry_schema: @@ -62,7 +87,7 @@ data_types: twoStringMatchable: type: string metadata: - matachable: true + matchable: true propertyThreeMap: type: map entry_schema: @@ -75,4 +100,4 @@ data_types: threeStringMatchable: type: string metadata: - matachable: true
\ No newline at end of file + matchable: true
\ No newline at end of file diff --git a/applications/common/src/test/resources/matchable/test.policies.input.tosca.yaml b/applications/common/src/test/resources/matchable/test.policies.input.tosca.yaml index 9a68d488..80f72b2f 100644 --- a/applications/common/src/test/resources/matchable/test.policies.input.tosca.yaml +++ b/applications/common/src/test/resources/matchable/test.policies.input.tosca.yaml @@ -2,13 +2,17 @@ tosca_definitions_version: tosca_simple_yaml_1_0_0 topology_template: policies: - Test.policy: - type: onap.policies.Test + type: onap.policies.base.middle.Test type_version: 1.0.0 version: 1.0.0 metadata: policy-id: Test.policy policy-version: 1 properties: + baseNoMatch: Do not match the base + baseMatch: base Match + middleNoMatch: Do not match the middle + middleMatch: middle Match nonmatachableString: I am NON matchable matchableString: I should be matched nonmatachableInteger: 0 @@ -17,6 +21,7 @@ topology_template: matchableFloat: 1.1 nonmatachableBoolean: false matachableBoolean: true + nonmatchableListInteger: {0, 1, 2} matchableListString: - match A - match B @@ -25,7 +30,7 @@ topology_template: oneStringMatchable: One should be matched propertyTwoList: - twoString: Two is NOT matchable - twoStringMatachable: Two should be matched + twoStringMatchable: Two should be matched propertyThreeMap: threeString: Three is NOT matchable threeStringMatchable: Three should be matched
\ No newline at end of file |