Fix Technical Debt, Unit Test for APPCLCM POJOs
[policy/drools-applications.git] / controlloop / common / model-impl / appclcm / src / test / java / org / onap / policy / appclcm / TestLCMCommonHeader.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * appc
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 /*-
22  * ============LICENSE_START=======================================================
23  * appc
24  * ================================================================================
25  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
26  * ================================================================================
27  * Licensed under the Apache License, Version 2.0 (the "License");
28  * you may not use this file except in compliance with the License.
29  * You may obtain a copy of the License at
30  * 
31  *      http://www.apache.org/licenses/LICENSE-2.0
32  * 
33  * Unless required by applicable law or agreed to in writing, software
34  * distributed under the License is distributed on an "AS IS" BASIS,
35  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
36  * See the License for the specific language governing permissions and
37  * limitations under the License.
38  * ============LICENSE_END=========================================================
39  */
40
41 package org.onap.policy.appclcm;
42
43 import static org.junit.Assert.*;
44
45 import java.time.Instant;
46 import java.util.HashMap;
47 import java.util.Map;
48 import java.util.UUID;
49
50 import org.junit.Test;
51
52 public class TestLCMCommonHeader {
53
54         @Test
55         public void testLCMLCMCommonHeader() {
56                 LCMCommonHeader commonHeader = new LCMCommonHeader();
57                 assertNotNull(commonHeader);
58                 assertNotNull(new LCMCommonHeader(commonHeader));
59                 assertNotEquals(0, commonHeader.hashCode());
60                 
61                 commonHeader.setApiVer("Kansas");
62                 assertEquals("Kansas", commonHeader.getApiVer());
63                 
64                 Map<String, String> flagMap = new HashMap<>();
65                 commonHeader.setFlags(flagMap);
66                 assertEquals(flagMap, commonHeader.getFlags());
67                 
68                 commonHeader.setOriginatorId("Dorothy");
69                 assertEquals("Dorothy", commonHeader.getOriginatorId());
70                 
71                 UUID requestId = UUID.randomUUID();
72                 commonHeader.setRequestId(requestId);
73                 assertEquals(requestId, commonHeader.getRequestId());
74                 
75                 commonHeader.setSubRequestId("Can I go home?");
76                 assertEquals("Can I go home?", commonHeader.getSubRequestId());
77                 
78                 Instant timestamp = Instant.now();
79                 commonHeader.setTimeStamp(timestamp);
80                 assertEquals(timestamp, commonHeader.getTimeStamp());
81                 
82                 assertNotEquals(0, commonHeader.hashCode());
83                 
84                 assertEquals("CommonHeader [timeStamp=", commonHeader.toString().substring(0,  24));
85                 
86         LCMCommonHeader copiedLCMCommonHeader = new LCMCommonHeader();
87         copiedLCMCommonHeader.setApiVer(commonHeader.getApiVer());
88         copiedLCMCommonHeader.setFlags(commonHeader.getFlags());
89         copiedLCMCommonHeader.setOriginatorId(commonHeader.getOriginatorId());
90         copiedLCMCommonHeader.setRequestId(commonHeader.getRequestId());
91         copiedLCMCommonHeader.setSubRequestId(commonHeader.getSubRequestId());
92         copiedLCMCommonHeader.setTimeStamp(commonHeader.getTimeStamp());
93                 
94         assertTrue(commonHeader.equals(commonHeader));
95         assertTrue(commonHeader.equals(copiedLCMCommonHeader));
96         assertFalse(commonHeader.equals(null));
97         assertFalse(commonHeader.equals("Hello"));
98         
99         LCMCommonHeader clonedLCMCommonHeader = new LCMCommonHeader(commonHeader);
100         clonedLCMCommonHeader.setApiVer(commonHeader.getApiVer());
101         clonedLCMCommonHeader.setTimeStamp(commonHeader.getTimeStamp());
102
103         assertTrue(commonHeader.equals(clonedLCMCommonHeader));
104
105         commonHeader.setApiVer(null);
106         assertFalse(commonHeader.equals(copiedLCMCommonHeader));
107         copiedLCMCommonHeader.setApiVer(null);
108         assertTrue(commonHeader.equals(copiedLCMCommonHeader));
109         commonHeader.setApiVer("Kansas");
110         assertFalse(commonHeader.equals(copiedLCMCommonHeader));
111         copiedLCMCommonHeader.setApiVer("Kansas");
112         assertTrue(commonHeader.equals(copiedLCMCommonHeader));
113         
114         commonHeader.setFlags(null);
115         assertFalse(commonHeader.equals(copiedLCMCommonHeader));
116         copiedLCMCommonHeader.setFlags(null);
117         assertTrue(commonHeader.equals(copiedLCMCommonHeader));
118         commonHeader.setFlags(flagMap);
119         assertFalse(commonHeader.equals(copiedLCMCommonHeader));
120         copiedLCMCommonHeader.setFlags(flagMap);
121         assertTrue(commonHeader.equals(copiedLCMCommonHeader));
122         
123         commonHeader.setOriginatorId(null);
124         assertFalse(commonHeader.equals(copiedLCMCommonHeader));
125         copiedLCMCommonHeader.setOriginatorId(null);
126         assertTrue(commonHeader.equals(copiedLCMCommonHeader));
127         commonHeader.setOriginatorId("Dorothy");
128         assertFalse(commonHeader.equals(copiedLCMCommonHeader));
129         copiedLCMCommonHeader.setOriginatorId("Dorothy");
130         assertTrue(commonHeader.equals(copiedLCMCommonHeader));
131         
132         commonHeader.setRequestId(null);
133         assertFalse(commonHeader.equals(copiedLCMCommonHeader));
134         copiedLCMCommonHeader.setRequestId(null);
135         assertTrue(commonHeader.equals(copiedLCMCommonHeader));
136         commonHeader.setRequestId(requestId);
137         assertFalse(commonHeader.equals(copiedLCMCommonHeader));
138         copiedLCMCommonHeader.setRequestId(requestId);
139         assertTrue(commonHeader.equals(copiedLCMCommonHeader));
140                 
141         commonHeader.setSubRequestId(null);
142         assertFalse(commonHeader.equals(copiedLCMCommonHeader));
143                 copiedLCMCommonHeader.setSubRequestId(null);
144         assertTrue(commonHeader.equals(copiedLCMCommonHeader));
145         commonHeader.setSubRequestId("Can I go home?");
146         assertFalse(commonHeader.equals(copiedLCMCommonHeader));
147                 copiedLCMCommonHeader.setSubRequestId("Can I go home?");
148         assertTrue(commonHeader.equals(copiedLCMCommonHeader));
149                 
150         commonHeader.setTimeStamp(null);
151         assertFalse(commonHeader.equals(copiedLCMCommonHeader));
152                 copiedLCMCommonHeader.setTimeStamp(null);
153         assertTrue(commonHeader.equals(copiedLCMCommonHeader));
154         commonHeader.setTimeStamp(timestamp);
155         assertFalse(commonHeader.equals(copiedLCMCommonHeader));
156                 copiedLCMCommonHeader.setTimeStamp(timestamp);
157         assertTrue(commonHeader.equals(copiedLCMCommonHeader));
158         }
159 }