Refactor timestamp property in policy models to use Instant
[policy/models.git] / models-base / src / test / java / org / onap / policy / models / base / PfTimestampKeyTest.java
index 180e8b7..e6a9988 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ============LICENSE_START=======================================================
- *  Copyright (C) 2019-2020 Nordix Foundation.
+ *  Copyright (C) 2019-2021 Nordix Foundation.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,7 +25,8 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import java.util.Date;
+import java.sql.Timestamp;
+import java.time.Instant;
 import org.junit.Test;
 
 public class PfTimestampKeyTest {
@@ -33,7 +34,6 @@ public class PfTimestampKeyTest {
     private static final String CONCEPT_IS_NULL = "^copyConcept is marked .*on.*ull but is null$";
     private static final String NAME_IS_NULL = "^name is marked .*on.*ull but is null$";
     private static final String VERSION_IS_NULL = "^version is marked .*on.*ull but is null$";
-    private static final String TIMESTAMP_IS_NULL = "^timeStamp is marked .*on.*ull but is null$";
     private static final long timeStamp = 1574832537641L;
 
     @Test
@@ -41,15 +41,17 @@ public class PfTimestampKeyTest {
         PfTimestampKey someKey0 = new PfTimestampKey();
         assertEquals(PfTimestampKey.getNullKey(), someKey0);
         assertTrue(someKey0.isNullKey());
-        assertEquals("PfTimestampKey(name=NULL, version=0.0.0, timestamp=0)", someKey0.toString());
+        assertEquals("PfTimestampKey(name=NULL, version=0.0.0, timeStamp=" + Timestamp.from(Instant.EPOCH) + ")",
+                someKey0.toString());
 
-        PfTimestampKey someKey1 = new PfTimestampKey("my-name", VERSION001, new Date(timeStamp));
+        PfTimestampKey someKey1 = new PfTimestampKey("my-name", VERSION001, Instant.ofEpochSecond(timeStamp));
         PfTimestampKey someKey2 = new PfTimestampKey(someKey1);
         PfTimestampKey someKey3 = new PfTimestampKey(someKey1.getId());
         assertEquals(someKey1, someKey2);
         assertEquals(someKey1, someKey3);
         assertFalse(someKey1.isNullVersion());
-        assertEquals("PfTimestampKey(name=my-name, version=0.0.1, timestamp=1574832537641)", someKey1.toString());
+        assertEquals("PfTimestampKey(name=my-name, version=0.0.1, timeStamp="
+                + Timestamp.from(Instant.ofEpochSecond(timeStamp)) + ")", someKey1.toString());
 
         assertEquals("my-name", someKey1.getName());
         assertEquals(VERSION001, someKey1.getVersion());
@@ -58,25 +60,26 @@ public class PfTimestampKeyTest {
         assertEquals(1, someKey1.getKeys().size());
 
         assertThatThrownBy(() -> new PfTimestampKey((PfTimestampKey) null)).isInstanceOf(NullPointerException.class)
-            .hasMessageMatching(CONCEPT_IS_NULL);
+                .hasMessageMatching(CONCEPT_IS_NULL);
         assertThatThrownBy(() -> new PfTimestampKey(null, null, null)).isInstanceOf(NullPointerException.class)
-            .hasMessageMatching(NAME_IS_NULL);
+                .hasMessageMatching(NAME_IS_NULL);
         assertThatThrownBy(() -> new PfTimestampKey("my-name", null, null)).isInstanceOf(NullPointerException.class)
-            .hasMessageMatching(VERSION_IS_NULL);
+                .hasMessageMatching(VERSION_IS_NULL);
         assertThatThrownBy(() -> new PfTimestampKey("my-name", VERSION001, null))
-            .isInstanceOf(NullPointerException.class).hasMessageMatching(TIMESTAMP_IS_NULL);
+                .isInstanceOf(NullPointerException.class)
+                .hasMessageMatching("^instant is marked .*on.*ull but is null$");
 
         assertThatThrownBy(() -> someKey0.setName(null)).isInstanceOf(NullPointerException.class)
-            .hasMessageMatching(NAME_IS_NULL);
+                .hasMessageMatching(NAME_IS_NULL);
         assertThatThrownBy(() -> someKey0.setVersion(null)).isInstanceOf(NullPointerException.class)
-            .hasMessageMatching(VERSION_IS_NULL);
+                .hasMessageMatching(VERSION_IS_NULL);
         assertThatThrownBy(() -> someKey0.setTimeStamp(null)).isInstanceOf(NullPointerException.class)
-            .hasMessageMatching(TIMESTAMP_IS_NULL);
+                .hasMessageMatching("^timeStamp is marked .*on.*ull but is null$");
 
         assertFalse(someKey1.isNewerThan(someKey2));
         assertThatThrownBy(() -> someKey1.isNewerThan((PfKey) null)).isInstanceOf(NullPointerException.class)
-            .hasMessageMatching("^otherKey is marked .*on.*ull but is null$");
-        someKey2.setTimeStamp(new Date(timeStamp + 1));
+                .hasMessageMatching("^otherKey is marked .*on.*ull but is null$");
+        someKey2.setTimeStamp(Timestamp.from(Instant.ofEpochSecond(timeStamp).plusMillis(90)));
         assertTrue(someKey2.isNewerThan(someKey1));
         someKey3.setName("my-name3");
         assertTrue(someKey3.isNewerThan(someKey1));
@@ -84,9 +87,9 @@ public class PfTimestampKeyTest {
         assertEquals(-1, someKey1.compareTo(someKey2));
         assertEquals(-1, someKey1.compareTo(someKey3));
         assertThatThrownBy(() -> someKey1.compareTo((PfConcept) null)).isInstanceOf(NullPointerException.class)
-            .hasMessageMatching("^otherObj is marked .*on.*ull but is null$");
+                .hasMessageMatching("^otherObj is marked .*on.*ull but is null$");
 
-        PfTimestampKey someKey4 = new PfTimestampKey("NULL", "0.0.0", new Date(timeStamp));
+        PfTimestampKey someKey4 = new PfTimestampKey("NULL", "0.0.0", Instant.ofEpochSecond(timeStamp));
         assertFalse(someKey4.isNullKey());
         assertFalse(someKey1.isNullKey());
     }