From 06e02108525c3e5e8c85de233aef3bb332173c00 Mon Sep 17 00:00:00 2001 From: uj426b <30905205+uj426b@users.noreply.github.com> Date: Thu, 28 Mar 2019 18:40:54 -0400 Subject: CLAMP Model policy creation support Change-Id: Ia69f061c078e4f6ed4b4d2cd12f03f58514f2123 Issue-ID: POLICY-1416 Signed-off-by: uj426b --- .../onap/policy/rest/jpa/DictionaryDataTest.java | 49 ++++++++++++++ .../policy/rest/util/MSAttributeObjectTest.java | 27 ++++---- .../onap/policy/rest/util/MSModelUtilsTest.java | 77 ++++++++++++++-------- 3 files changed, 114 insertions(+), 39 deletions(-) create mode 100644 ONAP-REST/src/test/java/org/onap/policy/rest/jpa/DictionaryDataTest.java (limited to 'ONAP-REST/src/test/java') 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 dictionaryData = new ArrayList(); + 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 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 tempMap = utils.processEpackage(file.getAbsolutePath().toString(), MODEL_TYPE.XMI); + Map 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 dependency = new ArrayList(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 load(String) method test + * Run the Map load(String) method test. */ @Test @@ -82,20 +105,20 @@ public class MSModelUtilsTest { boolean isLocalTesting = true; MSModelUtils controller = new MSModelUtils(); String fileName = null; - Map result = null; + Map 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 +} -- cgit 1.2.3-korg