summaryrefslogtreecommitdiffstats
path: root/models-base/src/test/java
diff options
context:
space:
mode:
Diffstat (limited to 'models-base/src/test/java')
-rw-r--r--models-base/src/test/java/org/onap/policy/models/base/ExceptionsTest.java2
-rw-r--r--models-base/src/test/java/org/onap/policy/models/base/PfConceptGetterImplTest.java96
-rw-r--r--models-base/src/test/java/org/onap/policy/models/base/PfKeyTest.java8
-rw-r--r--models-base/src/test/java/org/onap/policy/models/base/PfKeyUseTest.java78
-rw-r--r--models-base/src/test/java/org/onap/policy/models/base/PfReferenceKeyTest.java198
-rw-r--r--models-base/src/test/java/org/onap/policy/models/base/ValidationTest.java2
-rw-r--r--models-base/src/test/java/org/onap/policy/models/base/testpojos/DummyPfConcept.java3
-rw-r--r--models-base/src/test/java/org/onap/policy/models/base/testpojos/DummyPfKey.java3
8 files changed, 382 insertions, 8 deletions
diff --git a/models-base/src/test/java/org/onap/policy/models/base/ExceptionsTest.java b/models-base/src/test/java/org/onap/policy/models/base/ExceptionsTest.java
index 92e928e2e..c0898c187 100644
--- a/models-base/src/test/java/org/onap/policy/models/base/ExceptionsTest.java
+++ b/models-base/src/test/java/org/onap/policy/models/base/ExceptionsTest.java
@@ -1,4 +1,4 @@
-/*
+/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
* ================================================================================
diff --git a/models-base/src/test/java/org/onap/policy/models/base/PfConceptGetterImplTest.java b/models-base/src/test/java/org/onap/policy/models/base/PfConceptGetterImplTest.java
new file mode 100644
index 000000000..0a5ccdc5a
--- /dev/null
+++ b/models-base/src/test/java/org/onap/policy/models/base/PfConceptGetterImplTest.java
@@ -0,0 +1,96 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.models.base;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
+
+import java.util.NavigableMap;
+import java.util.TreeMap;
+import java.util.TreeSet;
+
+import org.junit.Test;
+
+/**
+ * Test the AxConceptGetterImpl class.
+ */
+public class PfConceptGetterImplTest {
+
+ @Test
+ public void testAxConceptGetterImpl() {
+ NavigableMap<PfConceptKey, PfConceptKey> keyMap = new TreeMap<>();
+
+ PfConceptGetterImpl<PfConceptKey> getter = new PfConceptGetterImpl<>(keyMap);
+ assertNotNull(getter);
+
+ PfConceptKey keyA = new PfConceptKey("A", "0.0.1");
+ assertNull(getter.get(keyA));
+
+ try {
+ getter.get((String)null);
+ fail("test should throw an exception here");
+ }
+ catch (Exception getException) {
+ assertEquals("conceptKeyName may not be null", getException.getMessage());
+ }
+
+ assertNull(getter.get("W"));
+
+ PfConceptKey keyZ = new PfConceptKey("Z", "0.0.1");
+ keyMap.put(keyZ, keyZ);
+ assertNull(getter.get("W"));
+
+ PfConceptKey keyW001 = new PfConceptKey("W", "0.0.1");
+ keyMap.put(keyW001, keyW001);
+ assertEquals(keyW001, getter.get("W"));
+
+ PfConceptKey keyW002 = new PfConceptKey("W", "0.0.2");
+ keyMap.put(keyW002, keyW002);
+ assertEquals(keyW002, getter.get("W"));
+
+ keyMap.remove(keyZ);
+ assertEquals(keyW002, getter.get("W"));
+
+ try {
+ getter.get((String)null, "0.0.1");
+ fail("test should throw an exception here");
+ }
+ catch (Exception getException) {
+ assertEquals("conceptKeyName may not be null", getException.getMessage());
+ }
+
+ assertEquals(keyW002, getter.get("W", "0.0.2"));
+ assertEquals(keyW002, getter.get("W", (String)null));
+
+ assertEquals(new TreeSet<PfConceptKey>(keyMap.values()), getter.getAll(null));
+ assertEquals(new TreeSet<PfConceptKey>(keyMap.values()), getter.getAll(null, null));
+
+ assertEquals(keyW001, getter.getAll("W", null).iterator().next());
+ assertEquals(keyW002, getter.getAll("W", "0.0.2").iterator().next());
+ assertEquals(0, getter.getAll("A", null).size());
+ assertEquals(0, getter.getAll("Z", null).size());
+
+ keyMap.put(keyZ, keyZ);
+ assertEquals(keyW002, getter.getAll("W", "0.0.2").iterator().next());
+ }
+}
diff --git a/models-base/src/test/java/org/onap/policy/models/base/PfKeyTest.java b/models-base/src/test/java/org/onap/policy/models/base/PfKeyTest.java
index dd28f33ba..1ffc5d262 100644
--- a/models-base/src/test/java/org/onap/policy/models/base/PfKeyTest.java
+++ b/models-base/src/test/java/org/onap/policy/models/base/PfKeyTest.java
@@ -1,4 +1,4 @@
-/*
+/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
* ================================================================================
@@ -37,7 +37,7 @@ import org.onap.policy.models.base.testpojos.DummyPfKey;
public class PfKeyTest {
@Test
- public void testArtifactKey() {
+ public void testConceptKey() {
try {
new PfConceptKey("some bad key id");
fail("This test should throw an exception");
@@ -113,7 +113,7 @@ public class PfKeyTest {
assertNotNull(someKey0.toString());
PfConceptKey someKey7 = new PfConceptKey(someKey1);
- assertEquals(150332875, someKey7.hashCode());
+ assertEquals(244799191, someKey7.hashCode());
assertEquals(0, someKey7.compareTo(someKey1));
assertEquals(-12, someKey7.compareTo(someKey0));
@@ -124,7 +124,7 @@ public class PfKeyTest {
}
assertEquals(0, someKey0.compareTo(someKey0));
- assertEquals(161539407, someKey0.compareTo(new DummyPfKey()));
+ assertEquals(266127751, someKey0.compareTo(new DummyPfKey()));
assertFalse(someKey0.equals(null));
assertTrue(someKey0.equals(someKey0));
diff --git a/models-base/src/test/java/org/onap/policy/models/base/PfKeyUseTest.java b/models-base/src/test/java/org/onap/policy/models/base/PfKeyUseTest.java
new file mode 100644
index 000000000..7dbde7414
--- /dev/null
+++ b/models-base/src/test/java/org/onap/policy/models/base/PfKeyUseTest.java
@@ -0,0 +1,78 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.models.base;
+
+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.PfKey.Compatibility;
+
+public class PfKeyUseTest {
+
+ @Test
+ public void test() {
+ assertNotNull(new PfKeyUse());
+ assertNotNull(new PfKeyUse(new PfConceptKey()));
+ assertNotNull(new PfKeyUse(new PfReferenceKey()));
+
+ PfConceptKey key = new PfConceptKey("Key", "0.0.1");
+ PfKeyUse keyUse = new PfKeyUse();
+ keyUse.setKey(key);
+ assertEquals(key, keyUse.getKey());
+ assertEquals("Key:0.0.1", keyUse.getId());
+ assertEquals(key, keyUse.getKeys().get(0));
+
+ assertEquals(Compatibility.IDENTICAL, keyUse.getCompatibility(key));
+ assertTrue(keyUse.isCompatible(key));
+
+ keyUse.clean();
+ assertNotNull(keyUse);
+
+ PfValidationResult result = new PfValidationResult();
+ result = keyUse.validate(result);
+ assertNotNull(result);
+
+ assertNotEquals(0, keyUse.hashCode());
+
+ PfKeyUse clonedKeyUse = new PfKeyUse(keyUse);
+ assertEquals("PfKeyUse(usedKey=PfConceptKey(name=Key, version=0.0.1))", clonedKeyUse.toString());
+
+ assertFalse(keyUse.hashCode() == 0);
+
+ assertTrue(keyUse.equals(keyUse));
+ assertTrue(keyUse.equals(clonedKeyUse));
+ assertFalse(keyUse.equals("Hello"));
+ assertTrue(keyUse.equals(new PfKeyUse(key)));
+
+ assertEquals(0, keyUse.compareTo(keyUse));
+ assertEquals(0, keyUse.compareTo(clonedKeyUse));
+ assertNotEquals(0, keyUse.compareTo(new PfConceptKey()));
+ assertEquals(0, keyUse.compareTo(new PfKeyUse(key)));
+
+ PfKeyUse keyUseNull = new PfKeyUse(PfConceptKey.getNullKey());
+ PfValidationResult resultNull = new PfValidationResult();
+ assertEquals(false, keyUseNull.validate(resultNull).isValid());
+ }
+}
diff --git a/models-base/src/test/java/org/onap/policy/models/base/PfReferenceKeyTest.java b/models-base/src/test/java/org/onap/policy/models/base/PfReferenceKeyTest.java
new file mode 100644
index 000000000..feedc2cc3
--- /dev/null
+++ b/models-base/src/test/java/org/onap/policy/models/base/PfReferenceKeyTest.java
@@ -0,0 +1,198 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.models.base;
+
+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 static org.junit.Assert.fail;
+
+import java.lang.reflect.Field;
+
+import org.junit.Test;
+
+public class PfReferenceKeyTest {
+
+ @Test
+ public void testPfReferenceKey() {
+ assertNotNull(new PfReferenceKey());
+ assertNotNull(new PfReferenceKey(new PfConceptKey()));
+ assertNotNull(new PfReferenceKey(new PfConceptKey(), "LocalName"));
+ assertNotNull(new PfReferenceKey(new PfReferenceKey()));
+ assertNotNull(new PfReferenceKey(new PfReferenceKey(), "LocalName"));
+ assertNotNull(new PfReferenceKey(new PfConceptKey(), "ParentLocalName", "LocalName"));
+ assertNotNull(new PfReferenceKey("ParentKeyName", "0.0.1", "LocalName"));
+ assertNotNull(new PfReferenceKey("ParentKeyName", "0.0.1", "ParentLocalName", "LocalName"));
+ assertNotNull(new PfReferenceKey("ParentKeyName:0.0.1:ParentLocalName:LocalName"));
+ assertEquals(PfReferenceKey.getNullKey().getKey(), PfReferenceKey.getNullKey());
+ assertEquals("NULL:0.0.0:NULL:NULL", PfReferenceKey.getNullKey().getId());
+
+ PfReferenceKey testReferenceKey = new PfReferenceKey();
+ testReferenceKey.setParentConceptKey(new PfConceptKey("PN", "0.0.1"));
+ assertEquals("PN:0.0.1", testReferenceKey.getParentConceptKey().getId());
+
+ testReferenceKey.setParentReferenceKey(new PfReferenceKey("PN", "0.0.1", "LN"));
+ assertEquals("PN:0.0.1:NULL:LN", testReferenceKey.getParentReferenceKey().getId());
+
+ testReferenceKey.setParentKeyName("NPKN");
+ assertEquals("NPKN", testReferenceKey.getParentKeyName());
+
+ testReferenceKey.setParentKeyVersion("0.0.1");
+ assertEquals("0.0.1", testReferenceKey.getParentKeyVersion());
+
+ testReferenceKey.setParentLocalName("NPKLN");
+ assertEquals("NPKLN", testReferenceKey.getParentLocalName());
+
+ testReferenceKey.setLocalName("NLN");
+ assertEquals("NLN", testReferenceKey.getLocalName());
+
+ assertFalse(testReferenceKey.isCompatible(PfConceptKey.getNullKey()));
+ assertFalse(testReferenceKey.isCompatible(PfReferenceKey.getNullKey()));
+ assertTrue(testReferenceKey.isCompatible(testReferenceKey));
+
+ assertEquals(PfKey.Compatibility.DIFFERENT, testReferenceKey.getCompatibility(PfConceptKey.getNullKey()));
+ assertEquals(PfKey.Compatibility.DIFFERENT, testReferenceKey.getCompatibility(PfReferenceKey.getNullKey()));
+ assertEquals(PfKey.Compatibility.IDENTICAL, testReferenceKey.getCompatibility(testReferenceKey));
+
+ PfValidationResult result = new PfValidationResult();
+ result = testReferenceKey.validate(result);
+ assertEquals(PfValidationResult.ValidationResult.VALID, result.getValidationResult());
+
+ testReferenceKey.clean();
+
+ PfReferenceKey clonedReferenceKey = new PfReferenceKey(testReferenceKey);
+ assertEquals("PfReferenceKey(parentKeyName=NPKN, parentKeyVersion=0.0.1, parentLocalName=NPKLN, localName=NLN)",
+ clonedReferenceKey.toString());
+
+ assertFalse(testReferenceKey.hashCode() == 0);
+
+ assertTrue(testReferenceKey.equals(testReferenceKey));
+ assertTrue(testReferenceKey.equals(clonedReferenceKey));
+ assertFalse(testReferenceKey.equals("Hello"));
+ assertFalse(testReferenceKey.equals(new PfReferenceKey("PKN", "0.0.2", "PLN", "LN")));
+ assertFalse(testReferenceKey.equals(new PfReferenceKey("NPKN", "0.0.2", "PLN", "LN")));
+ assertFalse(testReferenceKey.equals(new PfReferenceKey("NPKN", "0.0.1", "PLN", "LN")));
+ assertFalse(testReferenceKey.equals(new PfReferenceKey("NPKN", "0.0.1", "NPLN", "LN")));
+ assertTrue(testReferenceKey.equals(new PfReferenceKey("NPKN", "0.0.1", "NPKLN", "NLN")));
+
+ assertEquals(0, testReferenceKey.compareTo(testReferenceKey));
+ assertEquals(0, testReferenceKey.compareTo(clonedReferenceKey));
+ assertNotEquals(0, testReferenceKey.compareTo(new PfConceptKey()));
+ assertNotEquals(0, testReferenceKey.compareTo(new PfReferenceKey("PKN", "0.0.2", "PLN", "LN")));
+ assertNotEquals(0, testReferenceKey.compareTo(new PfReferenceKey("NPKN", "0.0.2", "PLN", "LN")));
+ assertNotEquals(0, testReferenceKey.compareTo(new PfReferenceKey("NPKN", "0.0.1", "PLN", "LN")));
+ assertNotEquals(0, testReferenceKey.compareTo(new PfReferenceKey("NPKN", "0.0.1", "NPLN", "LN")));
+ assertEquals(0, testReferenceKey.compareTo(new PfReferenceKey("NPKN", "0.0.1", "NPKLN", "NLN")));
+
+ assertFalse(testReferenceKey.equals(null));
+
+ try {
+ testReferenceKey.copyTo(null);
+ fail("test should throw an exception here");
+ } catch (Exception iae) {
+ assertEquals("target may not be null", iae.getMessage());
+ }
+
+ try {
+ testReferenceKey.copyTo(new PfConceptKey("Key", "0.0.1"));
+ fail("test should throw an exception here");
+ } catch (Exception iae) {
+ assertEquals("org.onap.policy.models.base.PfConceptKey"
+ + " is not an instance of org.onap.policy.models.base.PfReferenceKey", iae.getMessage());
+ }
+
+ PfReferenceKey targetRefKey = new PfReferenceKey();
+ assertEquals(testReferenceKey, testReferenceKey.copyTo(targetRefKey));
+ }
+
+ @Test
+ public void testValidation() {
+ PfReferenceKey testReferenceKey = new PfReferenceKey();
+ testReferenceKey.setParentConceptKey(new PfConceptKey("PN", "0.0.1"));
+ assertEquals("PN:0.0.1", testReferenceKey.getParentConceptKey().getId());
+
+ try {
+ Field parentNameField = testReferenceKey.getClass().getDeclaredField("parentKeyName");
+ parentNameField.setAccessible(true);
+ parentNameField.set(testReferenceKey, "Parent Name");
+ PfValidationResult validationResult = new PfValidationResult();
+ testReferenceKey.validate(validationResult);
+ parentNameField.set(testReferenceKey, "ParentName");
+ parentNameField.setAccessible(false);
+ assertEquals(
+ "parentKeyName invalid-parameter parentKeyName with value Parent Name "
+ + "does not match regular expression [A-Za-z0-9\\-_\\.]+",
+ validationResult.getMessageList().get(0).getMessage());
+ } catch (Exception validationException) {
+ fail("test should not throw an exception");
+ }
+
+ try {
+ Field parentVersionField = testReferenceKey.getClass().getDeclaredField("parentKeyVersion");
+ parentVersionField.setAccessible(true);
+ parentVersionField.set(testReferenceKey, "Parent Version");
+ PfValidationResult validationResult = new PfValidationResult();
+ testReferenceKey.validate(validationResult);
+ parentVersionField.set(testReferenceKey, "0.0.1");
+ parentVersionField.setAccessible(false);
+ assertEquals(
+ "parentKeyVersion invalid-parameter parentKeyVersion with value Parent Version "
+ + "does not match regular expression [A-Za-z0-9.]+",
+ validationResult.getMessageList().get(0).getMessage());
+ } catch (Exception validationException) {
+ fail("test should not throw an exception");
+ }
+
+ try {
+ Field parentLocalNameField = testReferenceKey.getClass().getDeclaredField("parentLocalName");
+ parentLocalNameField.setAccessible(true);
+ parentLocalNameField.set(testReferenceKey, "Parent Local Name");
+ PfValidationResult validationResult = new PfValidationResult();
+ testReferenceKey.validate(validationResult);
+ parentLocalNameField.set(testReferenceKey, "ParentLocalName");
+ parentLocalNameField.setAccessible(false);
+ assertEquals(
+ "parentLocalName invalid-parameter parentLocalName with value "
+ + "Parent Local Name does not match regular expression [A-Za-z0-9\\-_\\.]+|^$",
+ validationResult.getMessageList().get(0).getMessage());
+ } catch (Exception validationException) {
+ fail("test should not throw an exception");
+ }
+
+ try {
+ Field localNameField = testReferenceKey.getClass().getDeclaredField("localName");
+ localNameField.setAccessible(true);
+ localNameField.set(testReferenceKey, "Local Name");
+ PfValidationResult validationResult = new PfValidationResult();
+ testReferenceKey.validate(validationResult);
+ localNameField.set(testReferenceKey, "LocalName");
+ localNameField.setAccessible(false);
+ assertEquals(
+ "localName invalid-parameter localName with value Local Name "
+ + "does not match regular expression [A-Za-z0-9\\-_\\.]+|^$",
+ validationResult.getMessageList().get(0).getMessage());
+ } catch (Exception validationException) {
+ fail("test should not throw an exception");
+ }
+ }
+}
diff --git a/models-base/src/test/java/org/onap/policy/models/base/ValidationTest.java b/models-base/src/test/java/org/onap/policy/models/base/ValidationTest.java
index 385039c5b..0d4f2a7ee 100644
--- a/models-base/src/test/java/org/onap/policy/models/base/ValidationTest.java
+++ b/models-base/src/test/java/org/onap/policy/models/base/ValidationTest.java
@@ -1,4 +1,4 @@
-/*
+/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
* ================================================================================
diff --git a/models-base/src/test/java/org/onap/policy/models/base/testpojos/DummyPfConcept.java b/models-base/src/test/java/org/onap/policy/models/base/testpojos/DummyPfConcept.java
index 85727f45e..f28477f70 100644
--- a/models-base/src/test/java/org/onap/policy/models/base/testpojos/DummyPfConcept.java
+++ b/models-base/src/test/java/org/onap/policy/models/base/testpojos/DummyPfConcept.java
@@ -20,6 +20,7 @@
package org.onap.policy.models.base.testpojos;
+import java.util.Arrays;
import java.util.List;
import org.onap.policy.models.base.PfConcept;
@@ -42,7 +43,7 @@ public class DummyPfConcept extends PfConcept {
@Override
public List<PfKey> getKeys() {
- return null;
+ return Arrays.asList(getKey());
}
@Override
diff --git a/models-base/src/test/java/org/onap/policy/models/base/testpojos/DummyPfKey.java b/models-base/src/test/java/org/onap/policy/models/base/testpojos/DummyPfKey.java
index 19358a1de..247ea88d1 100644
--- a/models-base/src/test/java/org/onap/policy/models/base/testpojos/DummyPfKey.java
+++ b/models-base/src/test/java/org/onap/policy/models/base/testpojos/DummyPfKey.java
@@ -20,6 +20,7 @@
package org.onap.policy.models.base.testpojos;
+import java.util.Arrays;
import java.util.List;
import org.onap.policy.models.base.PfConcept;
@@ -56,7 +57,7 @@ public class DummyPfKey extends PfKey {
@Override
public List<PfKey> getKeys() {
- return null;
+ return Arrays.asList(getKey());
}
@Override