Fix Sonar Issues on policy-models-tosca
[policy/models.git] / models-tosca / src / test / java / org / onap / policy / models / tosca / simple / concepts / JpaToscaTriggerTest.java
index 97c1b6f..597ce0c 100644 (file)
@@ -1,7 +1,7 @@
 /*-
  * ============LICENSE_START=======================================================
- *  Copyright (C) 2019 Nordix Foundation.
- *  Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ *  Copyright (C) 2019-2021 Nordix Foundation.
+ *  Modifications Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -24,15 +24,15 @@ package org.onap.policy.models.tosca.simple.concepts;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 import java.time.Duration;
-import java.util.Date;
+import java.time.Instant;
 import org.junit.Test;
 import org.onap.policy.models.base.PfConceptKey;
 import org.onap.policy.models.base.PfReferenceKey;
-import org.onap.policy.models.base.PfValidationResult;
 
 /**
  * DAO test for ToscaTrigger.
@@ -41,7 +41,7 @@ import org.onap.policy.models.base.PfValidationResult;
  */
 public class JpaToscaTriggerTest {
 
-    private static final String KEY_IS_NULL = "key is marked @NonNull but is null";
+    private static final String KEY_IS_NULL = "key is marked .*on.*ull but is null";
     private static final String EVENT_TYPE = "EventType";
     private static final String ACTION = "Action";
     private static final String A_METHOD = "A Method";
@@ -55,34 +55,36 @@ public class JpaToscaTriggerTest {
         assertNotNull(new JpaToscaTrigger(new PfReferenceKey(), EVENT_TYPE, ACTION));
         assertNotNull(new JpaToscaTrigger(new JpaToscaTrigger()));
 
-        assertThatThrownBy(() -> new JpaToscaTrigger((PfReferenceKey) null)).hasMessage(KEY_IS_NULL);
+        assertThatThrownBy(() -> new JpaToscaTrigger((PfReferenceKey) null)).hasMessageMatching(KEY_IS_NULL);
 
-        assertThatThrownBy(() -> new JpaToscaTrigger(null, null, null)).hasMessage(KEY_IS_NULL);
+        assertThatThrownBy(() -> new JpaToscaTrigger(null, null, null)).hasMessageMatching(KEY_IS_NULL);
 
-        assertThatThrownBy(() -> new JpaToscaTrigger(null, EVENT_TYPE, null)).hasMessage(KEY_IS_NULL);
+        assertThatThrownBy(() -> new JpaToscaTrigger(null, EVENT_TYPE, null)).hasMessageMatching(KEY_IS_NULL);
 
-        assertThatThrownBy(() -> new JpaToscaTrigger(null, EVENT_TYPE, ACTION)).hasMessage(KEY_IS_NULL);
+        assertThatThrownBy(() -> new JpaToscaTrigger(null, EVENT_TYPE, ACTION)).hasMessageMatching(KEY_IS_NULL);
 
-        assertThatThrownBy(() -> new JpaToscaTrigger(null, null, ACTION)).hasMessage(KEY_IS_NULL);
+        assertThatThrownBy(() -> new JpaToscaTrigger(null, null, ACTION)).hasMessageMatching(KEY_IS_NULL);
 
         assertThatThrownBy(() -> new JpaToscaTrigger(new PfReferenceKey(), null, null))
-                        .hasMessage("eventType is marked @NonNull but is null");
+                .hasMessageMatching("eventType is marked .*on.*ull but is null");
 
         assertThatThrownBy(() -> new JpaToscaTrigger(new PfReferenceKey(), EVENT_TYPE, null))
-                        .hasMessage("action is marked @NonNull but is null");
+                .hasMessageMatching("action is marked .*on.*ull but is null");
 
         assertThatThrownBy(() -> new JpaToscaTrigger(new PfReferenceKey(), null, ACTION))
-                        .hasMessage("eventType is marked @NonNull but is null");
+                .hasMessageMatching("eventType is marked .*on.*ull but is null");
 
-        assertThatThrownBy(() -> new JpaToscaTrigger((JpaToscaTrigger) null))
-                        .hasMessage("copyConcept is marked @NonNull but is null");
+        assertThatThrownBy(() -> new JpaToscaTrigger((JpaToscaTrigger) null)).isInstanceOf(NullPointerException.class);
+    }
 
+    @Test
+    public void testTriggerConstraints() {
         PfConceptKey tparentKey = new PfConceptKey("tParentKey", VERSION_001);
         PfReferenceKey tkey = new PfReferenceKey(tparentKey, "trigger0");
         JpaToscaTrigger tdt = new JpaToscaTrigger(tkey, EVENT_TYPE, ACTION);
 
         JpaToscaTimeInterval schedule =
-                new JpaToscaTimeInterval(new PfReferenceKey(tkey, "sched"), new Date(), new Date());
+                new JpaToscaTimeInterval(new PfReferenceKey(tkey, "sched"), Instant.now(), Instant.now());
         tdt.setSchedule(schedule);
 
         JpaToscaEventFilter targetFilter =
@@ -105,79 +107,88 @@ public class JpaToscaTriggerTest {
         assertEquals(A_METHOD, tdt.getMethod());
 
         JpaToscaTrigger tdtClone0 = new JpaToscaTrigger(tdt);
-        assertEquals(tdt, tdtClone0);
-        assertEquals(0, tdt.compareTo(tdtClone0));
+        checkEqualsToscaTriggers(tdt, tdtClone0);
 
-        JpaToscaTrigger tdtClone1 = new JpaToscaTrigger();
-        tdt.copyTo(tdtClone1);
-        assertEquals(tdt, tdtClone1);
-        assertEquals(0, tdt.compareTo(tdtClone1));
+        JpaToscaTrigger tdtClone1 = new JpaToscaTrigger(tdt);
+        checkEqualsToscaTriggers(tdt, tdtClone1);
 
         assertEquals(-1, tdt.compareTo(null));
         assertEquals(0, tdt.compareTo(tdt));
-        assertFalse(tdt.compareTo(tdt.getKey()) == 0);
+        assertNotEquals(0, tdt.compareTo(tdt.getKey()));
 
         PfReferenceKey otherDtKey = new PfReferenceKey("otherDt", VERSION_001, "OtherTrigger");
         JpaToscaTrigger otherDt = new JpaToscaTrigger(otherDtKey);
 
-        assertFalse(tdt.compareTo(otherDt) == 0);
+        assertNotEquals(0, tdt.compareTo(otherDt));
         otherDt.setKey(tkey);
-        assertFalse(tdt.compareTo(otherDt) == 0);
+        assertNotEquals(0, tdt.compareTo(otherDt));
         otherDt.setDescription(A_DESCRIPTION);
-        assertFalse(tdt.compareTo(otherDt) == 0);
+        assertNotEquals(0, tdt.compareTo(otherDt));
         otherDt.setEventType(EVENT_TYPE);
-        assertFalse(tdt.compareTo(otherDt) == 0);
+        assertNotEquals(0, tdt.compareTo(otherDt));
         otherDt.setSchedule(schedule);
-        assertFalse(tdt.compareTo(otherDt) == 0);
+        assertNotEquals(0, tdt.compareTo(otherDt));
         otherDt.setTargetFilter(targetFilter);
-        assertFalse(tdt.compareTo(otherDt) == 0);
+        assertNotEquals(0, tdt.compareTo(otherDt));
         otherDt.setCondition(lsc);
-        assertFalse(tdt.compareTo(otherDt) == 0);
+        assertNotEquals(0, tdt.compareTo(otherDt));
         otherDt.setConstraint(lsc);
-        assertFalse(tdt.compareTo(otherDt) == 0);
+        assertNotEquals(0, tdt.compareTo(otherDt));
         otherDt.setPeriod(Duration.ZERO);
-        assertFalse(tdt.compareTo(otherDt) == 0);
+        assertNotEquals(0, tdt.compareTo(otherDt));
         otherDt.setMethod(A_METHOD);
-        assertFalse(tdt.compareTo(otherDt) == 0);
+        assertNotEquals(0, tdt.compareTo(otherDt));
         otherDt.setAction(ACTION);
         assertEquals(0, tdt.compareTo(otherDt));
 
         otherDt.setEvaluations(100);
-        assertFalse(tdt.compareTo(otherDt) == 0);
+        assertNotEquals(0, tdt.compareTo(otherDt));
         otherDt.setEvaluations(0);
         assertEquals(0, tdt.compareTo(otherDt));
 
-        assertThatThrownBy(() -> tdt.copyTo(null)).hasMessage("target is marked @NonNull but is null");
-
         assertEquals(4, tdt.getKeys().size());
         assertEquals(1, new JpaToscaTrigger().getKeys().size());
+    }
+
+    @Test
+    public void testCloneToscaTrigger() {
+        PfConceptKey tparentKey = new PfConceptKey("tParentKey", VERSION_001);
+        PfReferenceKey tkey = new PfReferenceKey(tparentKey, "trigger0");
+        JpaToscaTrigger tdt = new JpaToscaTrigger(tkey, EVENT_TYPE, ACTION);
+
+        JpaToscaTrigger tdtClone0 = new JpaToscaTrigger(tdt);
 
         new JpaToscaTrigger().clean();
         tdt.clean();
         assertEquals(tdtClone0, tdt);
 
-        assertFalse(new JpaToscaTrigger().validate(new PfValidationResult()).isValid());
-        assertTrue(tdt.validate(new PfValidationResult()).isValid());
+        assertFalse(new JpaToscaTrigger().validate("").isValid());
+        assertTrue(tdt.validate("").isValid());
 
         tdt.setDescription(null);
-        assertTrue(tdt.validate(new PfValidationResult()).isValid());
+        assertTrue(tdt.validate("").isValid());
         tdt.setDescription("");
-        assertFalse(tdt.validate(new PfValidationResult()).isValid());
+        assertFalse(tdt.validate("").isValid());
         tdt.setDescription(A_DESCRIPTION);
-        assertTrue(tdt.validate(new PfValidationResult()).isValid());
+        assertTrue(tdt.validate("").isValid());
 
         tdt.setEvaluations(-1);
-        assertFalse(tdt.validate(new PfValidationResult()).isValid());
+        assertFalse(tdt.validate("").isValid());
         tdt.setEvaluations(100);
-        assertTrue(tdt.validate(new PfValidationResult()).isValid());
+        assertTrue(tdt.validate("").isValid());
 
         tdt.setMethod(null);
-        assertTrue(tdt.validate(new PfValidationResult()).isValid());
+        assertTrue(tdt.validate("").isValid());
         tdt.setMethod("");
-        assertFalse(tdt.validate(new PfValidationResult()).isValid());
+        assertFalse(tdt.validate("").isValid());
         tdt.setMethod(A_METHOD);
-        assertTrue(tdt.validate(new PfValidationResult()).isValid());
+        assertTrue(tdt.validate("").isValid());
+
+        assertThatThrownBy(() -> tdt.validate(null)).hasMessageMatching("fieldName is marked .*on.*ull but is null");
+    }
 
-        assertThatThrownBy(() -> tdt.validate(null)).hasMessage("resultIn is marked @NonNull but is null");
+    private void checkEqualsToscaTriggers(JpaToscaTrigger tdt1, JpaToscaTrigger tdt2) {
+        assertEquals(tdt1, tdt2);
+        assertEquals(0, tdt1.compareTo(tdt2));
     }
 }