Fix Sonar Issues in models-pdp
[policy/models.git] / models-pdp / src / test / java / org / onap / policy / models / pdp / persistence / concepts / JpaPdpTest.java
index 5ffba10..b5b29d3 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.
 
 package org.onap.policy.models.pdp.persistence.concepts;
 
+import static org.assertj.core.api.Assertions.assertThat;
 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 org.junit.Test;
 import org.onap.policy.models.base.PfConceptKey;
 import org.onap.policy.models.base.PfReferenceKey;
-import org.onap.policy.models.base.PfValidationResult;
+import org.onap.policy.models.base.Validated;
 import org.onap.policy.models.pdp.concepts.Pdp;
 import org.onap.policy.models.pdp.enums.PdpHealthStatus;
 import org.onap.policy.models.pdp.enums.PdpState;
@@ -43,49 +45,52 @@ import org.onap.policy.models.pdp.testconcepts.DummyJpaPdpChild;
  */
 public class JpaPdpTest {
 
-    private static final String NULL_KEY_ERROR = "key is marked @NonNull but is null";
+    private static final String NULL_KEY_ERROR = "key is marked .*ull but is null";
     private static final String PDP1 = "ThePDP";
 
     @Test
     public void testJpaPdp() {
         assertThatThrownBy(() -> {
             new JpaPdp((JpaPdp) null);
-        }).hasMessage("copyConcept is marked @NonNull but is null");
+        }).hasMessageMatching("copyConcept is marked .*ull but is null");
 
         assertThatThrownBy(() -> {
             new JpaPdp((PfReferenceKey) null);
-        }).hasMessage(NULL_KEY_ERROR);
+        }).hasMessageMatching(NULL_KEY_ERROR);
 
         assertThatThrownBy(() -> {
             new JpaPdp(null, null, null);
-        }).hasMessage(NULL_KEY_ERROR);
+        }).hasMessageMatching(NULL_KEY_ERROR);
 
         assertThatThrownBy(() -> {
             new JpaPdp(new PfReferenceKey(), null, null);
-        }).hasMessage("pdpState is marked @NonNull but is null");
+        }).hasMessageMatching("pdpState is marked .*ull but is null");
 
         assertThatThrownBy(() -> {
             new JpaPdp(new PfReferenceKey(), PdpState.ACTIVE, null);
-        }).hasMessage("healthy is marked @NonNull but is null");
+        }).hasMessageMatching("healthy is marked .*ull but is null");
 
         assertThatThrownBy(() -> {
             new JpaPdp(null, PdpState.ACTIVE, null);
-        }).hasMessage(NULL_KEY_ERROR);
+        }).hasMessageMatching(NULL_KEY_ERROR);
 
         assertThatThrownBy(() -> {
             new JpaPdp(null, PdpState.ACTIVE, PdpHealthStatus.UNKNOWN);
-        }).hasMessage(NULL_KEY_ERROR);
+        }).hasMessageMatching(NULL_KEY_ERROR);
 
         assertThatThrownBy(() -> {
             new JpaPdp(null, null, PdpHealthStatus.UNKNOWN);
-        }).hasMessage(NULL_KEY_ERROR);
+        }).hasMessageMatching(NULL_KEY_ERROR);
 
         assertThatThrownBy(() -> {
             new JpaPdp((Pdp) null);
-        }).hasMessage("authorativeConcept is marked @NonNull but is null");
+        }).hasMessageMatching("authorativeConcept is marked .*ull but is null");
 
         assertNotNull(new JpaPdp((new PfReferenceKey())));
+    }
 
+    @Test
+    public void testJpaPdpInstace() {
         Pdp testPdp = new Pdp();
         testPdp.setInstanceId(PDP1);
         JpaPdp testJpaPdp = new JpaPdp();
@@ -97,11 +102,9 @@ public class JpaPdpTest {
 
         assertThatThrownBy(() -> {
             testJpaPdp.fromAuthorative(null);
-        }).hasMessage("pdp is marked @NonNull but is null");
+        }).hasMessageMatching("pdp is marked .*ull but is null");
 
-        assertThatThrownBy(() -> {
-            testJpaPdp.copyTo(null);
-        }).hasMessage("target is marked @NonNull but is null");
+        assertThatThrownBy(() -> new JpaPdp((JpaPdp) null)).isInstanceOf(NullPointerException.class);
 
         assertEquals(PDP1, testJpaPdp.getKey().getLocalName());
         assertEquals(PDP1, new JpaPdp(testPdp).getKey().getLocalName());
@@ -113,57 +116,73 @@ public class JpaPdpTest {
         testJpaPdp.setMessage("   A Message   ");
         testJpaPdp.clean();
         assertEquals("A Message", testJpaPdp.getMessage());
+    }
+
+    @Test
+    public void testJpaPdpValidation() {
+        Pdp testPdp = new Pdp();
+        testPdp.setInstanceId(PDP1);
+        JpaPdp testJpaPdp = new JpaPdp();
+        testJpaPdp.setKey(PfReferenceKey.getNullKey());
+        testJpaPdp.fromAuthorative(testPdp);
 
         assertThatThrownBy(() -> {
             testJpaPdp.validate(null);
-        }).hasMessage("resultIn is marked @NonNull but is null");
+        }).hasMessageMatching("fieldName is marked .*ull but is null");
 
-        assertFalse(testJpaPdp.validate(new PfValidationResult()).isOk());
-        assertTrue(testJpaPdp.validate(new PfValidationResult()).toString()
-                .contains("INVALID:parent of key is a null key"));
+        assertFalse(testJpaPdp.validate("").isValid());
+        assertThat(testJpaPdp.validate("").getResult())
+                .contains("parent").contains(Validated.IS_A_NULL_KEY);
 
         testJpaPdp.getKey().setParentConceptKey(new PfConceptKey("Parent:1.0.0"));
