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.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertNotEquals;
26 import static org.junit.Assert.assertNotNull;
28 import java.util.HashMap;
30 import java.util.function.BiConsumer;
31 import org.junit.Test;
33 public class RequestTest {
35 private static final String WIZARD = "Wizard";
36 private static final String GO_TO_OZ = "Go to Oz";
39 public void testRequest() {
40 Request request = new Request();
41 assertNotNull(request);
42 assertNotEquals(0, request.hashCode());
44 CommonHeader commonHeader = new CommonHeader();
46 request.setCommonHeader(commonHeader);
47 assertEquals(commonHeader, request.getCommonHeader());
49 request.setAction(GO_TO_OZ);
50 assertEquals(GO_TO_OZ, request.getAction());
52 request.setObjectId(WIZARD);
53 assertEquals(WIZARD, request.getObjectId());
55 request.setTargetId("Oz");
56 assertEquals("Oz", request.getTargetId());
58 Map<String, Object> payload = new HashMap<>();
59 payload.put("North", "Good Witch");
60 payload.put("West", "Bad Witch");
62 request.setPayload(payload);
63 assertEquals(payload, request.getPayload());
65 assertNotEquals(0, request.hashCode());
67 assertEquals("Request [CommonHeader=CommonHeader [TimeStamp=", request.toString().substring(0, 46));
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());
76 assertEquals(request, (Object) request);
77 assertEquals(request, copiedRequest);
78 assertNotEquals(request, null);
79 assertNotEquals(request, (Object) "Hello");
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);
88 private <T> void checkField(T value, BiConsumer<Request, T> setter) {
89 Request request1 = new Request();
90 Request request2 = new Request();
92 setter.accept(request2, null);
94 setter.accept(request1, value);
95 assertNotEquals(request1, request2);
97 setter.accept(request2, value);
98 assertEquals(request1, request2);
100 setter.accept(request1, null);
101 assertNotEquals(request1, request2);