eb05be3cdfc1e962c2bae32a2c446922c0201016
[policy/models.git] / models-interactions / model-impl / aai / src / test / java / org / onap / policy / aai / AaiGetVnfResponseTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * aai
4  * ================================================================================
5  * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
6  * Modifications Copyright (C) 2019 Nordix Foundation.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  * 
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  * 
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.onap.policy.aai;
23
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertNotNull;
26
27 import java.io.File;
28 import java.nio.file.Files;
29 import java.util.List;
30 import org.junit.Test;
31 import org.onap.policy.aai.util.Serialization;
32 import org.slf4j.Logger;
33 import org.slf4j.LoggerFactory;
34
35 public class AaiGetVnfResponseTest {
36     private static final Logger logger = LoggerFactory.getLogger(AaiGetVnfResponseTest.class);
37
38     @Test
39     public void test() throws Exception {
40         // deserialize json and verify fields are populated properly
41         String json = new String(Files.readAllBytes(
42                         new File("src/test/resources/org/onap/policy/aai/AaiGetVnfResponse.json").toPath()));
43
44         AaiGetVnfResponse resp = Serialization.gsonPretty.fromJson(json, AaiGetVnfResponse.class);
45
46         assertEquals("807a3f02-f878-436b-870c-f0e91e81570d", resp.getVnfId());
47         assertEquals("vLoadBalancerMS-Vnf-0809-2", resp.getVnfName());
48         assertEquals("vLoadBalancerMS/vLoadBalancerMS 0", resp.getVnfType());
49         assertEquals("1533850960381", resp.getResourceVersion());
50         assertEquals(false, resp.getInMaint());
51         assertEquals(true, resp.getIsClosedLoopDisabled());
52         assertEquals("53638a85-361a-437d-8830-4b0d5329225e", resp.getModelInvariantId());
53         assertEquals("PROV", resp.getProvStatus());
54         assertEquals("Active", resp.getOrchestrationStatus());
55         assertEquals("50e1b0be-e0c9-48e2-9f42-15279a783ee8", resp.getServiceId());
56
57         // don't need to verify this in depth, as it has its own tests that do that
58         RelationshipList relationshipList = resp.getRelationshipList();
59         assertNotNull(relationshipList);
60
61         List<Relationship> lst = relationshipList.getRelationships();
62         assertNotNull(lst);
63
64         assertEquals(5, lst.size());
65         assertEquals("service-instance", lst.get(0).getRelatedTo());
66         assertEquals("line-of-business", lst.get(1).getRelatedTo());
67
68         logger.info(Serialization.gsonPretty.toJson(resp));
69
70         // verify that setXxx methods work
71         relationshipList = new RelationshipList();
72
73         resp.setInMaint(true);
74         resp.setIsClosedLoopDisabled(false);
75         resp.setModelInvariantId("modiv");
76         resp.setOrchestrationStatus("orch");
77         resp.setProvStatus("mystatus");
78         resp.setRelationshipList(relationshipList);
79         resp.setResourceVersion("vers");
80         resp.setServiceId("svc");
81         resp.setVnfId("vnfid");
82         resp.setVnfName("vnfname");
83         resp.setVnfType("vnftype");
84
85         assertEquals("vnfid", resp.getVnfId());
86         assertEquals("vnfname", resp.getVnfName());
87         assertEquals("vnftype", resp.getVnfType());
88         assertEquals("vers", resp.getResourceVersion());
89         assertEquals(true, resp.getInMaint());
90         assertEquals(false, resp.getIsClosedLoopDisabled());
91         assertEquals("modiv", resp.getModelInvariantId());
92         assertEquals("mystatus", resp.getProvStatus());
93         assertEquals("orch", resp.getOrchestrationStatus());
94         assertEquals("svc", resp.getServiceId());
95         assertEquals(relationshipList, resp.getRelationshipList());
96
97
98         // test error case
99         json = new String(Files.readAllBytes(
100                         new File("src/test/resources/org/onap/policy/aai/AaiGetResponseError.json").toPath()));
101         resp = Serialization.gsonPretty.fromJson(json, AaiGetVnfResponse.class);
102
103         // don't need to verify this in depth, as it has its own tests that do that
104         assertNotNull(resp.getRequestError());
105         assertNotNull(resp.getRequestError().getServiceExcept());
106         assertEquals("SVC3001", resp.getRequestError().getServiceExcept().getMessageId());
107     }
108 }