Fix Sonar Issues in models-pdp
[policy/models.git] / models-pdp / src / test / java / org / onap / policy / models / pdp / persistence / concepts / JpaPdpSubGroupTest.java
index cb27151..566de0d 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ============LICENSE_START=======================================================
- *  Copyright (C) 2019 Nordix Foundation.
+ *  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");
@@ -21,6 +21,7 @@
 
 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;
@@ -36,7 +37,7 @@ import org.junit.Test;
 import org.onap.policy.models.base.PfConceptKey;
 import org.onap.policy.models.base.PfReferenceKey;
 import org.onap.policy.models.base.PfSearchableKey;
-import org.onap.policy.models.base.PfValidationResult;
+import org.onap.policy.models.base.Validated;
 import org.onap.policy.models.pdp.concepts.PdpSubGroup;
 import org.onap.policy.models.pdp.testconcepts.DummyJpaPdpSubgroupChild;
 
@@ -51,7 +52,7 @@ public class JpaPdpSubGroupTest {
     private static final String PDP_A = "PDP-A";
 
     @Test
-    public void testJpaPdpSubGroup() {
+    public void testJpaPdpSubGroupErrors() {
         assertThatThrownBy(() -> {
             new JpaPdpSubGroup((JpaPdpSubGroup) null);
         }).hasMessageMatching("copyConcept is marked .*ull but is null");
@@ -113,7 +114,10 @@ public class JpaPdpSubGroupTest {
         }).hasMessageMatching(NULL_KEY_ERROR);
 
         assertNotNull(new JpaPdpSubGroup((new PfReferenceKey())));
+    }
 
+    @Test
+    public void testJpaPdpSubGroup() {
         PdpSubGroup testPdpSubgroup = new PdpSubGroup();
         testPdpSubgroup.setPdpType(PDP_A);
         JpaPdpSubGroup testJpaPdpSubGroup = new JpaPdpSubGroup();
@@ -138,82 +142,94 @@ public class JpaPdpSubGroupTest {
 
         assertThatThrownBy(() -> {
             testJpaPdpSubGroup.validate(null);
-        }).hasMessageMatching("resultIn is marked .*ull but is null");
+        }).hasMessageMatching("fieldName is marked .*ull but is null");
 
-        assertFalse(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
-        assertTrue(testJpaPdpSubGroup.validate(new PfValidationResult()).toString()
-                .contains("INVALID:parent of key is a null key"));
+        assertFalse(testJpaPdpSubGroup.validate("").isValid());
+        assertThat(testJpaPdpSubGroup.validate("").getResult())
+                .contains("parent of key").contains(Validated.IS_A_NULL_KEY);
 
         testJpaPdpSubGroup.getKey().setParentConceptKey(new PfConceptKey("Parent:1.0.0"));
-        assertFalse(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
-        assertFalse(testJpaPdpSubGroup.validate(new PfValidationResult()).toString()
-                .contains("INVALID:parent of key is a null key"));
-        assertTrue(testJpaPdpSubGroup.validate(new PfValidationResult()).toString()
-                .contains("INVALID:a PDP subgroup must support at least one policy type"));
+        assertFalse(testJpaPdpSubGroup.validate("").isValid());
+        assertThat(testJpaPdpSubGroup.validate("").getResult())
+                .doesNotContain("parent of key")
+                .contains("supportedPolicyTypes").contains("is empty");
 
         testJpaPdpSubGroup.setSupportedPolicyTypes(new ArrayList<>());
         testJpaPdpSubGroup.getSupportedPolicyTypes().add(new PfSearchableKey("APolicyType:1.0.0"));
-        assertTrue(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
-        assertFalse(testJpaPdpSubGroup.validate(new PfValidationResult()).toString()
-                .contains("INVALID:a PDP subgroup must support at least one policy type"));
+        assertTrue(testJpaPdpSubGroup.validate("").isValid());
+    }
+
+    @Test
+    public void testJpaPdpSubGroupSavedKey() {
+        JpaPdpSubGroup testJpaPdpSubGroup = setUpJpaPdpSubGroup();
 
         PfReferenceKey savedKey = testJpaPdpSubGroup.getKey();
         testJpaPdpSubGroup.setKey(PfReferenceKey.getNullKey());
-        assertFalse(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertFalse(testJpaPdpSubGroup.validate("").isValid());
         testJpaPdpSubGroup.setKey(savedKey);
-        assertTrue(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertTrue(testJpaPdpSubGroup.validate("").isValid());
 
         testJpaPdpSubGroup.setProperties(new LinkedHashMap<>());
         testJpaPdpSubGroup.getProperties().put(null, null);
-        assertFalse(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertFalse(testJpaPdpSubGroup.validate("").isValid());
         testJpaPdpSubGroup.getProperties().remove(null);
-        assertTrue(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertTrue(testJpaPdpSubGroup.validate("").isValid());
 
         testJpaPdpSubGroup.setProperties(new LinkedHashMap<>());
         testJpaPdpSubGroup.getProperties().put("NullKey", null);
-        assertFalse(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertFalse(testJpaPdpSubGroup.validate("").isValid());
         testJpaPdpSubGroup.getProperties().remove("NullKey");
-        assertTrue(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertTrue(testJpaPdpSubGroup.validate("").isValid());
 
         testJpaPdpSubGroup.setDesiredInstanceCount(-1);
-        assertFalse(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertFalse(testJpaPdpSubGroup.validate("").isValid());
         testJpaPdpSubGroup.setDesiredInstanceCount(0);
-        assertTrue(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertTrue(testJpaPdpSubGroup.validate("").isValid());
         testJpaPdpSubGroup.setProperties(null);
 
         testJpaPdpSubGroup.setCurrentInstanceCount(-1);
-        assertFalse(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertFalse(testJpaPdpSubGroup.validate("").isValid());
         testJpaPdpSubGroup.setCurrentInstanceCount(0);
-        assertTrue(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertTrue(testJpaPdpSubGroup.validate("").isValid());
         testJpaPdpSubGroup.setProperties(null);
-        assertTrue(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertTrue(testJpaPdpSubGroup.validate("").isValid());
+    }
+
+    @Test
+    public void testJpaPdpSubGroupPolicyTypes() {
+        JpaPdpSubGroup testJpaPdpSubGroup = setUpJpaPdpSubGroup();
 
         List<PfSearchableKey> supportedPolicyTypes = testJpaPdpSubGroup.getSupportedPolicyTypes();
         assertNotNull(supportedPolicyTypes);
         testJpaPdpSubGroup.setSupportedPolicyTypes(null);
-        assertFalse(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertFalse(testJpaPdpSubGroup.validate("").isValid());
         testJpaPdpSubGroup.setSupportedPolicyTypes(new ArrayList<>());
-        assertFalse(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertFalse(testJpaPdpSubGroup.validate("").isValid());
         testJpaPdpSubGroup.setSupportedPolicyTypes(supportedPolicyTypes);
-        assertTrue(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertTrue(testJpaPdpSubGroup.validate("").isValid());
 
         List<PfConceptKey> supportedPolicies = testJpaPdpSubGroup.getPolicies();
         assertNotNull(supportedPolicies);
         testJpaPdpSubGroup.setPolicies(null);
-        assertFalse(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertFalse(testJpaPdpSubGroup.validate("").isValid());
         testJpaPdpSubGroup.setPolicies(new ArrayList<>());
-        assertTrue(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertTrue(testJpaPdpSubGroup.validate("").isValid());
         testJpaPdpSubGroup.setPolicies(supportedPolicies);
-        assertTrue(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertTrue(testJpaPdpSubGroup.validate("").isValid());
 
         List<JpaPdp> pdpInstances = testJpaPdpSubGroup.getPdpInstances();
         assertNotNull(pdpInstances);
         testJpaPdpSubGroup.setPdpInstances(null);
-        assertFalse(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertFalse(testJpaPdpSubGroup.validate("").isValid());
         testJpaPdpSubGroup.setPdpInstances(new ArrayList<>());
-        assertTrue(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertTrue(testJpaPdpSubGroup.validate("").isValid());
         testJpaPdpSubGroup.setPdpInstances(pdpInstances);
-        assertTrue(testJpaPdpSubGroup.validate(new PfValidationResult()).isOk());
+        assertTrue(testJpaPdpSubGroup.validate("").isValid());
+    }
+
+    @Test
+    public void testJpaPdpSubGroupKeys() {
+        JpaPdpSubGroup testJpaPdpSubGroup = setUpJpaPdpSubGroup();
 
         JpaPdpSubGroup otherJpaPdpSubGroup = new JpaPdpSubGroup(testJpaPdpSubGroup);
         assertEquals(0, testJpaPdpSubGroup.compareTo(otherJpaPdpSubGroup));
@@ -280,4 +296,21 @@ public class JpaPdpSubGroupTest {
 
         assertEquals(testJpaPdpSubGroup, new JpaPdpSubGroup(testJpaPdpSubGroup));
     }
+
+    private JpaPdpSubGroup setUpJpaPdpSubGroup() {
+        PdpSubGroup testPdpSubgroup = new PdpSubGroup();
+        testPdpSubgroup.setPdpType(PDP_A);
+        JpaPdpSubGroup testJpaPdpSubGroup = new JpaPdpSubGroup();
+        testJpaPdpSubGroup.setKey(PfReferenceKey.getNullKey());
+        testJpaPdpSubGroup.fromAuthorative(testPdpSubgroup);
+        testJpaPdpSubGroup.getKey().setParentConceptKey(new PfConceptKey("Parent:1.0.0"));
+        testJpaPdpSubGroup.setProperties(new LinkedHashMap<>());
+        testJpaPdpSubGroup.setDesiredInstanceCount(0);
+        testJpaPdpSubGroup.setCurrentInstanceCount(0);
+        testJpaPdpSubGroup.setProperties(null);
+        testJpaPdpSubGroup.setSupportedPolicyTypes(new ArrayList<>());
+        testJpaPdpSubGroup.getSupportedPolicyTypes().add(new PfSearchableKey("APolicyType:1.0.0"));
+        testJpaPdpSubGroup.clean();
+        return testJpaPdpSubGroup;
+    }
 }