2b02436be5d7c3d3bcab761342244e50a7900cf9
[dcaegen2/services/prh.git] /
1 /*
2  * ============LICENSE_START=======================================================
3  * PNF-REGISTRATION-HANDLER
4  * ================================================================================
5  * Copyright (C) 2019 NOKIA Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.dcaegen2.services.prh.model;
22
23 import com.google.gson.GsonBuilder;
24 import org.junit.jupiter.api.Test;
25
26 import static org.assertj.core.api.Assertions.assertThat;
27 import static org.junit.jupiter.api.Assertions.assertEquals;
28
29 class AaiServiceInstanceResultModelTest {
30
31     private static final String SOME_AAI_SERVICE_INSTANCE_JSON = "{" +
32             "\"service-instance-id\":\"some serviceInstanceId\"," +
33             "\"service-instance-name\":\"some serviceInstanceName\"," +
34             "\"service-type\":\"some serviceType\"," +
35             "\"service-role\":\"some serviceRole\"," +
36             "\"environment-context\":\"some environmentContext\"," +
37             "\"workload-context\":\"some workloadContext\"," +
38             "\"created-at\":\"some createdAt\"," +
39             "\"updated-at\":\"some updatedAt\"," +
40             "\"description\":\"some description\"," +
41             "\"model-invariant-id\":\"some modelInvariantId\"," +
42             "\"model-version-id\":\"some modelVersionId\"," +
43             "\"persona-model-version\":\"some personaModelVersion\"," +
44             "\"widget-model-id\":\"some widgetModelId\"," +
45             "\"widget-model-version\":\"some widgetModelVersion\"," +
46             "\"bandwidth-total\":\"some bandwidthTotal\"," +
47             "\"bandwidth-up-wan1\":\"some bandwidthUpWan1\"," +
48             "\"bandwidth-down-wan1\":\"some bandwidthDownWan1\"," +
49             "\"bandwidth-up-wan2\":\"some bandwidthUpWan2\"," +
50             "\"bandwidth-down-wan2\":\"some bandwidthDownWan2\"," +
51             "\"vhn-portal-url\":\"some vhnPortalUrl\"," +
52             "\"service-instance-location-id\":\"some serviceInstanceLocationId\"," +
53             "\"resource-version\":\"some resourceVersion\"," +
54             "\"selflink\":\"some selflink\"," +
55             "\"orchestration-status\":\"some orchestrationStatus\"," +
56             "\"relationship-list\":{\"relationship\":[{}]}" +
57             "}";
58
59     private static AaiServiceInstanceResultModel getSomeAaiServiceInstance() {
60         AaiServiceInstanceResultModel serviceInstance = new AaiServiceInstanceResultModel();
61         serviceInstance.setServiceInstanceId("some serviceInstanceId");
62         serviceInstance.setServiceInstanceName("some serviceInstanceName");
63         serviceInstance.setServiceType("some serviceType");
64         serviceInstance.setServiceRole("some serviceRole");
65         serviceInstance.setEnvironmentContext("some environmentContext");
66         serviceInstance.setWorkloadContext("some workloadContext");
67         serviceInstance.setCreatedAt("some createdAt");
68         serviceInstance.setUpdatedAt("some updatedAt");
69         serviceInstance.setDescription("some description");
70         serviceInstance.setModelInvariantId("some modelInvariantId");
71         serviceInstance.setModelVersionId("some modelVersionId");
72         serviceInstance.setPersonaModelVersion("some personaModelVersion");
73         serviceInstance.setWidgetModelId("some widgetModelId");
74         serviceInstance.setWidgetModelVersion("some widgetModelVersion");
75         serviceInstance.setBandwidthTotal("some bandwidthTotal");
76         serviceInstance.setBandwidthUpWan1("some bandwidthUpWan1");
77         serviceInstance.setBandwidthDownWan1("some bandwidthDownWan1");
78         serviceInstance.setBandwidthUpWan2("some bandwidthUpWan2");
79         serviceInstance.setBandwidthDownWan2("some bandwidthDownWan2");
80         serviceInstance.setVhnPortalUrl("some vhnPortalUrl");
81         serviceInstance.setServiceInstanceLocationId("some serviceInstanceLocationId");
82         serviceInstance.setResourceVersion("some resourceVersion");
83         serviceInstance.setSelflink("some selflink");
84         serviceInstance.setOrchestrationStatus("some orchestrationStatus");
85         serviceInstance.setRelationshipList(getSomeRelationshipList());
86         return serviceInstance;
87     }
88
89     private static Relationship getSomeRelationshipList() {
90         return new Relationship().addRelationshipItem(
91                 new RelationshipDict());
92     }
93
94     @Test
95     void shouldSerializeAaiServiceInstance() {
96         String json = new GsonBuilder().create().toJson(getSomeAaiServiceInstance());
97         assertEquals(SOME_AAI_SERVICE_INSTANCE_JSON, json);
98     }
99
100     @Test
101     void shouldParseAaiServiceInstance() {
102         AaiServiceInstanceResultModel serviceInstance = new GsonBuilder().create()
103                 .fromJson(SOME_AAI_SERVICE_INSTANCE_JSON, AaiServiceInstanceResultModel.class);
104
105         assertEquals("some serviceInstanceId", serviceInstance.getServiceInstanceId());
106         assertEquals("some serviceInstanceName", serviceInstance.getServiceInstanceName());
107         assertEquals("some serviceType", serviceInstance.getServiceType());
108         assertEquals("some serviceRole", serviceInstance.getServiceRole());
109         assertEquals("some environmentContext", serviceInstance.getEnvironmentContext());
110         assertEquals("some workloadContext", serviceInstance.getWorkloadContext());
111         assertEquals("some createdAt", serviceInstance.getCreatedAt());
112         assertEquals("some updatedAt", serviceInstance.getUpdatedAt());
113         assertEquals("some description", serviceInstance.getDescription());
114         assertEquals("some modelInvariantId", serviceInstance.getModelInvariantId());
115         assertEquals("some modelVersionId", serviceInstance.getModelVersionId());
116         assertEquals("some personaModelVersion", serviceInstance.getPersonaModelVersion());
117         assertEquals("some widgetModelId", serviceInstance.getWidgetModelId());
118         assertEquals("some widgetModelVersion", serviceInstance.getWidgetModelVersion());
119         assertEquals("some bandwidthTotal", serviceInstance.getBandwidthTotal());
120         assertEquals("some bandwidthUpWan1", serviceInstance.getBandwidthUpWan1());
121         assertEquals("some bandwidthDownWan1", serviceInstance.getBandwidthDownWan1());
122         assertEquals("some bandwidthUpWan2", serviceInstance.getBandwidthUpWan2());
123         assertEquals("some bandwidthDownWan2", serviceInstance.getBandwidthDownWan2());
124         assertEquals("some vhnPortalUrl", serviceInstance.getVhnPortalUrl());
125         assertEquals("some serviceInstanceLocationId", serviceInstance.getServiceInstanceLocationId());
126         assertEquals("some resourceVersion", serviceInstance.getResourceVersion());
127         assertEquals("some selflink", serviceInstance.getSelflink());
128         assertEquals("some orchestrationStatus", serviceInstance.getOrchestrationStatus());
129         assertEquals(1, serviceInstance.getRelationshipList().getRelationship().size());
130     }
131
132     @Test
133     void shouldBePrintable() {
134         String s = getSomeAaiServiceInstance().toString();
135         assertThat(s).contains("some serviceInstanceId");
136         assertThat(s).contains("some serviceInstanceName");
137         assertThat(s).contains("some serviceType");
138         assertThat(s).contains("some serviceRole");
139         assertThat(s).contains("some environmentContext");
140         assertThat(s).contains("some workloadContext");
141         assertThat(s).contains("some createdAt");
142         assertThat(s).contains("some updatedAt");
143         assertThat(s).contains("some description");
144         assertThat(s).contains("some modelInvariantId");
145         assertThat(s).contains("some modelVersionId");
146         assertThat(s).contains("some personaModelVersion");
147         assertThat(s).contains("some widgetModelId");
148         assertThat(s).contains("some widgetModelVersion");
149         assertThat(s).contains("some bandwidthTotal");
150         assertThat(s).contains("some bandwidthUpWan1");
151         assertThat(s).contains("some bandwidthDownWan1");
152         assertThat(s).contains("some bandwidthUpWan2");
153         assertThat(s).contains("some bandwidthDownWan2");
154         assertThat(s).contains("some vhnPortalUrl");
155         assertThat(s).contains("some serviceInstanceLocationId");
156         assertThat(s).contains("some resourceVersion");
157         assertThat(s).contains("some selflink");
158         assertThat(s).contains("some orchestrationStatus");
159     }
160 }