3e84a3df2577d40826050ea9dfda01a783d44312
[policy/models.git] / models-interactions / model-impl / appc / src / test / java / org / onap / policy / appc / CommonHeaderTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * appc
4  * ================================================================================
5  * Copyright (C) 2017-2020 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.time.Instant;
29 import java.util.ArrayList;
30 import java.util.List;
31 import java.util.Map;
32 import java.util.UUID;
33 import org.junit.Test;
34
35 public class CommonHeaderTest {
36
37     private static final String KANSAS = "Kansas";
38     private static final String DOROTHY = "Dorothy";
39     private static final String CAN_I_GO_HOME = "Can I go home?";
40
41     @Test
42     public void testCommonHeader() {
43         CommonHeader commonHeader = new CommonHeader();
44         assertNotNull(commonHeader);
45         assertNotNull(new CommonHeader(commonHeader));
46         assertNotEquals(0, commonHeader.hashCode());
47
48         commonHeader.setApiVer(KANSAS);
49         assertEquals(KANSAS, commonHeader.getApiVer());
50
51         List<Map<String, String>> flagSet = new ArrayList<>();
52         commonHeader.setFlags(flagSet);
53         assertEquals(flagSet, commonHeader.getFlags());
54
55         commonHeader.setOriginatorId(DOROTHY);
56         assertEquals(DOROTHY, commonHeader.getOriginatorId());
57
58         UUID requestId = UUID.randomUUID();
59         commonHeader.setRequestId(requestId);
60         assertEquals(requestId, commonHeader.getRequestId());
61
62         List<String> requestTrackSet = new ArrayList<>();
63         commonHeader.setRequestTrack(requestTrackSet);
64         assertEquals(requestTrackSet, commonHeader.getRequestTrack());
65
66         commonHeader.setSubRequestId(CAN_I_GO_HOME);
67         assertEquals(CAN_I_GO_HOME, commonHeader.getSubRequestId());
68
69         Instant timestamp = Instant.now();
70         commonHeader.setTimeStamp(timestamp);
71         assertEquals(timestamp, commonHeader.getTimeStamp());
72
73         assertNotEquals(0, commonHeader.hashCode());
74
75         assertEquals("CommonHeader [TimeStamp=", commonHeader.toString().substring(0, 24));
76
77         CommonHeader copiedCommonHeader = new CommonHeader();
78         copiedCommonHeader.setApiVer(commonHeader.getApiVer());
79         copiedCommonHeader.setFlags(commonHeader.getFlags());
80         copiedCommonHeader.setOriginatorId(commonHeader.getOriginatorId());
81         copiedCommonHeader.setRequestId(commonHeader.getRequestId());
82         copiedCommonHeader.setRequestTrack(commonHeader.getRequestTrack());
83         copiedCommonHeader.setSubRequestId(commonHeader.getSubRequestId());
84         copiedCommonHeader.setTimeStamp(commonHeader.getTimeStamp());
85
86         /*
87          * Disabling sonar to test equals().
88          */
89         assertEquals(commonHeader, commonHeader);           // NOSONAR
90         assertEquals(commonHeader, copiedCommonHeader);
91         assertNotEquals(commonHeader, null);
92         assertNotEquals(commonHeader, "Hello");             // NOSONAR
93
94         CommonHeader clonedCommonHeader = new CommonHeader(commonHeader);
95         clonedCommonHeader.setApiVer(commonHeader.getApiVer());
96         clonedCommonHeader.setTimeStamp(commonHeader.getTimeStamp());
97
98         assertEquals(commonHeader, clonedCommonHeader);
99
100         commonHeader.setApiVer(null);
101         assertNotEquals(commonHeader, copiedCommonHeader);
102         copiedCommonHeader.setApiVer(null);
103         assertEquals(commonHeader, copiedCommonHeader);
104         commonHeader.setApiVer(KANSAS);
105         assertNotEquals(commonHeader, copiedCommonHeader);
106         copiedCommonHeader.setApiVer(KANSAS);
107         assertEquals(commonHeader, copiedCommonHeader);
108
109         commonHeader.setFlags(null);
110         assertNotEquals(commonHeader, copiedCommonHeader);
111         copiedCommonHeader.setFlags(null);
112         assertEquals(commonHeader, copiedCommonHeader);
113         commonHeader.setFlags(flagSet);
114         assertNotEquals(commonHeader, copiedCommonHeader);
115         copiedCommonHeader.setFlags(flagSet);
116         assertEquals(commonHeader, copiedCommonHeader);
117
118         commonHeader.setOriginatorId(null);
119         assertNotEquals(commonHeader, copiedCommonHeader);
120         copiedCommonHeader.setOriginatorId(null);
121         assertEquals(commonHeader, copiedCommonHeader);
122         commonHeader.setOriginatorId(DOROTHY);
123         assertNotEquals(commonHeader, copiedCommonHeader);
124         copiedCommonHeader.setOriginatorId(DOROTHY);
125         assertEquals(commonHeader, copiedCommonHeader);
126
127         commonHeader.setRequestId(null);
128         assertNotEquals(commonHeader, copiedCommonHeader);
129         copiedCommonHeader.setRequestId(null);
130         assertEquals(commonHeader, copiedCommonHeader);
131         commonHeader.setRequestId(requestId);
132         assertNotEquals(commonHeader, copiedCommonHeader);
133         copiedCommonHeader.setRequestId(requestId);
134         assertEquals(commonHeader, copiedCommonHeader);
135
136         commonHeader.setRequestTrack(null);
137         assertNotEquals(commonHeader, copiedCommonHeader);
138         copiedCommonHeader.setRequestTrack(null);
139         assertEquals(commonHeader, copiedCommonHeader);
140         commonHeader.setRequestTrack(requestTrackSet);
141         assertNotEquals(commonHeader, copiedCommonHeader);
142         copiedCommonHeader.setRequestTrack(requestTrackSet);
143         assertEquals(commonHeader, copiedCommonHeader);
144
145         commonHeader.setSubRequestId(null);
146         assertNotEquals(commonHeader, copiedCommonHeader);
147         copiedCommonHeader.setSubRequestId(null);
148         assertEquals(commonHeader, copiedCommonHeader);
149         commonHeader.setSubRequestId(CAN_I_GO_HOME);
150         assertNotEquals(commonHeader, copiedCommonHeader);
151         copiedCommonHeader.setSubRequestId(CAN_I_GO_HOME);
152         assertEquals(commonHeader, copiedCommonHeader);
153
154         commonHeader.setTimeStamp(null);
155         assertNotEquals(commonHeader, copiedCommonHeader);
156         copiedCommonHeader.setTimeStamp(null);
157         assertEquals(commonHeader, copiedCommonHeader);
158         commonHeader.setTimeStamp(timestamp);
159         assertNotEquals(commonHeader, copiedCommonHeader);
160         copiedCommonHeader.setTimeStamp(timestamp);
161         assertEquals(commonHeader, copiedCommonHeader);
162     }
163 }