+++ /dev/null
-/*\r
- * Copyright © 2017-2018 AT&T Intellectual Property.\r
- * Modifications Copyright © 2018 IBM.\r
- * \r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-package org.onap.ccsdk.features.model.utils;\r
-\r
-import static org.junit.Assert.assertTrue;\r
-import java.io.File;\r
-import java.util.ArrayList;\r
-import java.util.HashMap;\r
-import java.util.List;\r
-import java.util.Map;\r
-import org.junit.Test;\r
-import org.onap.ccsdk.features.model.ConfigModelConstant;\r
-import org.onap.ccsdk.features.model.ConfigModelException;\r
-import org.onap.ccsdk.features.model.ValidTypes;\r
-import org.onap.ccsdk.features.model.data.PropertyDefinition;\r
-import org.onap.ccsdk.features.model.data.ResourceAssignment;\r
-import org.onap.ccsdk.features.model.data.dict.ResourceDefinition;\r
-import com.fasterxml.jackson.core.type.TypeReference;\r
-import com.fasterxml.jackson.databind.JsonNode;\r
-import com.fasterxml.jackson.databind.ObjectMapper;\r
-\r
-public class ResourceAssignmentUtilsTest {\r
-\r
- @Test\r
- public void testGetArtifactNodeContent() {\r
- String nodeTemplateName = "nodeTemplateNmae";\r
- String templateContent = "content";\r
- Map<String, Object> context = new HashMap<String, Object>();\r
- context.put(ConfigModelConstant.PROPERTY_NODE_TEMPLATES_DOT + nodeTemplateName + ".content", templateContent);\r
-\r
- String retrievedContent = ResourceAssignmentUtils.getArtifactNodeContent(nodeTemplateName, context);\r
-\r
- assertTrue(templateContent.equals(retrievedContent));\r
- }\r
-\r
- @Test\r
- public void testGetArtifactNodeMapping() {\r
- String nodeTemplateName = "nodeTemplateNmae";\r
- String templateContent = "[]";\r
- Map<String, Object> context = new HashMap<String, Object>();\r
- context.put(ConfigModelConstant.PROPERTY_NODE_TEMPLATES_DOT + nodeTemplateName + ".mapping", templateContent);\r
-\r
- List<ResourceAssignment> map = ResourceAssignmentUtils.getArtifactNodeMapping(nodeTemplateName, context);\r
- assertTrue(map.size() == 0);\r
- }\r
-\r
- @Test\r
- public void testCleanContextTemplateNDictionaryKeys() {\r
- String recipeName = "recipe";\r
- Map<String, Object> componentContext = new HashMap<String, Object>();\r
- componentContext.put(ConfigModelConstant.PROPERTY_ACTION_NAME, recipeName);\r
- componentContext.put(ConfigModelConstant.PROPERTY_DICTIONARY_KEY_DOT + recipeName + ".", "value1");\r
- componentContext.put(ConfigModelConstant.PROPERTY_RECIPE_KEY_DOT + recipeName + ".", "value2");\r
- ResourceAssignmentUtils.cleanContextTemplateNDictionaryKeys(componentContext);\r
-\r
- assertTrue(componentContext.size() == 1);\r
- }\r
-\r
- @Test\r
- public void testGetDictionaryKeyValue() {\r
- String recipeName = "recipe";\r
- String dictionaryName = "dictionaryKey";\r
- Map<String, Object> componentContext = new HashMap<String, Object>();\r
- componentContext.put(ConfigModelConstant.PROPERTY_ACTION_NAME, recipeName);\r
- componentContext.put(ConfigModelConstant.PROPERTY_DICTIONARY_KEY_DOT + recipeName + "." + dictionaryName,\r
- "value1");\r
- ResourceAssignment resourceAssignment = new ResourceAssignment();\r
- resourceAssignment.setDictionaryName(dictionaryName);\r
-\r
- String value = (String) ResourceAssignmentUtils.getDictionaryKeyValue(componentContext, resourceAssignment);\r
- assertTrue("value1".equals(value));\r
- }\r
-\r
- @Test\r
- public void testGetDictionaryKeyValueWithDictionaryDefinition() {\r
- String recipeName = "recipe";\r
- String dictionaryName = "dictionaryKey";\r
- Map<String, Object> componentContext = new HashMap<String, Object>();\r
- componentContext.put(ConfigModelConstant.PROPERTY_ACTION_NAME, recipeName);\r
- componentContext.put(ConfigModelConstant.PROPERTY_DICTIONARY_KEY_DOT + recipeName + "." + dictionaryName,\r
- "value1");\r
- ResourceDefinition resourceDefinition = new ResourceDefinition();\r
- resourceDefinition.setName(dictionaryName);\r
-\r
- String value = (String) ResourceAssignmentUtils.getDictionaryKeyValue(componentContext, resourceDefinition);\r
- assertTrue("value1".equals(value));\r
- }\r
-\r
- @Test\r
- public void testGetTemplateKeyValue() {\r
- String recipeName = "recipe";\r
- String templateKeyName = "templateKey";\r
- Map<String, Object> componentContext = new HashMap<String, Object>();\r
- componentContext.put(ConfigModelConstant.PROPERTY_ACTION_NAME, recipeName);\r
- componentContext.put(ConfigModelConstant.PROPERTY_RECIPE_KEY_DOT + recipeName + "." + templateKeyName,\r
- "value1");\r
- ResourceAssignment resourceAssignment = new ResourceAssignment();\r
- resourceAssignment.setName(templateKeyName);\r
-\r
- String value = (String) ResourceAssignmentUtils.getTemplateKeyValue(componentContext, resourceAssignment);\r
- assertTrue("value1".equals(value));\r
- }\r
-\r
- @Test\r
- public void testSetResourceDataValue() throws Exception {\r
- String recipeName = "recipe";\r
- Map<String, Object> componentContext = new HashMap<String, Object>();\r
- componentContext.put(ConfigModelConstant.PROPERTY_ACTION_NAME, recipeName);\r
-\r
- ResourceAssignment resourceAssignment = createResourceAssignment("name1", ValidTypes.DATA_TYPE_STRING, null);\r
- Object value = "value";\r
- ResourceAssignmentUtils.setResourceDataValue(componentContext, resourceAssignment, value);\r
- assertTrue(value.equals(resourceAssignment.getProperty().getValue()));\r
-\r
- resourceAssignment = createResourceAssignment("name1", ValidTypes.DATA_TYPE_INTEGER, null);\r
- value = "1";\r
- ResourceAssignmentUtils.setResourceDataValue(componentContext, resourceAssignment, value);\r
- assertTrue((int) resourceAssignment.getProperty().getValue() == 1);\r
-\r
- resourceAssignment = createResourceAssignment("name1", ValidTypes.DATA_TYPE_BOOLEAN, null);\r
- value = "true";\r
- ResourceAssignmentUtils.setResourceDataValue(componentContext, resourceAssignment, value);\r
- assertTrue((boolean) resourceAssignment.getProperty().getValue());\r
-\r
- resourceAssignment = createResourceAssignment("name1", ValidTypes.DATA_TYPE_FLOAT, null);\r
- value = "1.1";\r
- ResourceAssignmentUtils.setResourceDataValue(componentContext, resourceAssignment, value);\r
- assertTrue((float) resourceAssignment.getProperty().getValue() == 1.1f);\r
- }\r
-\r
- @Test\r
- public void testSetFailedResourceDataValue() throws Exception {\r
- ResourceAssignment resourceAssignment = createResourceAssignment("name1", ValidTypes.DATA_TYPE_STRING, "value");\r
- String message = "message";\r
- ResourceAssignmentUtils.setFailedResourceDataValue(null, resourceAssignment, message);\r
-\r
- assertTrue(message.equals(resourceAssignment.getMessage()));\r
- assertTrue(ConfigModelConstant.STATUS_FAILURE.equals(resourceAssignment.getStatus()));\r
- }\r
-\r
- @Test(expected = ConfigModelException.class)\r
- public void testAssertTemplateKeyValueNotNull() throws Exception {\r
- Map<String, Object> componentContext = null;\r
- ResourceAssignment resourceAssignment = createResourceAssignment("name1", ValidTypes.DATA_TYPE_STRING, "value");\r
- ResourceAssignmentUtils.assertTemplateKeyValueNotNull(componentContext, resourceAssignment);\r
- }\r
-\r
- @Test\r
- public void testGenerateResourceDataForAssignments() throws Exception {\r
- List<ResourceAssignment> assignments = new ArrayList<ResourceAssignment>();\r
- assignments.add(createResourceAssignment("name1", ValidTypes.DATA_TYPE_STRING, "string"));\r
- assignments.add(createResourceAssignment("name2", ValidTypes.DATA_TYPE_BOOLEAN, true));\r
- assignments.add(createResourceAssignment("name3", ValidTypes.DATA_TYPE_INTEGER, 1));\r
- assignments.add(createResourceAssignment("name4", ValidTypes.DATA_TYPE_FLOAT, 1.1f));\r
- assignments.add(createResourceAssignment("name5", ValidTypes.DATA_TYPE_TIMESTAMP, "1523908097735"));\r
- assignments.add(createResourceAssignment("name6", "", new HashMap<String, String>()));\r
- ResourceAssignmentUtils.generateResourceDataForAssignments(assignments);\r
- }\r
-\r
- public void testResourceAssignmentForNullEmptyValues() throws Exception {\r
-\r
- ObjectMapper mapper = new ObjectMapper();\r
- JsonNode raContent =\r
- mapper.readTree(new File("src/test/resources/service_templates/ra-content-with-mising-value.json"));\r
-\r
- List<ResourceAssignment> assignments =\r
- mapper.readValue(raContent.toString(), new TypeReference<List<ResourceAssignment>>() {});\r
-\r
- ResourceAssignmentUtils.generateResourceDataForAssignments(assignments);\r
- }\r
-\r
- private ResourceAssignment createResourceAssignment(String name, String dataType, Object value) {\r
- PropertyDefinition property = new PropertyDefinition();\r
- property.setType(dataType);\r
- property.setValue(value);\r
- property.setRequired(true);\r
- ResourceAssignment ra = new ResourceAssignment();\r
- ra.setName(name);\r
- ra.setProperty(property);\r
- return ra;\r
- }\r
-\r
-}\r