SDN Controller Blueprints Data Adaptor
[ccsdk/features.git] / blueprints-processor / adaptors / data-adaptor-provider / src / test / java / org / onap / ccsdk / config / data / adaptor / dao / ConfigResourceDaoTest.java
1 /*\r
2  * Copyright © 2017-2018 AT&T Intellectual Property.\r
3  * \r
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except\r
5  * in compliance with the License. You may obtain a copy of the License at\r
6  * \r
7  * http://www.apache.org/licenses/LICENSE-2.0\r
8  * \r
9  * Unless required by applicable law or agreed to in writing, software distributed under the License\r
10  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express\r
11  * or implied. See the License for the specific language governing permissions and limitations under\r
12  * the License.\r
13  */\r
14 \r
15 package org.onap.ccsdk.config.data.adaptor.dao;\r
16 \r
17 import java.nio.charset.Charset;\r
18 import java.util.ArrayList;\r
19 import java.util.Date;\r
20 import java.util.List;\r
21 import org.apache.commons.io.IOUtils;\r
22 import org.junit.Assert;\r
23 import org.junit.Before;\r
24 import org.junit.FixMethodOrder;\r
25 import org.junit.Test;\r
26 import org.junit.runner.RunWith;\r
27 import org.junit.runners.MethodSorters;\r
28 import org.onap.ccsdk.config.data.adaptor.domain.ConfigResource;\r
29 import org.onap.ccsdk.config.data.adaptor.domain.ResourceAssignmentData;\r
30 import org.springframework.beans.factory.annotation.Autowired;\r
31 import org.springframework.test.context.ContextConfiguration;\r
32 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;\r
33 import com.att.eelf.configuration.EELFLogger;\r
34 import com.att.eelf.configuration.EELFManager;\r
35 \r
36 @RunWith(SpringJUnit4ClassRunner.class)\r
37 @ContextConfiguration(locations = {"classpath:test-context-h2db.xml"})\r
38 @FixMethodOrder(MethodSorters.NAME_ASCENDING)\r
39 public class ConfigResourceDaoTest {\r
40     \r
41     private static EELFLogger logger = EELFManager.getInstance().getLogger(ConfigResourceDaoTest.class);\r
42     \r
43     @Autowired\r
44     private ConfigResourceDao configResourceDao;\r
45     \r
46     @Before\r
47     public void initialise() {\r
48         \r
49     }\r
50     \r
51     @Test\r
52     public void testAssignmentResourceData() throws Exception {\r
53         ConfigResource configResource = new ConfigResource();\r
54         String resourceData = IOUtils.toString(\r
55                 ConfigResourceDaoTest.class.getClassLoader().getResourceAsStream("reference/resource_data.json"),\r
56                 Charset.defaultCharset());\r
57         \r
58         logger.trace("resourceData = " + resourceData);\r
59         configResource.setResourceData(resourceData);\r
60         configResource.setServiceTemplateName("sample-name");\r
61         configResource.setServiceTemplateVersion("1.0.0");\r
62         configResource.setResourceId("123456");\r
63         configResource.setResourceType("vUSP - vDBE-IPX HUB");\r
64         configResource.setRequestId("123456");\r
65         configResource.setRecipeName("activate-action");\r
66         configResource.setTemplateName("vrr-service-template");\r
67         configResource.setMaskData(null);\r
68         configResource.setStatus("success");\r
69         configResource.setCreatedDate(new Date(System.currentTimeMillis()));\r
70         configResource.setUpdatedBy("an188a");\r
71         \r
72         List<ResourceAssignmentData> resourceAssignments = new ArrayList<>();\r
73         ResourceAssignmentData resourceAssignmentData = new ResourceAssignmentData();\r
74         resourceAssignmentData.setDataType("string");\r
75         resourceAssignmentData.setStatus("success");\r
76         resourceAssignmentData.setMessage("success");\r
77         resourceAssignmentData.setTemplateKeyName("sample");\r
78         resourceAssignmentData.setResourceName("sample");\r
79         // resourceAssignmentData.setResourceValue("sample123");\r
80         resourceAssignmentData.setSource("input");\r
81         resourceAssignments.add(resourceAssignmentData);\r
82         configResource.setResourceAssignments(resourceAssignments);\r
83         \r
84         ConfigResource dbConfigResource = configResourceDao.save(configResource);\r
85         logger.info("Saved sucessfully : " + dbConfigResource.toString());\r
86         Assert.assertNotNull("ConfigResource is null", dbConfigResource);\r
87         Assert.assertNotNull("Resource Assignment Data is null", dbConfigResource.getResourceAssignments());\r
88         Assert.assertEquals("Resource Assignment Data count missmatch", true,\r
89                 dbConfigResource.getResourceAssignments().size() > 0);\r
90     }\r
91     \r
92     @Test\r
93     public void testConfigResourcesData() throws Exception {\r
94         ConfigResource configResourceInput = new ConfigResource();\r
95         configResourceInput.setResourceId("123456");\r
96         List<ConfigResource> dbConfigResources = configResourceDao.findByConfigResource(configResourceInput);\r
97         Assert.assertNotNull("ConfigResources is null", dbConfigResources);\r
98         Assert.assertEquals("ConfigResources size missmatch", true, dbConfigResources.size() > 0);\r
99         \r
100         for (ConfigResource configResource : dbConfigResources) {\r
101             Assert.assertNotNull("ConfigResources Assignments is null", configResource.getResourceAssignments());\r
102             Assert.assertTrue("ConfigResources Assignments size miss mathch ",\r
103                     configResource.getResourceAssignments().size() > 0);\r
104             logger.trace("ResourceAssignments = " + configResource.getResourceAssignments());\r
105         }\r
106     }\r
107     \r
108     @Test\r
109     public void testDeleteByConfigResource() throws Exception {\r
110         ConfigResource configResourceInput = new ConfigResource();\r
111         configResourceInput.setResourceId("123456");\r
112         \r
113         List<ConfigResource> dbConfigResources = configResourceDao.findByConfigResource(configResourceInput);\r
114         Assert.assertTrue("ConfigResources is null", !dbConfigResources.isEmpty());\r
115         \r
116         configResourceInput.setConfigResourceId(dbConfigResources.get(0).getConfigResourceId());\r
117         configResourceDao.deleteByConfigResource(configResourceInput);\r
118         \r
119         dbConfigResources = configResourceDao.findByConfigResource(configResourceInput);\r
120         Assert.assertTrue("ConfigResources is not null", dbConfigResources.isEmpty());\r
121     }\r
122 }\r