63359908277784727007d48cc1a7db542a3d906a
[ccsdk/apps.git] /
1 /*\r
2  *  Copyright © 2017-2018 AT&T Intellectual Property.\r
3  *\r
4  *  Licensed under the Apache License, Version 2.0 (the "License");\r
5  *  you may not use this file except in compliance with the License.\r
6  *  You may obtain a copy of the License at\r
7  *\r
8  *      http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  *  Unless required by applicable law or agreed to in writing, software\r
11  *  distributed under the License is distributed on an "AS IS" BASIS,\r
12  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  *  See the License for the specific language governing permissions and\r
14  *  limitations under the License.\r
15  */\r
16 \r
17 package org.onap.ccsdk.apps.blueprintsprocessor.services.resolution;\r
18 \r
19 import com.fasterxml.jackson.databind.node.ObjectNode;\r
20 import org.apache.commons.collections.CollectionUtils;\r
21 import org.apache.commons.io.FileUtils;\r
22 import org.junit.Assert;\r
23 import org.junit.Test;\r
24 import org.junit.runner.RunWith;\r
25 import org.onap.ccsdk.apps.blueprintsprocessor.core.api.data.ResourceResolutionInput;\r
26 import org.onap.ccsdk.apps.blueprintsprocessor.core.api.data.ResourceResolutionOutput;\r
27 import org.onap.ccsdk.apps.controllerblueprints.core.utils.JacksonUtils;\r
28 import org.onap.ccsdk.apps.controllerblueprints.resource.dict.ResourceAssignment;\r
29 import org.slf4j.Logger;\r
30 import org.slf4j.LoggerFactory;\r
31 import org.springframework.beans.factory.annotation.Autowired;\r
32 import org.springframework.test.context.ContextConfiguration;\r
33 import org.springframework.test.context.junit4.SpringRunner;\r
34 \r
35 import java.io.File;\r
36 import java.nio.charset.Charset;\r
37 import java.util.List;\r
38 \r
39 /**\r
40  * ResourceResolutionServiceTest\r
41  *\r
42  * @author Brinda Santh DATE : 8/15/2018\r
43  */\r
44 @RunWith(SpringRunner.class)\r
45 @ContextConfiguration(classes = ResourceResolutionService.class)\r
46 public class ResourceResolutionServiceTest {\r
47     private static Logger log = LoggerFactory.getLogger(ResourceResolutionServiceTest.class);\r
48 \r
49     @Autowired\r
50     private ResourceResolutionService resourceResolutionService;\r
51 \r
52     @Test\r
53     public void testResolveResource() throws Exception {\r
54 \r
55         Assert.assertNotNull("failed to create ResourceResolutionService", resourceResolutionService);\r
56 \r
57         String resourceResolutionInputContent = FileUtils.readFileToString(\r
58                 new File("src/test/resources/payload/requests/sample-resourceresolution-request.json"), Charset.defaultCharset());\r
59 \r
60         ResourceResolutionInput resourceResolutionInput = JacksonUtils.readValue(resourceResolutionInputContent, ResourceResolutionInput.class );\r
61         Assert.assertNotNull("failed to populate resourceResolutionInput request ",resourceResolutionInput);\r
62 \r
63         String resourceAssignmentContent = FileUtils.readFileToString(\r
64                 new File("src/test/resources/mapping/db/resource-assignments-simple.json"), Charset.defaultCharset());\r
65         List<ResourceAssignment> batchResourceAssignment =\r
66                 JacksonUtils.getListFromJson(resourceAssignmentContent, ResourceAssignment.class);\r
67 \r
68         Assert.assertTrue("failed to create ResourceAssignment from file", CollectionUtils.isNotEmpty(batchResourceAssignment));\r
69         resourceResolutionInput.setResourceAssignments(batchResourceAssignment);\r
70 \r
71         ObjectNode inputContent = (ObjectNode)JacksonUtils.jsonNodeFromFile("src/test/resources/payload/inputs/input.json");\r
72         Assert.assertNotNull("failed to populate input payload ",inputContent);\r
73         resourceResolutionInput.setPayload(inputContent);\r
74         log.info("ResourceResolutionInput : {}", JacksonUtils.getJson(resourceResolutionInput, true));\r
75 \r
76         ResourceResolutionOutput resourceResolutionOutput = resourceResolutionService.resolveResource(resourceResolutionInput);\r
77         Assert.assertNotNull("failed to populate output",resourceResolutionOutput);\r
78 \r
79     }\r
80 }\r