Merge "Alter PDP_UPDATE message to store lists of delpoyed/undeployed policies"
[policy/models.git] / models-interactions / model-impl / appc / src / test / java / org / onap / policy / appc / RequestTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * appc
4  * ================================================================================
5  * Copyright (C) 2017-2021 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.appc;
23
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertNotEquals;
26 import static org.junit.Assert.assertNotNull;
27
28 import java.util.HashMap;
29 import java.util.Map;
30 import java.util.function.BiConsumer;
31 import org.junit.Test;
32
33 public class RequestTest {
34
35     private static final String WIZARD = "Wizard";
36     private static final String GO_TO_OZ = "Go to Oz";
37
38     @Test
39     public void testRequest() {
40         Request request = new Request();
41         assertNotNull(request);
42         assertNotEquals(0, request.hashCode());
43
44         CommonHeader commonHeader = new CommonHeader();
45
46         request.setCommonHeader(commonHeader);
47         assertEquals(commonHeader, request.getCommonHeader());
48
49         request.setAction(GO_TO_OZ);
50         assertEquals(GO_TO_OZ, request.getAction());
51
52         request.setObjectId(WIZARD);
53         assertEquals(WIZARD, request.getObjectId());
54
55         request.setTargetId("Oz");
56         assertEquals("Oz", request.getTargetId());
57
58         Map<String, Object> payload = new HashMap<>();
59         payload.put("North", "Good Witch");
60         payload.put("West", "Bad Witch");
61
62         request.setPayload(payload);
63         assertEquals(payload, request.getPayload());
64
65         assertNotEquals(0, request.hashCode());
66
67         assertEquals("Request [CommonHeader=CommonHeader [TimeStamp=", request.toString().substring(0, 46));
68
69         Request copiedRequest = new Request();
70         copiedRequest.setCommonHeader(request.getCommonHeader());
71         copiedRequest.setAction(request.getAction());
72         copiedRequest.setObjectId(request.getObjectId());
73         copiedRequest.setPayload(request.getPayload());
74         copiedRequest.setTargetId(request.getTargetId());
75
76         assertEquals(request, (Object) request);
77         assertEquals(request, copiedRequest);
78         assertNotEquals(request, null);
79         assertNotEquals(request, (Object) "Hello");
80
81         checkField(commonHeader, Request::setCommonHeader);
82         checkField(GO_TO_OZ, Request::setAction);
83         checkField(WIZARD, Request::setObjectId);
84         checkField("Oz", Request::setTargetId);
85         checkField(payload, Request::setPayload);
86     }
87
88     private <T> void checkField(T value, BiConsumer<Request, T> setter) {
89         Request request1 = new Request();
90         Request request2 = new Request();
91
92         setter.accept(request2, null);
93
94         setter.accept(request1, value);
95         assertNotEquals(request1, request2);
96
97         setter.accept(request2, value);
98         assertEquals(request1, request2);
99
100         setter.accept(request1, null);
101         assertNotEquals(request1, request2);
102     }
103 }