X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=models-base%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fmodels%2Fbase%2FPfConceptContainerTest.java;h=062f6f953848df18974ba5bf156e8f2db3340b92;hb=59f4f54cdf4c1a5c155360239272da690e8c4a72;hp=984d2b9d36068177230ce0e128729635c38f0fd7;hpb=348050eb3635e061deb4c21581a274299d7c6e12;p=policy%2Fmodels.git diff --git a/models-base/src/test/java/org/onap/policy/models/base/PfConceptContainerTest.java b/models-base/src/test/java/org/onap/policy/models/base/PfConceptContainerTest.java index 984d2b9d3..062f6f953 100644 --- a/models-base/src/test/java/org/onap/policy/models/base/PfConceptContainerTest.java +++ b/models-base/src/test/java/org/onap/policy/models/base/PfConceptContainerTest.java @@ -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-2020 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. @@ -24,6 +24,7 @@ package org.onap.policy.models.base; 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; @@ -47,14 +48,16 @@ import org.onap.policy.models.base.testconcepts.DummyPfConceptSub; */ public class PfConceptContainerTest { - private static final String NAME2 = "name2"; - private static final String NAME1 = "name1"; private static final String NAME0 = "name0"; - private static final String KEY_IS_NULL = "key is marked @NonNull but is null"; + private static final String NAME1 = "name1"; + private static final String NAME2 = "name2"; + private static final String NAME3 = "name3"; + private static final String ID3 = "name3:0.0.1"; + private static final String VERSION0_0_1 = "0.0.1"; + private static final String KEY_IS_NULL = "^key is marked .*on.*ull but is null$"; private static final String DUMMY_VALUE = "Dummy"; - private static final String VERSION0 = "0.0.1"; - @SuppressWarnings({ "unchecked", "rawtypes" }) + @SuppressWarnings({"unchecked", "rawtypes"}) @Test public void testConceptContainer() { DummyPfConceptContainer container = new DummyPfConceptContainer(); @@ -69,15 +72,16 @@ public class PfConceptContainerTest { container = new DummyPfConceptContainer(new PfConceptKey(), new TreeMap()); assertNotNull(container); - assertThatThrownBy(() -> new PfConceptContainer((PfConceptKey) null, null)).hasMessage(KEY_IS_NULL); + assertThatThrownBy(() -> new PfConceptContainer((PfConceptKey) null, null)).hasMessageMatching(KEY_IS_NULL); - assertThatThrownBy(() -> new DummyPfConceptContainer((PfConceptKey) null, null)).hasMessage(KEY_IS_NULL); + assertThatThrownBy(() -> new DummyPfConceptContainer((PfConceptKey) null, null)) + .hasMessageMatching(KEY_IS_NULL); assertThatThrownBy(() -> new DummyPfConceptContainer(new PfConceptKey(), null)) - .hasMessage("conceptMap is marked @NonNull but is null"); + .hasMessageMatching("^conceptMap is marked .*on.*ull but is null$"); assertThatThrownBy(() -> new DummyPfConceptContainer(null, new TreeMap())) - .hasMessage(KEY_IS_NULL); + .hasMessageMatching(KEY_IS_NULL); container.getKey().setName(DUMMY_VALUE); DummyPfConceptContainer clonedContainer = new DummyPfConceptContainer(container); @@ -85,12 +89,12 @@ public class PfConceptContainerTest { assertEquals(DUMMY_VALUE, clonedContainer.getKey().getName()); assertThatThrownBy(() -> new DummyPfConceptContainer((DummyPfConceptContainer) null)) - .hasMessage("copyConcept is marked @NonNull but is null"); + .hasMessageMatching("^copyConcept is marked .*on.*ull but is null$"); List keyList = container.getKeys(); assertEquals(1, keyList.size()); - PfConceptKey conceptKey = new PfConceptKey("Key", VERSION0); + PfConceptKey conceptKey = new PfConceptKey("Key", VERSION0_0_1); Map conceptMap = new TreeMap<>(); conceptMap.put(conceptKey, new DummyPfConcept(conceptKey)); @@ -113,30 +117,31 @@ public class PfConceptContainerTest { assertEquals(0, container.compareTo(clonedContainer)); - final DummyPfConceptContainer container2 = container; - assertThatThrownBy(() -> container2.copyTo(null)).hasMessage("target is marked @NonNull but is null"); + assertThatThrownBy(() -> new DummyPfConceptContainer((DummyPfConceptContainer) null)) + .isInstanceOf(NullPointerException.class); - assertFalse(container.compareTo(null) == 0); + assertNotEquals(0, container.compareTo(null)); assertEquals(0, container.compareTo(container)); - assertFalse(container.compareTo(conceptKey) == 0); + assertNotEquals(0, container.compareTo(conceptKey)); DummyPfConceptContainer testContainer = new DummyPfConceptContainer(container); testContainer.getKey().setVersion("0.0.2"); - assertFalse(container.compareTo(testContainer) == 0); + assertNotEquals(0, container.compareTo(testContainer)); testContainer.getKey().setVersion(container.getKey().getVersion()); assertEquals(0, container.compareTo(testContainer)); - PfConceptKey testConceptKey = new PfConceptKey("TestKey", VERSION0); + PfConceptKey testConceptKey = new PfConceptKey("TestKey", VERSION0_0_1); testContainer.getConceptMap().put(testConceptKey, new DummyPfConcept(testConceptKey)); - assertFalse(container.compareTo(testContainer) == 0); + assertNotEquals(0, container.compareTo(testContainer)); final DummyPfConceptContainer container3 = container; - assertThatThrownBy(() -> container3.validate(null)).hasMessage("resultIn is marked @NonNull but is null"); + assertThatThrownBy(() -> container3.validate(null)) + .hasMessageMatching("^resultIn is marked .*on.*ull but is null$"); DummyPfConceptContainer validateContainer = new DummyPfConceptContainer(); assertFalse(validateContainer.validate(new PfValidationResult()).isOk()); - validateContainer.setKey(new PfConceptKey("VCKey", VERSION0)); - assertFalse(validateContainer.validate(new PfValidationResult()).isOk()); + validateContainer.setKey(new PfConceptKey("VCKey", VERSION0_0_1)); + assertTrue(validateContainer.validate(new PfValidationResult()).isOk()); validateContainer.getConceptMap().put(testConceptKey, new DummyPfConcept(testConceptKey)); assertTrue(validateContainer.validate(new PfValidationResult()).isOk()); @@ -166,39 +171,85 @@ public class PfConceptContainerTest { returnSet = container.getAll(conceptKey.getName(), conceptKey.getVersion()); assertEquals(conceptKey, returnSet.iterator().next().getKey()); + returnSet = container.getAllNamesAndVersions(conceptKey.getName(), conceptKey.getVersion()); + assertEquals(conceptKey, returnSet.iterator().next().getKey()); + returnSet = container.getAllNamesAndVersions(null, conceptKey.getVersion()); + assertEquals(conceptKey, returnSet.iterator().next().getKey()); + returnSet = container.getAllNamesAndVersions(null, null); + assertEquals(conceptKey, returnSet.iterator().next().getKey()); + returnSet = container.getAllNamesAndVersions(conceptKey.getName(), null); + assertEquals(conceptKey, returnSet.iterator().next().getKey()); + returnSet = container.getAllNamesAndVersions(conceptKey.getName(), "0.0.0"); + assertEquals(conceptKey, returnSet.iterator().next().getKey()); + returnSet = container.getAllNamesAndVersions("IDontExist", "1.0.0"); + assertTrue(returnSet.isEmpty()); + container.getConceptMap().put(conceptKey, new DummyPfConceptSub(conceptKey)); + + PfConceptKey anotherKey = new PfConceptKey(conceptKey); + assertEquals(conceptKey, container.get(anotherKey).getKey()); + anotherKey.setVersion(PfKey.NULL_KEY_VERSION); + assertEquals(conceptKey, container.get(anotherKey).getKey()); } @Test public void testAuthorative() { Map dacMap = new LinkedHashMap<>(); dacMap.put(NAME0, new DummyAuthorativeConcept(NAME0, "1.2.3", "Hello")); - dacMap.put(NAME1, new DummyAuthorativeConcept(PfKey.NULL_KEY_NAME, PfKey.NULL_KEY_VERSION, "Hi")); + dacMap.put(NAME1, new DummyAuthorativeConcept("IncorrectName", PfKey.NULL_KEY_VERSION, "Hi")); dacMap.put(NAME2, new DummyAuthorativeConcept(NAME2, "1.2.3", "Howdy")); + dacMap.put(ID3, new DummyAuthorativeConcept(NAME3, "9.9.9", "Ciao")); + dacMap.put("name4:1.2.3", new DummyAuthorativeConcept(null, null, "Slan")); + dacMap.put("name5", new DummyAuthorativeConcept(null, null, "Bye")); List> authorativeList = new ArrayList<>(); authorativeList.add(dacMap); DummyPfConceptContainer container = new DummyPfConceptContainer(); + + assertThatThrownBy(() -> container.fromAuthorative(authorativeList)) + .hasMessage("Key name1:0.0.0 field name1 does not match the value IncorrectName in the concept field"); + + dacMap.put(NAME1, new DummyAuthorativeConcept(NAME1, PfKey.NULL_KEY_VERSION, "Hi")); + + assertThatThrownBy(() -> container.fromAuthorative(authorativeList)) + .hasMessage("Key name3:0.0.1 field 0.0.1 does not match the value 9.9.9 in the concept field"); + + dacMap.put(ID3, new DummyAuthorativeConcept(NAME3, "0.0.1", "Ciao")); + container.fromAuthorative(authorativeList); assertEquals("Hello", container.getConceptMap().get(new PfConceptKey("name0:1.2.3")).getDescription()); - assertEquals("Hi", container.getConceptMap().get(new PfConceptKey("NULL:0.0.0")).getDescription()); + assertEquals("Hi", container.getConceptMap().get(new PfConceptKey("name1:0.0.0")).getDescription()); assertEquals("Howdy", container.getConceptMap().get(new PfConceptKey("name2:1.2.3")).getDescription()); + assertEquals("Ciao", container.getConceptMap().get(new PfConceptKey("name3:0.0.1")).getDescription()); + assertEquals("name4", container.getConceptMap().get(new PfConceptKey("name4:1.2.3")).getName()); + assertEquals("1.2.3", container.getConceptMap().get(new PfConceptKey("name4:1.2.3")).getVersion()); + assertEquals("0.0.0", container.getConceptMap().get(new PfConceptKey("name5:0.0.0")).getVersion()); List> outMapList = container.toAuthorative(); - assertEquals(dacMap.get(NAME1), outMapList.get(0).get("NULL")); - assertEquals(dacMap.get(NAME0).getDescription(), outMapList.get(1).get(NAME0).getDescription()); + assertEquals(dacMap.get(NAME0), outMapList.get(0).get(NAME0)); + assertEquals(dacMap.get(NAME1).getDescription(), outMapList.get(1).get(NAME1).getDescription()); assertEquals(dacMap.get(NAME2), outMapList.get(2).get(NAME2)); + assertEquals(dacMap.get(NAME3), outMapList.get(2).get(NAME3)); + + List outConceptList = container.toAuthorativeList(); + assertEquals("Hello", outConceptList.get(0).getDescription()); + assertEquals("Hi", outConceptList.get(1).getDescription()); + assertEquals("Howdy", outConceptList.get(2).getDescription()); + assertEquals("Ciao", outConceptList.get(3).getDescription()); + assertEquals("name4", outConceptList.get(4).getName()); + assertEquals("1.2.3", outConceptList.get(4).getVersion()); + assertEquals("0.0.0", outConceptList.get(5).getVersion()); DummyBadPfConceptContainer badContainer = new DummyBadPfConceptContainer(); assertThatThrownBy(() -> badContainer.fromAuthorative(authorativeList)) - .hasMessage("failed to instantiate instance of container concept class"); + .hasMessage("failed to instantiate instance of container concept class"); authorativeList.clear(); assertThatThrownBy(() -> container.fromAuthorative(authorativeList)) - .hasMessage("An incoming list of concepts must have at least one entry"); + .hasMessage("An incoming list of concepts must have at least one entry"); } @Test(expected = NullPointerException.class)