aboutsummaryrefslogtreecommitdiffstats
path: root/ONAP-REST/src/test
diff options
context:
space:
mode:
authoruj426b <30905205+uj426b@users.noreply.github.com>2019-03-28 18:40:54 -0400
committeruj426b <uj426b@att.com>2019-04-08 17:37:49 -0400
commit06e02108525c3e5e8c85de233aef3bb332173c00 (patch)
tree87554edd057f73a0fd7674d9a4a3c5f27f02b276 /ONAP-REST/src/test
parent6da5838f43a4bf0dc8786c539f9a9aa521139e55 (diff)
CLAMP Model policy creation support
Change-Id: Ia69f061c078e4f6ed4b4d2cd12f03f58514f2123 Issue-ID: POLICY-1416 Signed-off-by: uj426b <uj426b@att.com>
Diffstat (limited to 'ONAP-REST/src/test')
-rw-r--r--ONAP-REST/src/test/java/org/onap/policy/rest/jpa/DictionaryDataTest.java49
-rw-r--r--ONAP-REST/src/test/java/org/onap/policy/rest/util/MSAttributeObjectTest.java27
-rw-r--r--ONAP-REST/src/test/java/org/onap/policy/rest/util/MSModelUtilsTest.java77
-rw-r--r--ONAP-REST/src/test/resources/TESTMODEL-v1806.yml107
-rw-r--r--ONAP-REST/src/test/resources/policy_tosca_tca-v1707.yml85
5 files changed, 221 insertions, 124 deletions
diff --git a/ONAP-REST/src/test/java/org/onap/policy/rest/jpa/DictionaryDataTest.java b/ONAP-REST/src/test/java/org/onap/policy/rest/jpa/DictionaryDataTest.java
new file mode 100644
index 000000000..486d36442
--- /dev/null
+++ b/ONAP-REST/src/test/java/org/onap/policy/rest/jpa/DictionaryDataTest.java
@@ -0,0 +1,49 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Modifications 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.rest.jpa;
+
+import static org.junit.Assert.assertEquals;
+import org.junit.Test;
+
+public class DictionaryDataTest {
+
+ @Test
+ public void test() {
+ DictionaryData dictData;
+ dictData = new DictionaryData();
+ String value = "testData1";
+
+ // Set Data
+ dictData.setId(1);;
+ dictData.setDictionaryDataByName(value);
+ dictData.setDictionaryName(value);
+ dictData.setDictionaryUrl(value);
+
+ // Test gets
+ assertEquals(1, dictData.getId());
+ assertEquals(value, dictData.getDictionaryDataByName());
+ assertEquals(value, dictData.getDictionaryName());
+ assertEquals(value, dictData.getDictionaryUrl());
+ }
+
+}
diff --git a/ONAP-REST/src/test/java/org/onap/policy/rest/util/MSAttributeObjectTest.java b/ONAP-REST/src/test/java/org/onap/policy/rest/util/MSAttributeObjectTest.java
index 1064b240d..a39eb4996 100644
--- a/ONAP-REST/src/test/java/org/onap/policy/rest/util/MSAttributeObjectTest.java
+++ b/ONAP-REST/src/test/java/org/onap/policy/rest/util/MSAttributeObjectTest.java
@@ -2,14 +2,14 @@
* ============LICENSE_START=======================================================
* ONAP-REST
* ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2018-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.
@@ -17,47 +17,50 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.policy.rest.util;
import static org.junit.Assert.assertTrue;
-
import java.util.HashMap;
-
import org.junit.Test;
public class MSAttributeObjectTest {
@Test
- public void testMSAttributeObject(){
+ public void testMSAttributeObject() {
MSAttributeObject data = new MSAttributeObject();
data.setClassName("Test");
assertTrue("Test".equals(data.getClassName()));
data.setRefAttribute(new HashMap<>());
- assertTrue(data.getRefAttribute()!=null);
+ assertTrue(data.getRefAttribute() != null);
data.setAttribute(new HashMap<>());
- assertTrue(data.getAttribute()!=null);
+ assertTrue(data.getAttribute() != null);
data.setEnumType(new HashMap<>());
- assertTrue(data.getEnumType()!=null);
+ assertTrue(data.getEnumType() != null);
data.addAttribute("test", "test");
data.addRefAttribute("test", "test");
data.addAllAttribute(new HashMap<>());
data.addAllRefAttribute(new HashMap<>());
data.setSubClass(new HashMap<>());
- assertTrue(data.getSubClass()!=null);
+ assertTrue(data.getSubClass() != null);
data.addAllSubClass(new HashMap<>());
data.setDependency("Test");
assertTrue("Test".equals(data.getDependency()));
data.addSingleEnum("test", "test");
data.setMatchingSet(new HashMap<>());
- assertTrue(data.getMatchingSet()!=null);
+ assertTrue(data.getMatchingSet() != null);
data.addMatchingSet("test", "test");
data.addMatchingSet(new HashMap<>());
data.setPolicyTempalate(true);
assertTrue(data.isPolicyTempalate());
+ data.setRuleFormation("ruleFormation");
+ assertTrue(data.getRuleFormation() != null);
+ data.setDataOrderInfo("dataOrderInfo");
+ assertTrue(data.getDataOrderInfo() != null);
}
@Test
- public void testMSAttributeValue(){
+ public void testMSAttributeValue() {
MSAttributeValue data = new MSAttributeValue();
data.setName("Test");
assertTrue("Test".equals(data.getName()));
diff --git a/ONAP-REST/src/test/java/org/onap/policy/rest/util/MSModelUtilsTest.java b/ONAP-REST/src/test/java/org/onap/policy/rest/util/MSModelUtilsTest.java
index e06103fcb..34d555062 100644
--- a/ONAP-REST/src/test/java/org/onap/policy/rest/util/MSModelUtilsTest.java
+++ b/ONAP-REST/src/test/java/org/onap/policy/rest/util/MSModelUtilsTest.java
@@ -2,14 +2,14 @@
* ============LICENSE_START=======================================================
* ONAP-REST
* ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2018-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.
@@ -17,10 +17,14 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-package org.onap.policy.rest.util;
-import static org.junit.Assert.*;
+package org.onap.policy.rest.util;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
@@ -28,25 +32,44 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-
import org.apache.commons.lang.StringUtils;
+import org.junit.Before;
import org.junit.Test;
import org.onap.policy.common.logging.flexlogger.FlexLogger;
import org.onap.policy.common.logging.flexlogger.Logger;
+import org.onap.policy.rest.dao.CommonClassDao;
+import org.onap.policy.rest.jpa.DictionaryData;
import org.onap.policy.rest.util.MSModelUtils.MODEL_TYPE;
public class MSModelUtilsTest {
private static Logger logger = FlexLogger.getLogger(MSModelUtilsTest.class);
+ private static CommonClassDao commonClassDao;
+
+ @Before
+ public void setUp() throws Exception {
+ List<Object> dictionaryData = new ArrayList<Object>();
+ DictionaryData testData = new DictionaryData();
+ testData.setDictionaryName("dictionaryName");
+ testData.setDictionaryDataByName("dictionaryDataByName");
+ dictionaryData.add(testData);
+ logger.info("setUp: Entering");
+ commonClassDao = mock(CommonClassDao.class);
+ when(commonClassDao.getDataById(DictionaryData.class, "dictionaryName", "GocVNFType"))
+ .thenReturn(dictionaryData);
+ }
+
@Test
- public void testMSModelUtils(){
+ public void testMSModelUtils() {
HashMap<String, MSAttributeObject> classMap = new HashMap<>();
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("DKaTVESPolicy-v1802.xmi").getFile());
MSModelUtils utils = new MSModelUtils("http://org.onap", "http://org.onap.policy");
- Map<String, MSAttributeObject> tempMap = utils.processEpackage(file.getAbsolutePath().toString(), MODEL_TYPE.XMI);
+ Map<String, MSAttributeObject> tempMap =
+ utils.processEpackage(file.getAbsolutePath().toString(), MODEL_TYPE.XMI);
classMap.putAll(tempMap);
MSAttributeObject mainClass = classMap.get("StandardDeviationThreshold");
- String dependTemp = StringUtils.replaceEach(mainClass.getDependency(), new String[]{"[", "]", " "}, new String[]{"", "", ""});
+ String dependTemp = StringUtils.replaceEach(mainClass.getDependency(), new String[] {"[", "]", " "},
+ new String[] {"", "", ""});
List<String> dependency = new ArrayList<String>(Arrays.asList(dependTemp.split(",")));
dependency = utils.getFullDependencyList(dependency, classMap);
String subAttribute = utils.createSubAttributes(dependency, classMap, "StandardDeviationThreshold");
@@ -55,25 +78,25 @@ public class MSModelUtilsTest {
/**
- * Run the void stringBetweenDots(String, String) method test
+ * Run the void stringBetweenDots(String, String) method test.
*/
- @Test
+ @Test
public void testStringBetweenDots() {
- //expect: uniqueKeys should contain a string value
- MSModelUtils controllerA = new MSModelUtils();
+ // expect: uniqueKeys should contain a string value
+ MSModelUtils controllerA = new MSModelUtils();
String str = "testing\\.byCorrectWay\\.OfDATA";
assertEquals(1, controllerA.stringBetweenDots(str));
- //expect: uniqueKeys should not contain a string value
+ // expect: uniqueKeys should not contain a string value
str = "testing\byWrongtWay.\\OfDATA";
MSModelUtils controllerB = new MSModelUtils();
assertEquals(0, controllerB.stringBetweenDots(str));
}
/**
- * Run the Map<String,String> load(String) method test
+ * Run the Map<String,String> load(String) method test.
*/
@Test
@@ -82,20 +105,20 @@ public class MSModelUtilsTest {
boolean isLocalTesting = true;
MSModelUtils controller = new MSModelUtils();
String fileName = null;
- Map<String,String> result = null;
+ Map<String, String> result = null;
try {
ClassLoader classLoader = getClass().getClassLoader();
- fileName = new File(classLoader.getResource("policy_tosca_tca-v1707.yml").getFile()).getAbsolutePath();
+ fileName = new File(classLoader.getResource("TESTMODEL-v1806.yml").getFile()).getAbsolutePath();
} catch (Exception e1) {
- logger.error("Exception Occured while loading file"+e1);
+ logger.error("Exception Occured while loading file" + e1);
}
- if(isLocalTesting){
+ if (isLocalTesting) {
try {
result = controller.load(fileName);
} catch (IOException e) {
logger.error("testLoad", e);
result = null;
- }catch(ParserException e){
+ } catch (ParserException e) {
logger.error("testLoad", e);
}
@@ -107,7 +130,7 @@ public class MSModelUtilsTest {
}
/**
- * Run the void parseTosca(String) method test
+ * Run the void parseTosca(String) method test.
*/
@Test
@@ -118,20 +141,20 @@ public class MSModelUtilsTest {
String fileName = null;
try {
ClassLoader classLoader = getClass().getClassLoader();
- fileName = new File(classLoader.getResource("policy_tosca_tca-v1707.yml").getFile()).getAbsolutePath();
+ fileName = new File(classLoader.getResource("TESTMODEL-v1806.yml").getFile()).getAbsolutePath();
} catch (Exception e1) {
- logger.error("Exception Occured while loading file"+e1);
+ logger.error("Exception Occured while loading file" + e1);
}
- MSModelUtils controller = new MSModelUtils();
- if(isLocalTesting){
+ MSModelUtils controller = new MSModelUtils(commonClassDao);
+ if (isLocalTesting) {
try {
controller.parseTosca(fileName);
- }catch (Exception e) {
+ } catch (Exception e) {
fail("parseTosca caused error: " + e);
}
}
logger.debug("testParseTosca: exit");
}
-} \ No newline at end of file
+}
diff --git a/ONAP-REST/src/test/resources/TESTMODEL-v1806.yml b/ONAP-REST/src/test/resources/TESTMODEL-v1806.yml
new file mode 100644
index 000000000..8f35e6fc1
--- /dev/null
+++ b/ONAP-REST/src/test/resources/TESTMODEL-v1806.yml
@@ -0,0 +1,107 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+
+node_types:
+
+ # policy root node
+ policy.nodes.Root:
+ derived_from: tosca.nodes.Root
+ properties:
+ policyName:
+ type: string
+ required: true
+ policyVersion:
+ type: string
+ required: true
+ policyScope:
+ type: string
+ required: true
+ policyDescription:
+ type: string
+ required: false
+
+ # virtual policy node for naming
+ policy.nodes.naming-model:
+ derived_from: policy.nodes.Root
+ properties:
+ Correlation Priority:
+ type: string
+ required: true
+ Correlation Window:
+ type: String
+ required: true
+ Email Notification for failures:
+ type: String
+ required: true
+ Select Server Scope: # Need Dictionary
+ type: String
+ required: true
+ Parent Correlation Name:
+ type: String
+ required: true
+ Parent Correlation Traversal: # Need Dictionary
+ type: String
+ required: true
+ triggerSignature:
+ type: list
+ required: true
+ entry_schema:
+ - type:policy.data.resource-model-entity
+ logicalConnector:
+ type: list
+ required: true
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values: ["OR", "AND"]
+data_types:
+ # custom data type
+ policy.data.resource-model-entity:
+ derived_from: tosca.nodes.Root
+ properties:
+ signatures:
+ type: policy.data.element
+ required: false
+
+ policy.data.element:
+ derived_from: tosca.nodes.Root
+ properties:
+ alarmSignatures:
+ type: list
+ required: true
+ entry_schema:
+ type: policy.data.range
+
+ policy.data.range:
+ derived_from: tosca.nodes.Root
+ properties:
+ traversal:
+ type: string
+ required: true
+ alarmSignature:
+ type: list
+ required: true
+ entry_schema:
+ type: policy.data.alarms
+
+ policy.data.alarms:
+ derived_from: tosca.nodes.Root
+ properties:
+ VnfType:
+ type: list
+ required: true
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values: ["dictionary:GocVNFType#Rules"]
+ Contains:
+ type: list
+ required: true
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values: ["OR", "AND", "CONTAINS", "EQUALS", "NOTEQUALS", "ENDSWITH", "STARTSWITH"]
+ FilterValue:
+ type: string
+ required: true
+
+JSON_MODEL: signatures.alarmSignatures.alarmSignature \ No newline at end of file
diff --git a/ONAP-REST/src/test/resources/policy_tosca_tca-v1707.yml b/ONAP-REST/src/test/resources/policy_tosca_tca-v1707.yml
deleted file mode 100644
index b29ebcfa9..000000000
--- a/ONAP-REST/src/test/resources/policy_tosca_tca-v1707.yml
+++ /dev/null
@@ -1,85 +0,0 @@
-#
-#============LICENSE_START==================================================
-# ONAP Policy Engine
-#===========================================================================
-# Copyright (C) 2017-2018 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==================================================
-#
-
-tosca_definitions_version: tosca_simple_yaml_1_0_0
-
-node_types:
- # policy root node
- policy.nodes.Root:
- derived_from: tosca.nodes.Root
- properties:
- policyName:
- type: string
- required: true
- policyVersion:
- type: string
- required: true
- policyScope:
- type: string
- required: true
- policyDescription:
- type: string
- required: false
-
- # virtual policy node for string matcher
- policy.nodes.tca:
- derived_from: policy.nodes.Root
- properties:
- functionalRole:
- type: string
- required: true
- default: "ClosedLoop_F5-d925ed73-8231-4d02-9545-db4e101f88f8"
- policyName:
- type: string
- required: true
- default: "configuration.dcae.microservice.tca.xml"
- policyVersion:
- type: string
- required: true
- default: "v0.0.1"
- threshholds:
- type: list
- entry_schema:
- - type:policy.data.Threshold
-
-data_types:
- policy.data.Threshold:
- derived_from: tosca.nodes.Root
- properties:
- closedLoopControlName:
- type: string
- required: true
- version:
- type: string
- required: true
- default: "1.0.2"
- fieldPath:
- type: string
- required: true
- thresholdValue:
- type: integer
- required: true
- direction:
- type: string
- required: true
- severity:
- type: string
- required: true
-