Fix Reference Key columns persistence issue in db
[policy/models.git] / models-base / src / test / java / org / onap / policy / models / base / PfReferenceTimestampKeyTest.java
index b6eae67..12b9e35 100644 (file)
@@ -28,6 +28,7 @@ import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
+import java.sql.Timestamp;
 import java.time.Instant;
 import org.junit.Test;
 
@@ -42,64 +43,68 @@ public class PfReferenceTimestampKeyTest {
 
     @Test
     public void testPfReferenceTimestampKeyConstruct() {
-        assertThat(new PfReferenceTimestampKey().getLocalName()).isEqualTo(PfKey.NULL_KEY_NAME);
-        assertEquals(PfKey.NULL_KEY_NAME, new PfReferenceTimestampKey(new PfConceptKey()).getParentKeyName());
+        assertThat(new PfReferenceTimestampKey().getReferenceKey().getLocalName()).isEqualTo(PfKey.NULL_KEY_NAME);
+        assertEquals(PfKey.NULL_KEY_NAME, new PfReferenceTimestampKey(new PfConceptKey()).getReferenceKey()
+            .getParentKeyName());
         assertNotNull(new PfReferenceTimestampKey(new PfReferenceTimestampKey()).getTimeStamp());
 
-        assertEquals(LOCAL_NAME, new PfReferenceTimestampKey(new PfReferenceKey(), LOCAL_NAME,
-            Instant.ofEpochSecond(timeStamp)).getLocalName());
-        assertEquals(Instant.ofEpochSecond(timeStamp), new PfReferenceTimestampKey(new PfConceptKey(),
-            PARENT_LOCAL_NAME, LOCAL_NAME, Instant.ofEpochSecond(timeStamp)).getTimeStamp());
+        assertEquals(LOCAL_NAME,
+                new PfReferenceTimestampKey(new PfReferenceKey(), LOCAL_NAME, Instant.ofEpochSecond(timeStamp))
+                        .getReferenceKey().getLocalName());
+        assertEquals(Timestamp.from(Instant.ofEpochSecond(timeStamp)), new PfReferenceTimestampKey(new PfConceptKey(),
+                PARENT_LOCAL_NAME, LOCAL_NAME, Instant.ofEpochSecond(timeStamp)).getTimeStamp());
 
-        assertThat(new PfReferenceTimestampKey("ParentKeyName", VERSION001, PARENT_LOCAL_NAME,
-            LOCAL_NAME, Instant.ofEpochSecond(timeStamp))).isInstanceOf(PfReferenceTimestampKey.class);
+        assertThat(new PfReferenceTimestampKey("ParentKeyName", VERSION001, PARENT_LOCAL_NAME, LOCAL_NAME,
+                Instant.ofEpochSecond(timeStamp))).isInstanceOf(PfReferenceTimestampKey.class);
 
-        assertThat(new PfReferenceTimestampKey("ParentKeyName", VERSION001, LOCAL_NAME,
-            Instant.ofEpochSecond(timeStamp)).getParentLocalName()).isEqualTo(PfKey.NULL_KEY_NAME);
+        assertThat(
+                new PfReferenceTimestampKey("ParentKeyName", VERSION001, LOCAL_NAME, Instant.ofEpochSecond(timeStamp))
+                        .getReferenceKey().getParentLocalName()).isEqualTo(PfKey.NULL_KEY_NAME);
 
         assertEquals(PfReferenceTimestampKey.getNullKey().getKey(), PfReferenceTimestampKey.getNullKey());
         assertEquals("NULL:0.0.0:NULL:NULL:" + Instant.EPOCH.getEpochSecond(),
-            PfReferenceTimestampKey.getNullKey().getId());
+                PfReferenceTimestampKey.getNullKey().getId());
 
         assertThatThrownBy(() -> new PfReferenceTimestampKey(new PfConceptKey(), null, null))
-            .hasMessage("parameter \"localName\" is null");
+                .hasMessage("parameter \"localName\" is null");
 
-        String id = "NULL:0.0.0:NULL:NULL:" + timeStamp;
-        assertThat(new PfReferenceTimestampKey(id).getTimeStamp().getEpochSecond()).isEqualTo(timeStamp);
+        PfReferenceTimestampKey testNullKey = new PfReferenceTimestampKey();
+        assertTrue(testNullKey.isNullKey());
 
+        String id = "NULL:0.0.0:NULL:NULL:" + timeStamp;
+        assertThat(new PfReferenceTimestampKey(id).getTimeStamp().getTime()).isEqualTo(timeStamp);
     }
 
     @Test
     public void testPfReferenceTimestampKey() {
         PfReferenceTimestampKey testReferenceKey = new PfReferenceTimestampKey();
-        testReferenceKey.setParentConceptKey(new PfConceptKey("PN", VERSION001));
-        assertEquals("PN:0.0.1", testReferenceKey.getParentConceptKey().getId());
+        testReferenceKey.setReferenceKey(new PfReferenceKey(new PfConceptKey("PN", VERSION001)));
+        assertEquals("PN:0.0.1", testReferenceKey.getReferenceKey().getParentConceptKey().getId());
 
         assertEquals(1, testReferenceKey.getKeys().size());
         assertFalse(testReferenceKey.isNullKey());
 
-        testReferenceKey.setParentReferenceKey(new PfReferenceKey("PN", VERSION001,
-            "LN"));
-        assertEquals("PN:0.0.1:NULL:LN", testReferenceKey.getParentReferenceKey().getId());
+        testReferenceKey.setReferenceKey(new PfReferenceKey("PN", VERSION001, "LN"));
+        assertEquals("PN:0.0.1:NULL:LN", testReferenceKey.getReferenceKey().getId());
 
-        testReferenceKey.setParentKeyName("PKN");
-        assertEquals("PKN", testReferenceKey.getParentKeyName());
+        testReferenceKey.getReferenceKey().setParentKeyName("PKN");
+        assertEquals("PKN", testReferenceKey.getReferenceKey().getParentKeyName());
 
-        testReferenceKey.setParentKeyVersion(VERSION001);
-        assertEquals(VERSION001, testReferenceKey.getParentKeyVersion());
+        testReferenceKey.getReferenceKey().setParentKeyVersion(VERSION001);
+        assertEquals(VERSION001, testReferenceKey.getReferenceKey().getParentKeyVersion());
 
-        testReferenceKey.setParentLocalName(PARENT_LOCAL_NAME);
-        assertEquals(PARENT_LOCAL_NAME, testReferenceKey.getParentLocalName());
+        testReferenceKey.getReferenceKey().setParentLocalName(PARENT_LOCAL_NAME);
+        assertEquals(PARENT_LOCAL_NAME, testReferenceKey.getReferenceKey().getParentLocalName());
 
-        testReferenceKey.setLocalName("LN");
-        assertEquals("LN", testReferenceKey.getLocalName());
+        testReferenceKey.getReferenceKey().setLocalName("LN");
+        assertEquals("LN", testReferenceKey.getReferenceKey().getLocalName());
 
-        testReferenceKey.setTimeStamp(DEFAULT_TIMESTAMP);
-        assertEquals(DEFAULT_TIMESTAMP, testReferenceKey.getTimeStamp());
+        testReferenceKey.setTimeStamp(Timestamp.from(DEFAULT_TIMESTAMP));
+        assertEquals(Timestamp.from(DEFAULT_TIMESTAMP), testReferenceKey.getTimeStamp());
 
 
         assertThatThrownBy(() -> testReferenceKey.isCompatible(null))
-            .hasMessageMatching("^otherKey is marked .*on.*ull but is null$");
+                .hasMessageMatching("^otherKey is marked .*on.*ull but is null$");
 
         assertFalse(testReferenceKey.isCompatible(PfConceptKey.getNullKey()));
         assertFalse(testReferenceKey.isCompatible(PfReferenceKey.getNullKey()));
@@ -111,27 +116,28 @@ public class PfReferenceTimestampKeyTest {
 
         PfReferenceTimestampKey clonedReferenceKey = new PfReferenceTimestampKey(testReferenceKey);
 
-        assertEquals("PfReferenceTimestampKey(super=PfReferenceKey(parentKeyName=PKN, parentKeyVersion=0.0.1, "
-                + "parentLocalName=ParentLocalName, localName=LN), timeStamp=" + Instant.EPOCH + ")",
-            clonedReferenceKey.toString());
+        assertEquals("PfReferenceTimestampKey(timeStamp=" + Timestamp.from(Instant.EPOCH) + ","
+                + " referenceKey=PfReferenceKey(parentKeyName=PKN, parentKeyVersion=0.0.1, "
+                + "parentLocalName=ParentLocalName, localName=LN))", clonedReferenceKey.toString());
 
         assertNotEquals(0, testReferenceKey.hashCode());
 
         assertEquals(testReferenceKey, clonedReferenceKey);
-        assertNotEquals(testReferenceKey, new PfReferenceTimestampKey("PKN", VERSION001,
-            "PLN", "LN", Instant.ofEpochSecond(timeStamp)));
-        testReferenceKey.setTimeStamp(Instant.ofEpochSecond(timeStamp));
-        assertEquals(testReferenceKey, new PfReferenceTimestampKey("PKN", VERSION001,
-            PARENT_LOCAL_NAME, "LN", Instant.ofEpochSecond(timeStamp)));
-
-        assertNotEquals(0, testReferenceKey.compareTo(new PfConceptKey()));
-        assertNotEquals(0, testReferenceKey.compareTo(new PfReferenceTimestampKey("PKN",
-            VERSION002, "PLN", "LN", Instant.ofEpochSecond(timeStamp))));
-        assertEquals(0, testReferenceKey.compareTo(new PfReferenceTimestampKey("PKN",
-            VERSION001, PARENT_LOCAL_NAME, "LN", Instant.ofEpochSecond(timeStamp))));
+        assertNotEquals(testReferenceKey, new PfReferenceTimestampKey("PKN", VERSION001, "PLN",
+            "LN", Instant.ofEpochSecond(timeStamp)));
+        testReferenceKey.setTimeStamp(Timestamp.from(Instant.ofEpochSecond(timeStamp)));
+        assertEquals(testReferenceKey, new PfReferenceTimestampKey("PKN", VERSION001, PARENT_LOCAL_NAME, "LN",
+                Instant.ofEpochSecond(timeStamp)));
+
+        assertNotEquals(0, testReferenceKey.compareTo(new PfReferenceTimestampKey()));
+        assertNotEquals(0, testReferenceKey.compareTo(new PfReferenceTimestampKey("PKN", VERSION002,
+            "PLN", "LN", Instant.ofEpochSecond(timeStamp))));
+
+        assertEquals(0, testReferenceKey.compareTo(new PfReferenceTimestampKey("PKN", VERSION001, PARENT_LOCAL_NAME,
+                "LN", Instant.ofEpochSecond(timeStamp))));
 
         assertThatThrownBy(() -> new PfReferenceTimestampKey((PfReferenceTimestampKey) null))
-            .isInstanceOf(NullPointerException.class);
+                .isInstanceOf(NullPointerException.class);
 
         assertEquals(testReferenceKey, new PfReferenceTimestampKey(testReferenceKey));
 
@@ -139,14 +145,14 @@ public class PfReferenceTimestampKeyTest {
 
     @Test
     public void testNewerKey() {
-        PfReferenceTimestampKey key1 = new PfReferenceTimestampKey("ParentKeyName", VERSION001,
-            PARENT_LOCAL_NAME, LOCAL_NAME, Instant.ofEpochSecond(timeStamp));
+        PfReferenceTimestampKey key1 = new PfReferenceTimestampKey("ParentKeyName", VERSION001, PARENT_LOCAL_NAME,
+                LOCAL_NAME, Instant.ofEpochSecond(timeStamp));
         PfReferenceTimestampKey key2 = new PfReferenceTimestampKey(key1);
         assertFalse(key2.isNewerThan(key1));
         assertThatThrownBy(() -> key1.isNewerThan((PfKey) null)).isInstanceOf(NullPointerException.class)
-            .hasMessageMatching("^otherKey is marked .*on.*ull but is null$");
+                .hasMessageMatching("^otherKey is marked .*on.*ull but is null$");
 
-        key2.setTimeStamp(Instant.ofEpochSecond(timeStamp).plusSeconds(80));
+        key2.setTimeStamp(Timestamp.from(Instant.ofEpochSecond(timeStamp).plusSeconds(80)));
         assertTrue(key2.isNewerThan(key1));
     }