diff options
author | jhh <jorge.hernandez-herrero@att.com> | 2019-04-25 07:45:29 -0500 |
---|---|---|
committer | jhh <jorge.hernandez-herrero@att.com> | 2019-04-25 22:26:45 -0500 |
commit | e32d0fac919c8cc5657496a16c300877bd29621e (patch) | |
tree | 43c9ba1b8aa16dab7c809639d9e56a681ebd928b /controlloop/common/eventmanager/src/test | |
parent | a91076ff372a49d080b78b3608bb0d7d26055741 (diff) |
Match up ControlLoopParams against ToscaPolicy
Change-Id: Ia23a5b90b452bcafe2a8aa660598697ebfb07431
Issue-ID: POLICY-1691
Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
Diffstat (limited to 'controlloop/common/eventmanager/src/test')
2 files changed, 67 insertions, 0 deletions
diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/utils/ControlLoopUtilsTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/utils/ControlLoopUtilsTest.java new file mode 100644 index 000000000..72e51bae9 --- /dev/null +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/utils/ControlLoopUtilsTest.java @@ -0,0 +1,58 @@ +/*- + * ============LICENSE_START======================================================= + * 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. + * 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.controlloop.utils; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.Map; +import org.junit.Test; +import org.onap.policy.common.utils.coder.CoderException; +import org.onap.policy.common.utils.coder.StandardCoder; +import org.onap.policy.controlloop.params.ControlLoopParams; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; + +public class ControlLoopUtilsTest { + + @Test + public void toControlLoopParams() throws IOException, CoderException { + String policy = + new String(Files.readAllBytes(Paths.get("src/test/resources/tosca-policy-operational-restart.json"))); + + ToscaPolicy toscaPolicy = new StandardCoder().decode(policy, ToscaPolicy.class); + ControlLoopParams params = ControlLoopUtils.toControlLoopParams(toscaPolicy); + assertNotNull(params); + assertNotNull(params.getClosedLoopControlName()); + assertEquals(toscaPolicy.getProperties().get("content"), params.getControlLoopYaml()); + assertEquals(toscaPolicy.getName(), params.getPolicyName()); + assertEquals(toscaPolicy.getVersion(), params.getPolicyVersion()); + assertEquals(toscaPolicy.getType() + ":" + toscaPolicy.getVersion(), params.getPolicyScope()); + + assertNull(ControlLoopUtils.toControlLoopParams(null)); + + Map<String, Object> properties = toscaPolicy.getProperties(); + toscaPolicy.setProperties(null); + assertNull(ControlLoopUtils.toControlLoopParams(toscaPolicy)); + toscaPolicy.setProperties(properties); + } +}
\ No newline at end of file diff --git a/controlloop/common/eventmanager/src/test/resources/tosca-policy-operational-restart.json b/controlloop/common/eventmanager/src/test/resources/tosca-policy-operational-restart.json new file mode 100644 index 000000000..1b17d2cf5 --- /dev/null +++ b/controlloop/common/eventmanager/src/test/resources/tosca-policy-operational-restart.json @@ -0,0 +1,9 @@ +{ + "type": "onap.policies.controlloop.Operational", + "type_version": "1.0.0", + "properties": { + "content": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e%0D%0A++trigger_policy%3A+unique-policy-id-1-restart%0D%0A++timeout%3A+3600%0D%0A++abatement%3A+true%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-restart%0D%0A++++name%3A+Restart+the+VM%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+Restart%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard" + }, + "name": "operational.restart", + "version": "1.0.0" +} |