X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=models-pdp%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fmodels%2Fpdp%2Fpersistence%2Fconcepts%2FJpaPdpGroupTest.java;h=060f650fb27659f50230b97ac202295776b4d810;hb=f78237c84420aa8db35ae70d8c9d177307471474;hp=e75743e40f1745c396cd8c92a0737864800d6aee;hpb=dd92e0c9ad7049a713c363d1c52e29237c07df62;p=policy%2Fmodels.git diff --git a/models-pdp/src/test/java/org/onap/policy/models/pdp/persistence/concepts/JpaPdpGroupTest.java b/models-pdp/src/test/java/org/onap/policy/models/pdp/persistence/concepts/JpaPdpGroupTest.java index e75743e40..060f650fb 100644 --- a/models-pdp/src/test/java/org/onap/policy/models/pdp/persistence/concepts/JpaPdpGroupTest.java +++ b/models-pdp/src/test/java/org/onap/policy/models/pdp/persistence/concepts/JpaPdpGroupTest.java @@ -1,6 +1,7 @@ /*- * ============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"); * you may not use this file except in compliance with the License. @@ -31,11 +32,9 @@ import static org.junit.Assert.assertTrue; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; - 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.pdp.concepts.PdpGroup; import org.onap.policy.models.pdp.enums.PdpState; import org.onap.policy.models.pdp.testconcepts.DummyJpaPdpSubgroupChild; @@ -47,138 +46,139 @@ import org.onap.policy.models.pdp.testconcepts.DummyJpaPdpSubgroupChild; */ public class JpaPdpGroupTest { + private static final String NULL_ERROR = " is marked .*ull but is null"; + private static final String NULL_KEY_ERROR = "key" + NULL_ERROR; + private static final String PDP_GROUP0 = "PDPGroup0"; + private static final String VERSION = "1.0.0"; + @Test public void testJpaPdpGroup() { assertThatThrownBy(() -> { new JpaPdpGroup((JpaPdpGroup) null); - }).hasMessage("copyConcept is marked @NonNull but is null"); + }).hasMessageMatching("copyConcept" + NULL_ERROR); assertThatThrownBy(() -> { new JpaPdpGroup((PfConceptKey) null); - }).hasMessage("key is marked @NonNull but is null"); + }).hasMessageMatching(NULL_KEY_ERROR); assertThatThrownBy(() -> { new JpaPdpGroup((PdpGroup) null); - }).hasMessage("authorativeConcept is marked @NonNull but is null"); + }).hasMessageMatching("authorativeConcept" + NULL_ERROR); assertThatThrownBy(() -> { new JpaPdpGroup((JpaPdpGroup) null); - }).hasMessage("copyConcept is marked @NonNull but is null"); + }).hasMessageMatching("copyConcept" + NULL_ERROR); assertThatThrownBy(() -> { new JpaPdpGroup(null, null, null); - }).hasMessage("key is marked @NonNull but is null"); + }).hasMessageMatching(NULL_KEY_ERROR); assertThatThrownBy(() -> { new JpaPdpGroup(new PfConceptKey(), null, null); - }).hasMessage("pdpGroupState is marked @NonNull but is null"); + }).hasMessageMatching("pdpGroupState" + NULL_ERROR); assertThatThrownBy(() -> { new JpaPdpGroup(new PfConceptKey(), PdpState.PASSIVE, null); - }).hasMessage("pdpSubGroups is marked @NonNull but is null"); + }).hasMessageMatching("pdpSubGroups" + NULL_ERROR); assertThatThrownBy(() -> { new JpaPdpGroup(null, PdpState.PASSIVE, null); - }).hasMessage("key is marked @NonNull but is null"); + }).hasMessageMatching(NULL_KEY_ERROR); assertThatThrownBy(() -> { new JpaPdpGroup(null, PdpState.PASSIVE, new ArrayList<>()); - }).hasMessage("key is marked @NonNull but is null"); + }).hasMessageMatching(NULL_KEY_ERROR); assertThatThrownBy(() -> { new JpaPdpGroup(null, null, new ArrayList<>()); - }).hasMessage("key is marked @NonNull but is null"); + }).hasMessageMatching(NULL_KEY_ERROR); assertNotNull(new JpaPdpGroup((new PfConceptKey()))); assertNotNull(new JpaPdpGroup((new JpaPdpGroup()))); + } + @Test + public void testPdpGroupSet() { PdpGroup testPdpGroup = new PdpGroup(); - testPdpGroup.setName("PDPGroup0"); + testPdpGroup.setName(PDP_GROUP0); testPdpGroup.setPdpSubgroups(new ArrayList<>()); - JpaPdpGroup testJpaPdpGroup = new JpaPdpGroup(); - testJpaPdpGroup.setKey(null); - assertThatThrownBy(() -> { - testJpaPdpGroup.fromAuthorative(testPdpGroup); - }).hasMessage("version is marked @NonNull but is null"); + JpaPdpGroup testJpaPdpGroup = setUpSmallJpaPdpGroup(); - testJpaPdpGroup.setKey(new PfConceptKey()); - - assertThatThrownBy(() -> { - testJpaPdpGroup.fromAuthorative(testPdpGroup); - }).hasMessage("version is marked @NonNull but is null"); - - testPdpGroup.setVersion("1.0.0"); - testJpaPdpGroup.fromAuthorative(testPdpGroup); - - assertEquals("PDPGroup0", testJpaPdpGroup.getKey().getName()); - testJpaPdpGroup.setKey(PfConceptKey.getNullKey()); - testJpaPdpGroup.fromAuthorative(testPdpGroup); + assertEquals(PDP_GROUP0, testJpaPdpGroup.getKey().getName()); assertThatThrownBy(() -> { testJpaPdpGroup.fromAuthorative(null); - }).hasMessage("pdpGroup is marked @NonNull but is null"); + }).hasMessageMatching("pdpGroup" + NULL_ERROR); - testJpaPdpGroup.setKey(new PfConceptKey("PDPGroup0", "1.0.0")); + testJpaPdpGroup.setKey(new PfConceptKey(PDP_GROUP0, VERSION)); testJpaPdpGroup.fromAuthorative(testPdpGroup); - assertThatThrownBy(() -> { - testJpaPdpGroup.copyTo(null); - }).hasMessage("target is marked @NonNull but is null"); + assertThatThrownBy(() -> new JpaPdpGroup((JpaPdpGroup) null)).isInstanceOf(NullPointerException.class); - assertEquals("PDPGroup0", testJpaPdpGroup.getKey().getName()); - assertEquals("PDPGroup0", new JpaPdpGroup(testPdpGroup).getKey().getName()); - assertEquals("PDPGroup0", ((PfConceptKey) new JpaPdpGroup(testPdpGroup).getKeys().get(0)).getName()); + assertEquals(PDP_GROUP0, testJpaPdpGroup.getKey().getName()); + assertEquals(PDP_GROUP0, new JpaPdpGroup(testPdpGroup).getKey().getName()); + assertEquals(PDP_GROUP0, ((PfConceptKey) new JpaPdpGroup(testPdpGroup).getKeys().get(0)).getName()); testJpaPdpGroup.clean(); - assertEquals("PDPGroup0", testJpaPdpGroup.getKey().getName()); + assertEquals(PDP_GROUP0, testJpaPdpGroup.getKey().getName()); + } + + @Test + public void testPdpGroupValidation() { + JpaPdpGroup testJpaPdpGroup = setUpSmallJpaPdpGroup(); assertThatThrownBy(() -> { testJpaPdpGroup.validate(null); - }).hasMessage("resultIn is marked @NonNull but is null"); + }).hasMessageMatching("fieldName" + NULL_ERROR); - assertFalse(testJpaPdpGroup.validate(new PfValidationResult()).isOk()); + assertFalse(testJpaPdpGroup.validate("").isValid()); testJpaPdpGroup.setPdpGroupState(PdpState.PASSIVE); - assertTrue(testJpaPdpGroup.validate(new PfValidationResult()).isOk()); + assertTrue(testJpaPdpGroup.validate("").isValid()); testJpaPdpGroup.setKey(PfConceptKey.getNullKey()); - assertFalse(testJpaPdpGroup.validate(new PfValidationResult()).isOk()); - testJpaPdpGroup.setKey(new PfConceptKey("PdpGroup0", "1.0.0")); - assertTrue(testJpaPdpGroup.validate(new PfValidationResult()).isOk()); + assertFalse(testJpaPdpGroup.validate("").isValid()); + testJpaPdpGroup.setKey(new PfConceptKey("PdpGroup0", VERSION)); + assertTrue(testJpaPdpGroup.validate("").isValid()); testJpaPdpGroup.setDescription(" "); - assertFalse(testJpaPdpGroup.validate(new PfValidationResult()).isOk()); + assertFalse(testJpaPdpGroup.validate("").isValid()); testJpaPdpGroup.setDescription(" A Description "); - assertTrue(testJpaPdpGroup.validate(new PfValidationResult()).isOk()); + assertTrue(testJpaPdpGroup.validate("").isValid()); testJpaPdpGroup.setDescription(null); - assertTrue(testJpaPdpGroup.validate(new PfValidationResult()).isOk()); + assertTrue(testJpaPdpGroup.validate("").isValid()); testJpaPdpGroup.setProperties(new LinkedHashMap<>()); testJpaPdpGroup.getProperties().put(null, null); - assertFalse(testJpaPdpGroup.validate(new PfValidationResult()).isOk()); + assertFalse(testJpaPdpGroup.validate("").isValid()); testJpaPdpGroup.getProperties().remove(null); - assertTrue(testJpaPdpGroup.validate(new PfValidationResult()).isOk()); + assertTrue(testJpaPdpGroup.validate("").isValid()); testJpaPdpGroup.setProperties(new LinkedHashMap<>()); testJpaPdpGroup.getProperties().put("NullKey", null); - assertFalse(testJpaPdpGroup.validate(new PfValidationResult()).isOk()); + assertFalse(testJpaPdpGroup.validate("").isValid()); testJpaPdpGroup.getProperties().remove("NullKey"); - assertTrue(testJpaPdpGroup.validate(new PfValidationResult()).isOk()); + assertTrue(testJpaPdpGroup.validate("").isValid()); + } + + @Test + public void testPdpSubgroups() { + JpaPdpGroup testJpaPdpGroup = setUpJpaPdpGroup(); List jpaPdpSubgroups = testJpaPdpGroup.getPdpSubGroups(); assertNotNull(jpaPdpSubgroups); testJpaPdpGroup.setPdpSubGroups(null); - assertFalse(testJpaPdpGroup.validate(new PfValidationResult()).isOk()); + assertFalse(testJpaPdpGroup.validate("").isValid()); testJpaPdpGroup.setPdpSubGroups(new ArrayList<>()); - assertTrue(testJpaPdpGroup.validate(new PfValidationResult()).isOk()); + assertTrue(testJpaPdpGroup.validate("").isValid()); testJpaPdpGroup.setPdpSubGroups(jpaPdpSubgroups); - assertTrue(testJpaPdpGroup.validate(new PfValidationResult()).isOk()); + assertTrue(testJpaPdpGroup.validate("").isValid()); JpaPdpGroup otherJpaPdpGroup = new JpaPdpGroup(testJpaPdpGroup); assertEquals(0, testJpaPdpGroup.compareTo(otherJpaPdpGroup)); assertEquals(-1, testJpaPdpGroup.compareTo(null)); assertEquals(0, testJpaPdpGroup.compareTo(testJpaPdpGroup)); - assertFalse(testJpaPdpGroup.compareTo(new DummyJpaPdpSubgroupChild()) == 0); + assertNotEquals(0, testJpaPdpGroup.compareTo(new DummyJpaPdpSubgroupChild())); testJpaPdpGroup.getKey().setName("OtherName"); assertEquals(-1, testJpaPdpGroup.compareTo(otherJpaPdpGroup)); @@ -218,8 +218,12 @@ public class JpaPdpGroupTest { psg = testJpaPdpGroup.toAuthorative(); assertNull(psg.getProperties()); testJpaPdpGroup.setProperties(new LinkedHashMap<>()); + } + + @Test + public void testPdpGroupsProperties() { + JpaPdpGroup testJpaPdpGroup = setUpJpaPdpGroup(); - testJpaPdpGroup.clean(); testJpaPdpGroup.getProperties().put(" PropKey ", " Prop Value "); testJpaPdpGroup.clean(); assertEquals("PropKey", testJpaPdpGroup.getProperties().keySet().iterator().next()); @@ -228,10 +232,41 @@ public class JpaPdpGroupTest { testJpaPdpGroup.clean(); assertEquals("A Description", testJpaPdpGroup.getDescription()); + JpaPdpSubGroup anotherPdpSubgroup = + new JpaPdpSubGroup(new PfReferenceKey(testJpaPdpGroup.getKey(), "AnotherPdpSubgroup")); + assertEquals(1, testJpaPdpGroup.getKeys().size()); testJpaPdpGroup.getPdpSubGroups().add(anotherPdpSubgroup); assertEquals(2, testJpaPdpGroup.getKeys().size()); testJpaPdpGroup.clean(); assertEquals(2, testJpaPdpGroup.getKeys().size()); + + assertEquals(testJpaPdpGroup, new JpaPdpGroup(testJpaPdpGroup)); + } + + private JpaPdpGroup setUpSmallJpaPdpGroup() { + PdpGroup testPdpGroup = new PdpGroup(); + testPdpGroup.setName(PDP_GROUP0); + testPdpGroup.setPdpSubgroups(new ArrayList<>()); + testPdpGroup.setVersion(VERSION); + + JpaPdpGroup testJpaPdpGroup = new JpaPdpGroup(); + testJpaPdpGroup.setKey(new PfConceptKey(PDP_GROUP0, VERSION)); + testJpaPdpGroup.fromAuthorative(testPdpGroup); + testJpaPdpGroup.clean(); + + return testJpaPdpGroup; + } + + private JpaPdpGroup setUpJpaPdpGroup() { + JpaPdpGroup testJpaPdpGroup = setUpSmallJpaPdpGroup(); + + testJpaPdpGroup.setKey(new PfConceptKey("PdpGroup0", VERSION)); + testJpaPdpGroup.setDescription(null); + testJpaPdpGroup.setPdpGroupState(PdpState.PASSIVE); + testJpaPdpGroup.setProperties(new LinkedHashMap<>()); + testJpaPdpGroup.clean(); + + return testJpaPdpGroup; } }