2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved.
6 * Modifications Copyright (C) 2019 Nordix Foundation.
7 * Modifications Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.
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.sdnr;
25 import static org.junit.Assert.assertEquals;
26 import static org.junit.Assert.assertNotEquals;
27 import static org.junit.Assert.assertNotNull;
29 import java.time.Instant;
30 import java.util.HashMap;
32 import java.util.UUID;
33 import java.util.function.BiConsumer;
34 import org.junit.Test;
36 public class PciCommonHeaderTest {
38 private static final String KANSAS = "Kansas";
39 private static final String CAN_I_GO_HOME = "Can I go home?";
42 public void testPciCommonHeader() {
43 PciCommonHeader commonHeader = new PciCommonHeader();
44 assertNotNull(commonHeader);
45 assertNotNull(new PciCommonHeader(commonHeader));
46 assertNotEquals(0, commonHeader.hashCode());
48 commonHeader.setApiVer(KANSAS);
49 assertEquals(KANSAS, commonHeader.getApiVer());
51 Map<String, String> flagMap = new HashMap<>();
52 commonHeader.setFlags(flagMap);
53 assertEquals(flagMap, commonHeader.getFlags());
55 Map<String, String> requestMap = new HashMap<>();
56 commonHeader.setRequestTrack(requestMap);
57 assertEquals(requestMap, commonHeader.getRequestTrack());
59 UUID requestId = UUID.randomUUID();
60 commonHeader.setRequestId(requestId);
61 assertEquals(requestId, commonHeader.getRequestId());
63 commonHeader.setSubRequestId(CAN_I_GO_HOME);
64 assertEquals(CAN_I_GO_HOME, commonHeader.getSubRequestId());
66 Instant timestamp = Instant.now();
67 commonHeader.setTimeStamp(timestamp);
68 assertEquals(timestamp, commonHeader.getTimeStamp());
70 assertNotEquals(0, commonHeader.hashCode());
72 assertEquals("PciCommonHeader(timeStamp=", commonHeader.toString().substring(0, 26));
74 PciCommonHeader copiedPciCommonHeader = new PciCommonHeader();
75 copiedPciCommonHeader.setApiVer(commonHeader.getApiVer());
76 copiedPciCommonHeader.setFlags(commonHeader.getFlags());
77 copiedPciCommonHeader.setRequestId(commonHeader.getRequestId());
78 copiedPciCommonHeader.setSubRequestId(commonHeader.getSubRequestId());
79 copiedPciCommonHeader.setTimeStamp(commonHeader.getTimeStamp());
81 assertEquals(commonHeader, (Object) commonHeader);
82 assertEquals(commonHeader, copiedPciCommonHeader);
83 assertNotEquals(commonHeader, null);
84 assertNotEquals(commonHeader, (Object) "Hello");
86 PciCommonHeader clonedPciCommonHeader = new PciCommonHeader(commonHeader);
87 clonedPciCommonHeader.setApiVer(commonHeader.getApiVer());
88 clonedPciCommonHeader.setTimeStamp(commonHeader.getTimeStamp());
90 assertEquals(commonHeader, clonedPciCommonHeader);
92 checkField(KANSAS, PciCommonHeader::setApiVer);
93 checkField(flagMap, PciCommonHeader::setFlags);
94 checkField(requestMap, PciCommonHeader::setRequestTrack);
95 checkField(requestId, PciCommonHeader::setRequestId);
96 checkField(CAN_I_GO_HOME, PciCommonHeader::setSubRequestId);
97 checkField(timestamp, PciCommonHeader::setTimeStamp);
100 private <T> void checkField(T value, BiConsumer<PciCommonHeader, T> setter) {
101 PciCommonHeader details1 = new PciCommonHeader();
102 PciCommonHeader details2 = new PciCommonHeader(details1);
104 setter.accept(details2, null);
106 setter.accept(details1, value);
107 assertNotEquals(details1, details2);
109 setter.accept(details2, value);
110 assertEquals(details1, details2);
112 setter.accept(details1, null);
113 assertNotEquals(details1, details2);