2 * ============LICENSE_START=======================================================
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
12 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
22 package org.onap.policy.appc;
24 import static org.assertj.core.api.Assertions.assertThat;
25 import static org.junit.Assert.assertEquals;
26 import static org.junit.Assert.assertNotEquals;
27 import static org.junit.Assert.assertNotNull;
29 import java.util.HashMap;
31 import java.util.function.BiConsumer;
32 import org.junit.Test;
34 public class RequestTest {
36 private static final String WIZARD = "Wizard";
37 private static final String GO_TO_OZ = "Go to Oz";
40 public void testRequest() {
41 Request request = new Request();
42 assertNotNull(request);
43 assertNotEquals(0, request.hashCode());
45 CommonHeader commonHeader = new CommonHeader();
47 request.setCommonHeader(commonHeader);
48 assertEquals(commonHeader, request.getCommonHeader());
50 request.setAction(GO_TO_OZ);
51 assertEquals(GO_TO_OZ, request.getAction());
53 request.setObjectId(WIZARD);
54 assertEquals(WIZARD, request.getObjectId());
56 request.setTargetId("Oz");
57 assertEquals("Oz", request.getTargetId());
59 Map<String, Object> payload = new HashMap<>();
60 payload.put("North", "Good Witch");
61 payload.put("West", "Bad Witch");
63 request.setPayload(payload);
64 assertEquals(payload, request.getPayload());
66 assertNotEquals(0, request.hashCode());
68 assertThat(request.toString()).startsWith("Request(commonHeader=CommonHeader(timeStamp=");
70 Request copiedRequest = new Request();
71 copiedRequest.setCommonHeader(request.getCommonHeader());
72 copiedRequest.setAction(request.getAction());
73 copiedRequest.setObjectId(request.getObjectId());
74 copiedRequest.setPayload(request.getPayload());
75 copiedRequest.setTargetId(request.getTargetId());
77 assertEquals(request, (Object) request);
78 assertEquals(request, copiedRequest);
79 assertNotEquals(request, null);
80 assertNotEquals(request, (Object) "Hello");
82 checkField(commonHeader, Request::setCommonHeader);
83 checkField(GO_TO_OZ, Request::setAction);
84 checkField(WIZARD, Request::setObjectId);
85 checkField("Oz", Request::setTargetId);
86 checkField(payload, Request::setPayload);
89 private <T> void checkField(T value, BiConsumer<Request, T> setter) {
90 Request request1 = new Request();
91 Request request2 = new Request();
93 setter.accept(request2, null);
95 setter.accept(request1, value);
96 assertNotEquals(request1, request2);
98 setter.accept(request2, value);
99 assertEquals(request1, request2);
101 setter.accept(request1, null);
102 assertNotEquals(request1, request2);