2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2018 Ericsson. All rights reserved.
6 * Modifications Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved
7 * Modifications Copyright (C) 2019, 2024 Nordix Foundation.
8 * ================================================================================
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
20 * ============LICENSE_END=========================================================
23 package org.onap.policy.so;
25 import static org.junit.jupiter.api.Assertions.assertEquals;
26 import static org.junit.jupiter.api.Assertions.assertNotEquals;
27 import static org.junit.jupiter.api.Assertions.assertNotNull;
28 import static org.junit.jupiter.api.Assertions.assertNull;
30 import java.util.ArrayList;
31 import java.util.List;
32 import java.util.function.BiConsumer;
33 import org.junit.jupiter.api.Test;
35 class SoRequestDetailsTest {
38 void testConstructor() {
39 SoRequestDetails obj = new SoRequestDetails();
41 assertNull(obj.getCloudConfiguration());
42 assertNull(obj.getModelInfo());
43 assertNull(obj.getRequestInfo());
44 assertNull(obj.getRequestParameters());
45 assertNull(obj.getSubscriberInfo());
47 assertNotNull(obj.getRelatedInstanceList());
48 assertEquals(0, obj.getRelatedInstanceList().size());
53 SoRequestDetails obj = new SoRequestDetails();
55 SoCloudConfiguration cloudConfiguration = new SoCloudConfiguration();
56 obj.setCloudConfiguration(cloudConfiguration);
57 assertEquals(cloudConfiguration, obj.getCloudConfiguration());
59 SoModelInfo modelInfo = new SoModelInfo();
60 obj.setModelInfo(modelInfo);
61 assertEquals(modelInfo, obj.getModelInfo());
63 SoRequestInfo requestInfo = new SoRequestInfo();
64 obj.setRequestInfo(requestInfo);
65 assertEquals(requestInfo, obj.getRequestInfo());
67 SoRequestParameters requestParameters = new SoRequestParameters();
68 obj.setRequestParameters(requestParameters);
69 assertEquals(requestParameters, obj.getRequestParameters());
71 SoSubscriberInfo subscriberInfo = new SoSubscriberInfo();
72 obj.setSubscriberInfo(subscriberInfo);
73 assertEquals(subscriberInfo, obj.getSubscriberInfo());
77 void testSoMRequestDetailsMethods() {
78 SoRequestDetails details = new SoRequestDetails();
79 assertNotNull(details);
80 assertNotEquals(0, details.hashCode());
82 SoCloudConfiguration cloudConfiguration = new SoCloudConfiguration();
83 details.setCloudConfiguration(cloudConfiguration);
84 assertEquals(cloudConfiguration, details.getCloudConfiguration());
85 assertNotEquals(0, details.hashCode());
87 SoModelInfo modelInfo = new SoModelInfo();
88 details.setModelInfo(modelInfo);
89 assertEquals(modelInfo, details.getModelInfo());
90 assertNotEquals(0, details.hashCode());
92 List<SoRelatedInstanceListElement> relatedInstanceList = new ArrayList<>();
93 details.setRelatedInstanceList(relatedInstanceList);
94 assertEquals(relatedInstanceList, details.getRelatedInstanceList());
95 assertNotEquals(0, details.hashCode());
97 SoRequestInfo requestInfo = new SoRequestInfo();
98 details.setRequestInfo(requestInfo);
99 assertEquals(requestInfo, details.getRequestInfo());
100 assertNotEquals(0, details.hashCode());
102 SoRequestParameters requestParameters = new SoRequestParameters();
103 details.setRequestParameters(requestParameters);
104 assertEquals(requestParameters, details.getRequestParameters());
105 assertNotEquals(0, details.hashCode());
107 SoSubscriberInfo subscriberInfo = new SoSubscriberInfo();
108 details.setSubscriberInfo(subscriberInfo);
109 assertEquals(subscriberInfo, details.getSubscriberInfo());
110 assertNotEquals(0, details.hashCode());
112 assertEquals("SoRequestDetails(modelInfo=org.onap.policy.so", details.toString().substring(0, 45));
114 SoRequestDetails copiedDetails = new SoRequestDetails(details);
116 assertEquals(details, (Object) details);
117 assertEquals(details, copiedDetails);
118 assertNotNull(details);
119 assertNotEquals(details, (Object) "Hello");
121 checkField(cloudConfiguration, SoRequestDetails::setCloudConfiguration);
122 checkField(modelInfo, SoRequestDetails::setModelInfo);
123 checkField(requestInfo, SoRequestDetails::setRequestInfo);
124 checkField(requestParameters, SoRequestDetails::setRequestParameters);
125 checkField(subscriberInfo, SoRequestDetails::setSubscriberInfo);
126 checkField(relatedInstanceList, SoRequestDetails::setRelatedInstanceList);
129 private <T> void checkField(T value, BiConsumer<SoRequestDetails, T> setter) {
130 SoRequestDetails details1 = new SoRequestDetails();
131 SoRequestDetails details2 = new SoRequestDetails(details1);
133 setter.accept(details2, null);
135 setter.accept(details1, value);
136 assertNotEquals(details1, details2);
138 setter.accept(details2, value);
139 assertEquals(details1, details2);
141 setter.accept(details1, null);
142 assertNotEquals(details1, details2);