/*-
* ============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.
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;
*/
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);
- testJpaPdpGroup.setKey(new PfConceptKey());
+ JpaPdpGroup testJpaPdpGroup = setUpSmallJpaPdpGroup();
- 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<JpaPdpSubGroup> 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));
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());
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;
}
}