2 * ============LICENSE_START=======================================================
3 * feature-session-persistence
4 * ================================================================================
5 * Copyright (C) 2017-2018 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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.onap.policy.drools.persistence;
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertFalse;
25 import static org.junit.Assert.assertNotEquals;
26 import static org.junit.Assert.assertTrue;
28 import java.util.Date;
29 import org.junit.Test;
31 public class DroolsSessionEntityTest {
34 public void testHashCode() {
35 DroolsSessionEntity entity = makeEnt("mynameA", 1);
37 DroolsSessionEntity e2 = makeEnt("mynameA", 2);
39 // session id is not part of hash code
40 assertEquals(entity.hashCode(), e2.hashCode());
43 e2 = makeEnt("mynameB", 1);
44 assertNotEquals(entity.hashCode(), e2.hashCode());
47 /** Ensures that hashCode() functions as expected when the getXxx methods are overridden. */
49 public void testHashCode_Subclass() {
50 DroolsSessionEntity entity = makeEnt2("mynameA", 1);
52 DroolsSessionEntity e2 = makeEnt("mynameA", 2);
54 // session id is not part of hash code
55 assertEquals(entity.hashCode(), e2.hashCode());
58 e2 = makeEnt("mynameB", 1);
59 assertNotEquals(entity.hashCode(), e2.hashCode());
63 public void testGetSessionName_testSetSessionName() {
64 DroolsSessionEntity entity = makeEnt("mynameZ", 1);
66 assertEquals("mynameZ", entity.getSessionName());
68 entity.setSessionName("another");
69 assertEquals("another", entity.getSessionName());
72 assertEquals(1, entity.getSessionId());
76 public void testGetSessionId_testSetSessionId() {
77 DroolsSessionEntity entity = makeEnt("mynameA", 1);
79 assertEquals(1, entity.getSessionId());
81 entity.setSessionId(20);
82 assertEquals(20, entity.getSessionId());
85 assertEquals("mynameA", entity.getSessionName());
89 public void testGetCreatedDate_testSetCreatedDate_testGetUpdatedDate_testSetUpdatedDate() {
90 DroolsSessionEntity entity = new DroolsSessionEntity();
92 Date crtdt = new Date(System.currentTimeMillis() - 100);
93 entity.setCreatedDate(crtdt);
95 Date updt = new Date(System.currentTimeMillis() - 200);
96 entity.setUpdatedDate(updt);
98 assertEquals(crtdt, entity.getCreatedDate());
99 assertEquals(updt, entity.getUpdatedDate());
103 public void testEqualsObject() {
104 DroolsSessionEntity entity = makeEnt("mynameA", 1);
107 assertNotEquals(entity, "hello");
110 assertEquals(entity, entity);
112 DroolsSessionEntity e2 = makeEnt("mynameA", 2);
114 // session id is not part of hash code
115 assertEquals(entity, e2);
116 assertEquals(entity, e2);
119 e2 = makeEnt("mynameB", 1);
120 assertNotEquals(entity, e2);
121 assertNotEquals(entity, e2);
124 /** Ensures that equals() functions as expected when the getXxx methods are overridden. */
126 public void testEqualsObject_Subclass() {
127 DroolsSessionEntity entity = makeEnt2("mynameA", 1);
130 assertEquals(entity, entity);
132 DroolsSessionEntity e2 = makeEnt("mynameA", 2);
134 // session id is not part of hash code
135 assertEquals(entity, e2);
136 assertEquals(entity, e2);
139 e2 = makeEnt("mynameB", 1);
140 assertNotEquals(entity, e2);
141 assertNotEquals(entity, e2);
145 public void testToString() {
146 DroolsSessionEntity entity = makeEnt("mynameA", 23);
148 assertEquals("{name=mynameA, id=23}", entity.toString());
152 * Makes a session Entity. The parameters are stored into the Entity object via the setXxx
155 * @param sessnm session name
156 * @param sessid session id
157 * @return a new session Entity
159 private DroolsSessionEntity makeEnt(String sessnm, long sessid) {
161 DroolsSessionEntity entity = new DroolsSessionEntity();
163 entity.setSessionName(sessnm);
164 entity.setSessionId(sessid);
170 * Makes a session Entity that overrides the getXxx methods. The parameters that are provided are
171 * returned by the overridden methods, but they are <i>not</i> stored into the Entity object via
172 * the setXxx methods.
174 * @param sessnm session name
175 * @param sessid session id
176 * @return a new session Entity
178 @SuppressWarnings("serial")
179 private DroolsSessionEntity makeEnt2(String sessnm, long sessid) {
181 return new DroolsSessionEntity() {
184 public String getSessionName() {
189 public long getSessionId() {