diff options
author | jhh <jorge.hernandez-herrero@att.com> | 2020-03-10 12:41:49 -0500 |
---|---|---|
committer | jhh <jorge.hernandez-herrero@att.com> | 2020-03-10 12:41:49 -0500 |
commit | 0e658768fc0573bf6acf7f849a49c9da98c8e47f (patch) | |
tree | 6126811a43d2046600c7b1ed5f5044574e4a660c /controlloop/common/domains/src/test | |
parent | f9e2f54dbb36f029a41e37f6eccc3426672cb9bb (diff) |
Use predefined domain policies from drools core
Issue-ID: POLICY-2388
Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
Change-Id: I5948ed5152297e4addbab444ed65dcd3b8002492
Diffstat (limited to 'controlloop/common/domains/src/test')
2 files changed, 0 insertions, 179 deletions
diff --git a/controlloop/common/domains/src/test/java/org/onap/policy/drools/models/domain/operational/OperationalPolicyTest.java b/controlloop/common/domains/src/test/java/org/onap/policy/drools/models/domain/operational/OperationalPolicyTest.java deleted file mode 100644 index 7fc60f2f1..000000000 --- a/controlloop/common/domains/src/test/java/org/onap/policy/drools/models/domain/operational/OperationalPolicyTest.java +++ /dev/null @@ -1,170 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - * ================================================================================ - * Copyright (C) 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.drools.models.domain.operational; - -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import com.openpojo.reflection.PojoClass; -import com.openpojo.reflection.filters.FilterChain; -import com.openpojo.reflection.filters.FilterClassName; -import com.openpojo.reflection.filters.FilterNonConcrete; -import com.openpojo.reflection.impl.PojoClassFactory; -import com.openpojo.validation.Validator; -import com.openpojo.validation.ValidatorBuilder; -import com.openpojo.validation.test.impl.GetterTester; -import com.openpojo.validation.test.impl.SetterTester; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.List; -import org.junit.Before; -import org.junit.Test; -import org.onap.policy.common.utils.coder.CoderException; -import org.onap.policy.common.utils.coder.StandardCoder; -import org.onap.policy.common.utils.resources.ResourceUtils; -import org.onap.policy.drools.domain.models.DroolsPolicy; -import org.onap.policy.drools.domain.models.Metadata; -import org.onap.policy.drools.policies.DomainMaker; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; -import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; - -public class OperationalPolicyTest { - // Policy Types - private static final String OPERATIONAL_DROOLS_POLICY_TYPE = "onap.policies.controlloop.operational.common.Drools"; - private static final String OPERATIONAL_LEGACY_POLICY_TYPE = "onap.policies.controlloop.Operational"; - - // Operational vCPE Policies - private static final String OP_POLICY_NAME_VCPE = "operational.restart"; - private static final String VCPE_OPERATIONAL_DROOLS_POLICY_JSON = - "policies/vCPE.policy.operational.input.tosca.json"; - public static final String VCPE_OPERATIONAL_LEGACY_POLICY_JSON = "src/test/resources/tosca-legacy-vcpe.json"; - - private DomainMaker domainMaker; - private StandardCoder nonValCoder; - - @Before - public void setUp() { - domainMaker = new DomainMaker(); - nonValCoder = new StandardCoder(); - } - - - @Test - public void testToscaCompliantOperationalPolicyType() throws CoderException { - String rawVcpeToscaPolicy = getExamplesPolicyString(VCPE_OPERATIONAL_DROOLS_POLICY_JSON, OP_POLICY_NAME_VCPE); - - // valid "known" policy type with implicit schema - assertTrue(domainMaker - .isConformant( - new ToscaPolicyTypeIdentifier(OPERATIONAL_DROOLS_POLICY_TYPE, "1.0.0"), rawVcpeToscaPolicy)); - - OperationalPolicy policy = domainMaker.convertTo( - new ToscaPolicyTypeIdentifier("OPERATIONAL_LEGACY_POLICY_TYPE", "1.0.0"), - rawVcpeToscaPolicy, OperationalPolicy.class); - - assertNotNull(policy); - } - - @Test - public void testToscaLegacyOperationalPolicyType() throws IOException { - String rawVcpeToscaPolicy = getJsonFromFile(VCPE_OPERATIONAL_LEGACY_POLICY_JSON); - - // valid "known" policy type with implicit schema - assertTrue(domainMaker - .isConformant( - new ToscaPolicyTypeIdentifier(OPERATIONAL_LEGACY_POLICY_TYPE, "1.0.0"), rawVcpeToscaPolicy)); - } - - @Test - public void testOperationalCompliantModel() { - // @formatter:off - OperationalPolicy policy = - OperationalPolicy.builder() - .metadata(Metadata.builder().policyId(OP_POLICY_NAME_VCPE).build()) - .name(OP_POLICY_NAME_VCPE) - .type(OPERATIONAL_DROOLS_POLICY_TYPE) - .typeVersion("1.0.0") - .version("1.0.0") - .properties( - OperationalProperties.builder() - .id("ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e") - .abatement(true) - .trigger("unique-policy-id-1-restart") - .operations( - List.of(Operation.builder() - .id("unique-policy-id-1-restart") - .description("Restart the VM") - .timeout(60) - .retries(3) - .actorOperation(ActorOperation.builder() - .operation("Restart") - .actor("APPC") - .target(OperationalTarget.builder().targetType("VNF").build()) - .build()) - .build())) - .controllerName("usecases") - .build()) - .build(); - // @formatter:on - - assertNotNull(policy); - } - - @Test - public void testPackage() { - /* validate model pojos */ - List<PojoClass> pojoClasses = - PojoClassFactory - .getPojoClassesRecursively("org.onap.policy.drools.models.domain.operational", - new FilterChain(new FilterNonConcrete(), - new FilterClassName(DroolsPolicy.class.getName()))); - - Validator validator = ValidatorBuilder.create() - .with(new SetterTester(), new GetterTester()).build(); - validator.validate(pojoClasses); - } - - private String getJsonFromFile(String filePath) throws IOException { - return new String(Files.readAllBytes(Paths.get(filePath))); - } - - private String getJsonFromResource(String resourcePath) { - return ResourceUtils.getResourceAsString(resourcePath); - } - - private String getPolicyFromFileString(String filePath, String policyName) throws CoderException, IOException { - String policyJson = getJsonFromFile(filePath); - ToscaServiceTemplate serviceTemplate = new StandardCoder().decode(policyJson, ToscaServiceTemplate.class); - return nonValCoder.encode(serviceTemplate.getToscaTopologyTemplate().getPolicies().get(0).get(policyName)); - } - - private ToscaPolicy getExamplesPolicy(String resourcePath, String policyName) throws CoderException { - String policyJson = getJsonFromResource(resourcePath); - ToscaServiceTemplate serviceTemplate = new StandardCoder().decode(policyJson, ToscaServiceTemplate.class); - return serviceTemplate.getToscaTopologyTemplate().getPolicies().get(0).get(policyName); - } - - private String getExamplesPolicyString(String resourcePath, String policyName) throws CoderException { - return nonValCoder.encode(getExamplesPolicy(resourcePath, policyName)); - } -}
\ No newline at end of file diff --git a/controlloop/common/domains/src/test/resources/tosca-legacy-vcpe.json b/controlloop/common/domains/src/test/resources/tosca-legacy-vcpe.json deleted file mode 100644 index 98e8bb8ff..000000000 --- a/controlloop/common/domains/src/test/resources/tosca-legacy-vcpe.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "onap.policies.controlloop.Operational", - "type_version": "1.0.0", - "properties": { - "content": "controlLoop%3A%0A%20%20version%3A%202.0.0%0A%20%20controlLoopName%3A%20ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e%0A%20%20trigger_policy%3A%20unique-policy-id-1-restart%0A%20%20timeout%3A%203600%0A%20%20abatement%3A%20true%0A%20%0Apolicies%3A%0A%20%20-%20id%3A%20unique-policy-id-1-restart%0A%20%20%20%20name%3A%20Restart%20the%20VM%0A%20%20%20%20description%3A%0A%20%20%20%20actor%3A%20APPC%0A%20%20%20%20recipe%3A%20Restart%0A%20%20%20%20target%3A%0A%20%20%20%20%20%20type%3A%20VM%0A%20%20%20%20retry%3A%203%0A%20%20%20%20timeout%3A%201200%0A%20%20%20%20success%3A%20final_success%0A%20%20%20%20failure%3A%20final_failure%0A%20%20%20%20failure_timeout%3A%20final_failure_timeout%0A%20%20%20%20failure_retries%3A%20final_failure_retries%0A%20%20%20%20failure_exception%3A%20final_failure_exception%0A%20%20%20%20failure_guard%3A%20final_failure_guard" - }, - "name": "operational.restart", - "version": "1.0.0" -} |