aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/reception-plugins/src/test
diff options
context:
space:
mode:
authorSirisha_Manchikanti <sirisha.manchikanti@est.tech>2021-12-14 18:12:07 +0000
committerSirisha_Manchikanti <sirisha.manchikanti@est.tech>2022-01-06 13:12:50 +0000
commit3d170c6e14976549cd2edc405c5c242110bff2ff (patch)
tree2201c54f4c9a227b4337c9a640ab2e2b8c1cc630 /plugins/reception-plugins/src/test
parent5f46449a3a73a101fb6e7926dd48e1672ad3ed7b (diff)
Add ControlLoop distribution to runtime
This commit unpacks the csar received either from SDC or for local verification from file-system, prepares the toscaservicetemplate with needed node-types and data-types, forwards the template to controlloop runtime components for commisioning of controlloop. Issue-ID: POLICY-3808 Signed-off-by: Sirisha_Manchikanti <sirisha.manchikanti@est.tech> Change-Id: Ib3600542aca7b32ae19242c2f924bdaf2ab870a8
Diffstat (limited to 'plugins/reception-plugins/src/test')
-rw-r--r--plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/decoding/policy/file/ControlLoopDecoderFileInCsarParameterGroupTest.java67
-rw-r--r--plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/decoding/policy/file/ControlLoopDecoderFileInCsarTest.java96
-rw-r--r--plugins/reception-plugins/src/test/resources/parameters/FileInCsarControlLoopDecoderParameters.json3
-rw-r--r--plugins/reception-plugins/src/test/resources/parameters/FileInCsarControlLoopDecoderParametersInvalid.json3
-rw-r--r--plugins/reception-plugins/src/test/resources/service-Sampleservice-controlloop.csarbin0 -> 79322 bytes
5 files changed, 169 insertions, 0 deletions
diff --git a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/decoding/policy/file/ControlLoopDecoderFileInCsarParameterGroupTest.java b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/decoding/policy/file/ControlLoopDecoderFileInCsarParameterGroupTest.java
new file mode 100644
index 00000000..16f80096
--- /dev/null
+++ b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/decoding/policy/file/ControlLoopDecoderFileInCsarParameterGroupTest.java
@@ -0,0 +1,67 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2022 Nordix Foundation.
+ * Modifications Copyright (C) 2022 Nordix Foundation.
+ * ================================================================================
+ * 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.distribution.reception.decoding.policy.file;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+import org.onap.policy.common.parameters.ValidationStatus;
+import org.onap.policy.distribution.reception.handling.sdc.CommonTestData;
+
+/**
+ * Class to perform unit test of {@link ControlLoopDecoderFileInCsarParameterGroup}.
+ *
+ * @author Sirisha Manchikanti (sirisha.manchikanti@est.tech)
+ */
+public class ControlLoopDecoderFileInCsarParameterGroupTest {
+
+ @Test
+ public void testValidParameters() {
+ final ControlLoopDecoderFileInCsarParameterGroup configurationParameters = CommonTestData
+ .getPolicyDecoderParameters("src/test/resources/parameters/FileInCsarControlLoopDecoderParameters.json",
+ ControlLoopDecoderFileInCsarParameterGroup.class);
+
+ assertEquals(ControlLoopDecoderFileInCsarParameterGroup.class.getSimpleName(),
+ configurationParameters.getName());
+ assertEquals("controlloop", configurationParameters.getControlLoopType());
+ assertEquals(ValidationStatus.CLEAN, configurationParameters.validate().getStatus());
+ }
+
+ @Test
+ public void testInvalidParameters() {
+ final ControlLoopDecoderFileInCsarParameterGroup configurationParameters =
+ CommonTestData.getPolicyDecoderParameters(
+ "src/test/resources/parameters/FileInCsarControlLoopDecoderParametersInvalid.json",
+ ControlLoopDecoderFileInCsarParameterGroup.class);
+
+ assertEquals(ValidationStatus.INVALID, configurationParameters.validate().getStatus());
+ }
+
+ @Test
+ public void testEmptyParameters() {
+ final ControlLoopDecoderFileInCsarParameterGroup configurationParameters =
+ CommonTestData.getPolicyDecoderParameters("src/test/resources/parameters/EmptyParameters.json",
+ ControlLoopDecoderFileInCsarParameterGroup.class);
+
+ assertEquals(ValidationStatus.INVALID, configurationParameters.validate().getStatus());
+ }
+}
diff --git a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/decoding/policy/file/ControlLoopDecoderFileInCsarTest.java b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/decoding/policy/file/ControlLoopDecoderFileInCsarTest.java
new file mode 100644
index 00000000..e452a7ce
--- /dev/null
+++ b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/decoding/policy/file/ControlLoopDecoderFileInCsarTest.java
@@ -0,0 +1,96 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2022 Nordix Foundation.
+ * Modifications Copyright (C) 2022 Nordix Foundation.
+ * ================================================================================
+ * 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.distribution.reception.decoding.policy.file;
+
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.util.Collection;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.onap.policy.common.parameters.ParameterService;
+import org.onap.policy.distribution.model.Csar;
+import org.onap.policy.distribution.reception.decoding.PolicyDecodingException;
+import org.onap.policy.distribution.reception.handling.sdc.CommonTestData;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity;
+
+/**
+ * Class to perform unit test of {@link ControlLoopDecoderFileInCsar}.
+ *
+ * @author Sirisha Manchikanti (sirisha.manchikanti@est.tech)
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class ControlLoopDecoderFileInCsarTest {
+
+ /**
+ * Set up.
+ */
+ @BeforeClass
+ public static void setUp() {
+ final ControlLoopDecoderFileInCsarParameterGroup configurationParameters = CommonTestData
+ .getPolicyDecoderParameters("src/test/resources/parameters/FileInCsarControlLoopDecoderParameters.json",
+ ControlLoopDecoderFileInCsarParameterGroup.class);
+ configurationParameters.setName(ControlLoopDecoderFileInCsarParameterGroup.class.getSimpleName());
+ ParameterService.register(configurationParameters);
+ }
+
+ /**
+ * Tear down.
+ */
+ @AfterClass
+ public static void tearDown() {
+ ParameterService.deregister(ControlLoopDecoderFileInCsarParameterGroup.class.getSimpleName());
+ }
+
+ @Test
+ public void testDecodeControlLoop() throws PolicyDecodingException {
+
+ final ControlLoopDecoderFileInCsar decoder = new ControlLoopDecoderFileInCsar();
+ decoder.configure(ControlLoopDecoderFileInCsarParameterGroup.class.getSimpleName());
+
+ final File file = new File("src/test/resources/service-Sampleservice-controlloop.csar");
+ final Csar csar = new Csar(file.getAbsolutePath());
+
+ assertTrue(decoder.canHandle(csar));
+ final Collection<ToscaEntity> controlLoopHolders = decoder.decode(csar);
+ assertEquals(1, controlLoopHolders.size());
+ }
+
+ @Test
+ public void testDecodeControlLoopZipError() {
+
+ final ControlLoopDecoderFileInCsar decoder = new ControlLoopDecoderFileInCsar();
+ decoder.configure(ControlLoopDecoderFileInCsarParameterGroup.class.getSimpleName());
+
+ final File file = new File("unknown.csar");
+ final Csar csar = new Csar(file.getAbsolutePath());
+
+ assertTrue(decoder.canHandle(csar));
+ assertThatThrownBy(() -> decoder.decode(csar)).isInstanceOf(PolicyDecodingException.class)
+ .hasMessageContaining("Failed decoding the controlloop");
+ }
+}
diff --git a/plugins/reception-plugins/src/test/resources/parameters/FileInCsarControlLoopDecoderParameters.json b/plugins/reception-plugins/src/test/resources/parameters/FileInCsarControlLoopDecoderParameters.json
new file mode 100644
index 00000000..ca112388
--- /dev/null
+++ b/plugins/reception-plugins/src/test/resources/parameters/FileInCsarControlLoopDecoderParameters.json
@@ -0,0 +1,3 @@
+{
+ "controlLoopType": "controlloop"
+}
diff --git a/plugins/reception-plugins/src/test/resources/parameters/FileInCsarControlLoopDecoderParametersInvalid.json b/plugins/reception-plugins/src/test/resources/parameters/FileInCsarControlLoopDecoderParametersInvalid.json
new file mode 100644
index 00000000..9d33896e
--- /dev/null
+++ b/plugins/reception-plugins/src/test/resources/parameters/FileInCsarControlLoopDecoderParametersInvalid.json
@@ -0,0 +1,3 @@
+{
+ "controlLoop": ""
+}
diff --git a/plugins/reception-plugins/src/test/resources/service-Sampleservice-controlloop.csar b/plugins/reception-plugins/src/test/resources/service-Sampleservice-controlloop.csar
new file mode 100644
index 00000000..03e29366
--- /dev/null
+++ b/plugins/reception-plugins/src/test/resources/service-Sampleservice-controlloop.csar
Binary files differ