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