-        assertFalse(testJpaPdp.validate(new PfValidationResult()).isOk());
-        assertFalse(testJpaPdp.validate(new PfValidationResult()).toString()
-                .contains("INVALID:parent of key is a null key"));
-        assertTrue(testJpaPdp.validate(new PfValidationResult()).toString()
-                .contains("INVALID:local name of parent of key is null"));
+        assertFalse(testJpaPdp.validate("").isValid());
+        assertThat(testJpaPdp.validate("").getResult())
+            .doesNotContain("\"parent\"")
+            .contains("local name").contains(Validated.IS_NULL);
 
         testJpaPdp.getKey().setParentLocalName("ParentLocal");
-        assertFalse(testJpaPdp.validate(new PfValidationResult()).isOk());
-        assertFalse(testJpaPdp.validate(new PfValidationResult()).toString()
-                .contains("INVALID:local name of parent of key is null"));
-        assertTrue(testJpaPdp.validate(new PfValidationResult()).toString()
-                .contains("INVALID:PDP state may not be null"));
+        assertFalse(testJpaPdp.validate("").isValid());
+        assertThat(testJpaPdp.validate("").getResult())
+            .doesNotContain("local name")
+            .contains("pdpState").contains(Validated.IS_NULL);
 
         testJpaPdp.setPdpState(PdpState.ACTIVE);
-        assertFalse(testJpaPdp.validate(new PfValidationResult()).isOk());
-        assertFalse(testJpaPdp.validate(new PfValidationResult()).toString()
-                .contains("INVALID:PDP state may not be null"));
-        assertTrue(testJpaPdp.validate(new PfValidationResult()).toString()
-                .contains("INVALID:PDP health status may not be null"));
+        assertFalse(testJpaPdp.validate("").isValid());
+        assertThat(testJpaPdp.validate("").getResult())
+            .doesNotContain("pdpState")
+            .contains("healthy").contains(Validated.IS_NULL);
 
         testJpaPdp.setHealthy(PdpHealthStatus.HEALTHY);
-        assertTrue(testJpaPdp.validate(new PfValidationResult()).isOk());
+        assertTrue(testJpaPdp.validate("").isValid());
+    }
+
+    @Test
+    public void testJpaPdpValidationSwapKey() {
+        JpaPdp testJpaPdp = setUpJpaPdp();
 
         PfReferenceKey savedKey = testJpaPdp.getKey();
         testJpaPdp.setKey(PfReferenceKey.getNullKey());
-        assertFalse(testJpaPdp.validate(new PfValidationResult()).isOk());
+        assertFalse(testJpaPdp.validate("").isValid());
         testJpaPdp.setKey(savedKey);
-        assertTrue(testJpaPdp.validate(new PfValidationResult()).isOk());
+        assertTrue(testJpaPdp.validate("").isValid());
 
         testJpaPdp.setMessage(null);
-        assertTrue(testJpaPdp.validate(new PfValidationResult()).isOk());
+        assertTrue(testJpaPdp.validate("").isValid());
         testJpaPdp.setMessage("");
-        assertFalse(testJpaPdp.validate(new PfValidationResult()).isOk());
+        assertFalse(testJpaPdp.validate("").isValid());
         testJpaPdp.setMessage("Valid Message");
-        assertTrue(testJpaPdp.validate(new PfValidationResult()).isOk());
+        assertTrue(testJpaPdp.validate("").isValid());
+    }
+
+    @Test
+    public void testJpaPdpCompare() {
+        JpaPdp testJpaPdp = setUpJpaPdp();
 
         JpaPdp otherJpaPdp = new JpaPdp(testJpaPdp);
         assertEquals(0, testJpaPdp.compareTo(otherJpaPdp));
         assertEquals(-1, testJpaPdp.compareTo(null));
         assertEquals(0, testJpaPdp.compareTo(testJpaPdp));
-        assertFalse(testJpaPdp.compareTo(new DummyJpaPdpChild()) == 0);
+        assertNotEquals(0, testJpaPdp.compareTo(new DummyJpaPdpChild()));
 
         testJpaPdp.getKey().setParentLocalName("ParentLocal1");
         assertEquals(1, testJpaPdp.compareTo(otherJpaPdp));
@@ -184,5 +203,21 @@ public class JpaPdpTest {
         assertEquals(-13, testJpaPdp.compareTo(otherJpaPdp));
         testJpaPdp.setMessage("Valid Message");
         assertEquals(0, testJpaPdp.compareTo(otherJpaPdp));
+
+        assertEquals(testJpaPdp, new JpaPdp(testJpaPdp));
+    }
+
+    private JpaPdp setUpJpaPdp() {
+        Pdp testPdp = new Pdp();
+        testPdp.setInstanceId(PDP1);
+        JpaPdp testJpaPdp = new JpaPdp();
+        testJpaPdp.setKey(PfReferenceKey.getNullKey());
+        testJpaPdp.fromAuthorative(testPdp);
+        testJpaPdp.getKey().setParentConceptKey(new PfConceptKey("Parent:1.0.0"));
+        testJpaPdp.getKey().setParentLocalName("ParentLocal");
+        testJpaPdp.setPdpState(PdpState.ACTIVE);
+        testJpaPdp.setHealthy(PdpHealthStatus.HEALTHY);
+        testJpaPdp.setMessage("Valid Message");
+        return testJpaPdp;
     }
 }