X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=models-tosca%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fmodels%2Ftosca%2Fsimple%2Fconcepts%2FJpaToscaPropertyTest.java;h=0fa0d3f145060fd49977e3273bdec5abe4b28c21;hb=4c4946e339942863e73e20726dd95aaacfcfb5a6;hp=2da2090de313762599f030f00ed3be49e36a4c58;hpb=fd809717ca774dfabeddd3984fbbbbdfd029601e;p=policy%2Fmodels.git diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPropertyTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPropertyTest.java index 2da2090de..0fa0d3f14 100644 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPropertyTest.java +++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPropertyTest.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,11 +24,15 @@ package org.onap.policy.models.tosca.simple.concepts; 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.assertNotSame; +import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import java.util.ArrayList; import java.util.List; +import java.util.TreeMap; import org.junit.Test; import org.onap.policy.models.base.PfConceptKey; import org.onap.policy.models.base.PfReferenceKey; @@ -42,7 +46,7 @@ import org.onap.policy.models.tosca.authorative.concepts.ToscaProperty; */ public class JpaToscaPropertyTest { - private static final String KEY_IS_NULL = "key is marked @NonNull but is null"; + private static final String KEY_IS_NULL = "key is marked .*on.*ull but is null"; private static final String DEFAULT_KEY = "defaultKey"; private static final String A_DESCRIPTION = "A Description"; private static final String VERSION_001 = "0.0.1"; @@ -54,20 +58,22 @@ public class JpaToscaPropertyTest { assertNotNull(new JpaToscaProperty(new PfReferenceKey(), new PfConceptKey())); assertNotNull(new JpaToscaProperty(new JpaToscaProperty())); - assertThatThrownBy(() -> new JpaToscaProperty((PfReferenceKey) null)).hasMessage(KEY_IS_NULL); + assertThatThrownBy(() -> new JpaToscaProperty((PfReferenceKey) null)).hasMessageMatching(KEY_IS_NULL); - assertThatThrownBy(() -> new JpaToscaProperty(null, null)).hasMessage(KEY_IS_NULL); + assertThatThrownBy(() -> new JpaToscaProperty(null, null)).hasMessageMatching(KEY_IS_NULL); - assertThatThrownBy(() -> new JpaToscaProperty(null, new PfConceptKey())).hasMessage(KEY_IS_NULL); + assertThatThrownBy(() -> new JpaToscaProperty(null, new PfConceptKey())).hasMessageMatching(KEY_IS_NULL); assertThatThrownBy(() -> new JpaToscaProperty(new PfReferenceKey(), null)) - .hasMessage("type is marked @NonNull but is null"); + .hasMessageMatching("type is marked .*on.*ull but is null"); PfConceptKey pparentKey = new PfConceptKey("tParentKey", VERSION_001); PfReferenceKey pkey = new PfReferenceKey(pparentKey, "trigger0"); PfConceptKey ptypeKey = new PfConceptKey("TTypeKey", VERSION_001); JpaToscaProperty tp = new JpaToscaProperty(pkey, ptypeKey); + assertEquals(tp, new JpaToscaProperty(tp)); + tp.setDescription(A_DESCRIPTION); assertEquals(A_DESCRIPTION, tp.getDescription()); @@ -85,55 +91,65 @@ public class JpaToscaPropertyTest { assertEquals(constraints, tp.getConstraints()); PfConceptKey typeKey = new PfConceptKey("type", VERSION_001); - JpaToscaEntrySchema tes = new JpaToscaEntrySchema(typeKey); + JpaToscaSchemaDefinition tes = new JpaToscaSchemaDefinition(typeKey); tp.setEntrySchema(tes); + TreeMap metadata = new TreeMap<>(); + metadata.put("metaA", "dataA"); + metadata.put("metaB", "dataB"); + tp.setMetadata(metadata); + assertSame(metadata, tp.getMetadata()); + JpaToscaProperty tdtClone0 = new JpaToscaProperty(tp); assertEquals(tp, tdtClone0); assertEquals(0, tp.compareTo(tdtClone0)); + assertNotSame(tdtClone0.getMetadata(), tp.getMetadata()); + JpaToscaProperty tdtClone1 = new JpaToscaProperty(tp); assertEquals(tp, tdtClone1); assertEquals(0, tp.compareTo(tdtClone1)); assertEquals(-1, tp.compareTo(null)); assertEquals(0, tp.compareTo(tp)); - assertFalse(tp.compareTo(tp.getKey()) == 0); + assertNotEquals(0, tp.compareTo(tp.getKey())); PfReferenceKey otherDtKey = new PfReferenceKey("otherDt", VERSION_001, "OtherProperty"); JpaToscaProperty otherDt = new JpaToscaProperty(otherDtKey); - assertFalse(tp.compareTo(otherDt) == 0); + assertNotEquals(0, tp.compareTo(otherDt)); otherDt.setKey(pkey); - assertFalse(tp.compareTo(otherDt) == 0); + assertNotEquals(0, tp.compareTo(otherDt)); otherDt.setType(ptypeKey); - assertFalse(tp.compareTo(otherDt) == 0); + assertNotEquals(0, tp.compareTo(otherDt)); otherDt.setDescription(A_DESCRIPTION); - assertFalse(tp.compareTo(otherDt) == 0); + assertNotEquals(0, tp.compareTo(otherDt)); otherDt.setRequired(false); - assertFalse(tp.compareTo(otherDt) == 0); + assertNotEquals(0, tp.compareTo(otherDt)); otherDt.setDefaultValue(DEFAULT_KEY); - assertFalse(tp.compareTo(otherDt) == 0); + assertNotEquals(0, tp.compareTo(otherDt)); otherDt.setStatus(ToscaProperty.Status.SUPPORTED); - assertFalse(tp.compareTo(otherDt) == 0); - assertFalse(tp.compareTo(otherDt) == 0); + assertNotEquals(0, tp.compareTo(otherDt)); + assertNotEquals(0, tp.compareTo(otherDt)); otherDt.setConstraints(constraints); - assertFalse(tp.compareTo(otherDt) == 0); + assertNotEquals(0, tp.compareTo(otherDt)); otherDt.setEntrySchema(tes); + assertNotEquals(0, tp.compareTo(otherDt)); + otherDt.setMetadata(metadata); assertEquals(0, tp.compareTo(otherDt)); otherDt.setRequired(true); - assertFalse(tp.compareTo(otherDt) == 0); + assertNotEquals(0, tp.compareTo(otherDt)); otherDt.setRequired(false); assertEquals(0, tp.compareTo(otherDt)); otherDt.setStatus(ToscaProperty.Status.UNSUPPORTED); - assertFalse(tp.compareTo(otherDt) == 0); + assertNotEquals(0, tp.compareTo(otherDt)); otherDt.setStatus(ToscaProperty.Status.SUPPORTED); assertEquals(0, tp.compareTo(otherDt)); assertThatThrownBy(() -> new JpaToscaProperty((JpaToscaProperty) null)) - .isInstanceOf(NullPointerException.class); + .isInstanceOf(NullPointerException.class); assertEquals(3, tp.getKeys().size()); assertEquals(2, new JpaToscaProperty().getKeys().size()); @@ -174,6 +190,54 @@ public class JpaToscaPropertyTest { tp.getConstraints().remove(null); assertTrue(tp.validate(new PfValidationResult()).isValid()); - assertThatThrownBy(() -> tp.validate(null)).hasMessage("resultIn is marked @NonNull but is null"); + tp.setMetadata(null); + assertTrue(tp.validate(new PfValidationResult()).isValid()); + + assertThatThrownBy(() -> tp.validate(null)).hasMessageMatching("resultIn is marked .*on.*ull but is null"); + } + + @Test + public void testToAuthorative_testFromAuthorative() { + // check with empty structure + JpaToscaProperty tp = new JpaToscaProperty(); + ToscaProperty auth = tp.toAuthorative(); + JpaToscaProperty tp2 = new JpaToscaProperty(); + tp2.fromAuthorative(auth); + assertEquals(tp, tp2); + + // populate and try again + PfConceptKey pparentKey = new PfConceptKey("tParentKey", VERSION_001); + PfReferenceKey pkey = new PfReferenceKey(pparentKey, "trigger0"); + PfConceptKey ptypeKey = new PfConceptKey("TTypeKey", VERSION_001); + tp = new JpaToscaProperty(pkey, ptypeKey); + + tp.setDescription(A_DESCRIPTION); + tp.setRequired(true); + tp.setDefaultValue(DEFAULT_KEY); + tp.setStatus(ToscaProperty.Status.SUPPORTED); + + List constraints = new ArrayList<>(); + JpaToscaConstraintLogical lsc = new JpaToscaConstraintLogical(JpaToscaConstraintOperation.EQ, "hello"); + constraints.add(lsc); + tp.setConstraints(constraints); + + PfConceptKey typeKey = new PfConceptKey("type", VERSION_001); + JpaToscaSchemaDefinition tes = new JpaToscaSchemaDefinition(typeKey); + tp.setEntrySchema(tes); + + TreeMap metadata = new TreeMap<>(); + metadata.put("metaA", "dataA"); + metadata.put("metaB", "dataB"); + tp.setMetadata(metadata); + + auth = tp.toAuthorative(); + tp2 = new JpaToscaProperty(); + tp2.fromAuthorative(auth); + + // note: parent key info is not copied, so we manually copy it + tp2.getKey().setParentConceptKey(tp.getKey().getParentConceptKey()); + + assertEquals(tp.toString(), tp2.toString()); + assertEquals(tp, tp2); } }