Replaced all tabs with spaces in java and pom.xml
[so.git] / bpmn / MSOCoreBPMN / src / test / java / org / onap / so / bpmn / core / domain / ServiceDecompositionTest.java
1 /*
2  * ============LICENSE_START======================================================= ONAP : SO
3  * ================================================================================ Copyright (C) 2018 TechMahindra
4  * ================================================================================ Licensed under the Apache License,
5  * Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy
6  * of the License at
7  * 
8  * http://www.apache.org/licenses/LICENSE-2.0
9  * 
10  * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
11  * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
12  * specific language governing permissions and limitations under the License.
13  * ============LICENSE_END=========================================================
14  */
15 package org.onap.so.bpmn.core.domain;
16
17 import static com.shazam.shazamcrest.MatcherAssert.assertThat;
18 import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.assertFalse;
21 import static org.junit.Assert.assertTrue;
22 import java.io.IOException;
23 import java.nio.file.Files;
24 import java.nio.file.Paths;
25 import java.util.ArrayList;
26 import java.util.Arrays;
27 import org.junit.Before;
28 import org.junit.Test;
29 import com.fasterxml.jackson.core.JsonProcessingException;
30
31 public class ServiceDecompositionTest {
32     private static final String RESOURCE_PATH = "src/test/resources/json-examples/";
33
34     VnfResource vnfResource;
35     NetworkResource networkResource;
36     AllottedResource allottedResource;
37     ConfigResource configResource;
38
39     @Before
40     public void before() {
41         vnfResource = new VnfResource();
42         vnfResource.setResourceId("vnfResourceId");
43         vnfResource.setModules(new ArrayList<>());
44
45         networkResource = new NetworkResource();
46         networkResource.setResourceId("networkResourceId");
47
48         allottedResource = new AllottedResource();
49         allottedResource.setResourceId("allottedResourceId");
50
51         configResource = new ConfigResource();
52         configResource.setResourceId("configResourceId");
53     }
54
55     @Test
56     public void serviceDecompositionTest() throws JsonProcessingException, IOException {
57         // covering methods not covered by openpojo test
58         String catalogRestOutput =
59                 new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "ServiceDecomposition.json")));
60
61         ServiceDecomposition serviceDecomp = new ServiceDecomposition(catalogRestOutput);
62         serviceDecomp.addVnfResource(vnfResource);
63         serviceDecomp.addNetworkResource(networkResource);
64         serviceDecomp.addAllottedResource(allottedResource);
65         serviceDecomp.addConfigResource(configResource);
66
67         assertThat(serviceDecomp.getServiceResource(vnfResource.getResourceId()), sameBeanAs(vnfResource));
68         assertThat(serviceDecomp.getServiceResource(networkResource.getResourceId()), sameBeanAs(networkResource));
69         assertThat(serviceDecomp.getServiceResource(allottedResource.getResourceId()), sameBeanAs(allottedResource));
70         assertThat(serviceDecomp.getServiceResource(configResource.getResourceId()), sameBeanAs(configResource));
71
72         VnfResource vnfResourceReplace = new VnfResource();
73         vnfResourceReplace.setResourceId(vnfResource.getResourceId());
74         vnfResourceReplace.setResourceInstanceName("vnfResourceReplaceInstanceName");
75
76         assertTrue(serviceDecomp.replaceResource(vnfResourceReplace));
77         assertTrue(serviceDecomp.getVnfResources().contains(vnfResourceReplace));
78
79         assertTrue(serviceDecomp.deleteResource(vnfResourceReplace));
80         assertFalse(serviceDecomp.deleteResource(vnfResourceReplace));
81         assertFalse(serviceDecomp.deleteResource(new VnfResource()));
82     }
83
84     @Test
85     public void serviceDecompositionJsonTest() throws IOException {
86         String catalogRestOutput =
87                 new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "ServiceDecomposition.json")));
88         String expectedCatalogRestOutput =
89                 new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "ServiceDecompositionExpected.json")));
90         String vnfResourceJson = new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "VnfResource.json")));
91         String networkResourceJson = new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "NetworkResource.json")));
92         String allottedResourceJson =
93                 new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "AllottedResource.json")));
94         String configResourceJson = new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "ConfigResource.json")));
95
96         ServiceDecomposition serviceDecomp = new ServiceDecomposition(catalogRestOutput, "serviceInstanceId");
97         serviceDecomp.addResource(vnfResource);
98         serviceDecomp.addResource(networkResource);
99         serviceDecomp.addResource(allottedResource);
100         serviceDecomp.addResource(configResource);
101
102         System.out.println(serviceDecomp.toJsonString());
103
104         assertThat(serviceDecomp.getServiceResource(vnfResource.getResourceId()), sameBeanAs(vnfResource));
105         assertThat(serviceDecomp.getServiceResource(networkResource.getResourceId()), sameBeanAs(networkResource));
106         assertThat(serviceDecomp.getServiceResource(allottedResource.getResourceId()), sameBeanAs(allottedResource));
107         assertThat(serviceDecomp.getServiceResource(configResource.getResourceId()), sameBeanAs(configResource));
108
109         serviceDecomp = new ServiceDecomposition(catalogRestOutput, "serviceInstanceId");
110         serviceDecomp.addVnfResource(vnfResourceJson);
111         serviceDecomp.addNetworkResource(networkResourceJson);
112         serviceDecomp.addAllottedResource(allottedResourceJson);
113         serviceDecomp.addConfigResource(configResourceJson);
114
115         ServiceDecomposition expectedServiceDecomp =
116                 new ServiceDecomposition(expectedCatalogRestOutput, "serviceInstanceId");
117
118         assertThat(serviceDecomp, sameBeanAs(expectedServiceDecomp));
119         assertEquals(
120                 serviceDecomp.listToJson(Arrays.asList(networkResource))
121                         + serviceDecomp.listToJson(Arrays.asList(vnfResource))
122                         + serviceDecomp.listToJson(Arrays.asList(allottedResource))
123                         + serviceDecomp.listToJson(Arrays.asList(configResource)),
124                 serviceDecomp.getServiceResourcesJsonString());
125     }
126
127 }