c76a46ebbadd201ef2e211389c9110faf79d6abd
[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 /*-
23  * ============LICENSE_START=======================================================
24  * appc
25  * ================================================================================
26  * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
27  * Modifications Copyright (C) 2019 Nordix Foundation.
28  * ================================================================================
29  * Licensed under the Apache License, Version 2.0 (the "License");
30  * you may not use this file except in compliance with the License.
31  * You may obtain a copy of the License at
32  * 
33  *      http://www.apache.org/licenses/LICENSE-2.0
34  * 
35  * Unless required by applicable law or agreed to in writing, software
36  * distributed under the License is distributed on an "AS IS" BASIS,
37  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
38  * See the License for the specific language governing permissions and
39  * limitations under the License.
40  * ============LICENSE_END=========================================================
41  */
42
43 package org.onap.policy.appc;
44
45 import static org.junit.Assert.assertEquals;
46 import static org.junit.Assert.assertFalse;
47 import static org.junit.Assert.assertNotEquals;
48 import static org.junit.Assert.assertNotNull;
49 import static org.junit.Assert.assertTrue;
50
51 import java.time.Instant;
52 import java.util.ArrayList;
53 import java.util.List;
54 import java.util.Map;
55 import java.util.UUID;
56
57 import org.junit.Test;
58
59 public class CommonHeaderTest {
60
61     @Test
62     public void testCommonHeader() {
63         CommonHeader commonHeader = new CommonHeader();
64         assertNotNull(commonHeader);
65         assertNotNull(new CommonHeader(commonHeader));
66         assertNotEquals(0, commonHeader.hashCode());
67
68         commonHeader.setApiVer("Kansas");
69         assertEquals("Kansas", commonHeader.getApiVer());
70
71         List<Map<String, String>> flagSet = new ArrayList<>();
72         commonHeader.setFlags(flagSet);
73         assertEquals(flagSet, commonHeader.getFlags());
74
75         commonHeader.setOriginatorId("Dorothy");
76         assertEquals("Dorothy", commonHeader.getOriginatorId());
77
78         UUID requestId = UUID.randomUUID();
79         commonHeader.setRequestId(requestId);
80         assertEquals(requestId, commonHeader.getRequestId());
81
82         List<String> requestTrackSet = new ArrayList<>();
83         commonHeader.setRequestTrack(requestTrackSet);
84         assertEquals(requestTrackSet, commonHeader.getRequestTrack());
85
86         commonHeader.setSubRequestId("Can I go home?");
87         assertEquals("Can I go home?", commonHeader.getSubRequestId());
88
89         Instant timestamp = Instant.now();
90         commonHeader.setTimeStamp(timestamp);
91         assertEquals(timestamp, commonHeader.getTimeStamp());
92
93         assertNotEquals(0, commonHeader.hashCode());
94
95         assertEquals("CommonHeader [TimeStamp=", commonHeader.toString().substring(0, 24));
96
97         CommonHeader copiedCommonHeader = new CommonHeader();
98         copiedCommonHeader.setApiVer(commonHeader.getApiVer());
99         copiedCommonHeader.setFlags(commonHeader.getFlags());
100         copiedCommonHeader.setOriginatorId(commonHeader.getOriginatorId());
101         copiedCommonHeader.setRequestId(commonHeader.getRequestId());
102         copiedCommonHeader.setRequestTrack(commonHeader.getRequestTrack());
103         copiedCommonHeader.setSubRequestId(commonHeader.getSubRequestId());
104         copiedCommonHeader.setTimeStamp(commonHeader.getTimeStamp());
105
106         assertTrue(commonHeader.equals(commonHeader));
107         assertTrue(commonHeader.equals(copiedCommonHeader));
108         assertFalse(commonHeader.equals(null));
109         assertFalse(commonHeader.equals("Hello"));
110
111         CommonHeader clonedCommonHeader = new CommonHeader(commonHeader);
112         clonedCommonHeader.setApiVer(commonHeader.getApiVer());
113         clonedCommonHeader.setTimeStamp(commonHeader.getTimeStamp());
114
115         assertTrue(commonHeader.equals(clonedCommonHeader));
116
117         commonHeader.setApiVer(null);
118         assertFalse(commonHeader.equals(copiedCommonHeader));
119         copiedCommonHeader.setApiVer(null);
120         assertTrue(commonHeader.equals(copiedCommonHeader));
121         commonHeader.setApiVer("Kansas");
122         assertFalse(commonHeader.equals(copiedCommonHeader));
123         copiedCommonHeader.setApiVer("Kansas");
124         assertTrue(commonHeader.equals(copiedCommonHeader));
125
126         commonHeader.setFlags(null);
127         assertFalse(commonHeader.equals(copiedCommonHeader));
128         copiedCommonHeader.setFlags(null);
129         assertTrue(commonHeader.equals(copiedCommonHeader));
130         commonHeader.setFlags(flagSet);
131         assertFalse(commonHeader.equals(copiedCommonHeader));
132         copiedCommonHeader.setFlags(flagSet);
133         assertTrue(commonHeader.equals(copiedCommonHeader));
134
135         commonHeader.setOriginatorId(null);
136         assertFalse(commonHeader.equals(copiedCommonHeader));
137         copiedCommonHeader.setOriginatorId(null);
138         assertTrue(commonHeader.equals(copiedCommonHeader));
139         commonHeader.setOriginatorId("Dorothy");
140         assertFalse(commonHeader.equals(copiedCommonHeader));
141         copiedCommonHeader.setOriginatorId("Dorothy");
142         assertTrue(commonHeader.equals(copiedCommonHeader));
143
144         commonHeader.setRequestId(null);
145         assertFalse(commonHeader.equals(copiedCommonHeader));
146         copiedCommonHeader.setRequestId(null);
147         assertTrue(commonHeader.equals(copiedCommonHeader));
148         commonHeader.setRequestId(requestId);
149         assertFalse(commonHeader.equals(copiedCommonHeader));
150         copiedCommonHeader.setRequestId(requestId);
151         assertTrue(commonHeader.equals(copiedCommonHeader));
152
153         commonHeader.setRequestTrack(null);
154         assertFalse(commonHeader.equals(copiedCommonHeader));
155         copiedCommonHeader.setRequestTrack(null);
156         assertTrue(commonHeader.equals(copiedCommonHeader));
157         commonHeader.setRequestTrack(requestTrackSet);
158         assertFalse(commonHeader.equals(copiedCommonHeader));
159         copiedCommonHeader.setRequestTrack(requestTrackSet);
160         assertTrue(commonHeader.equals(copiedCommonHeader));
161
162         commonHeader.setSubRequestId(null);
163         assertFalse(commonHeader.equals(copiedCommonHeader));
164         copiedCommonHeader.setSubRequestId(null);
165         assertTrue(commonHeader.equals(copiedCommonHeader));
166         commonHeader.setSubRequestId("Can I go home?");
167         assertFalse(commonHeader.equals(copiedCommonHeader));
168         copiedCommonHeader.setSubRequestId("Can I go home?");
169         assertTrue(commonHeader.equals(copiedCommonHeader));
170
171         commonHeader.setTimeStamp(null);
172         assertFalse(commonHeader.equals(copiedCommonHeader));
173         copiedCommonHeader.setTimeStamp(null);
174         assertTrue(commonHeader.equals(copiedCommonHeader));
175         commonHeader.setTimeStamp(timestamp);
176         assertFalse(commonHeader.equals(copiedCommonHeader));
177         copiedCommonHeader.setTimeStamp(timestamp);
178         assertTrue(commonHeader.equals(copiedCommonHeader));
179     }
180 }