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%2FJpaToscaPoliciesTest.java;h=1c79091b12504ed4214a2ad0ec92daf3b721147a;hb=3c629ea3357cbe212db9acfcde002dac8b821ac2;hp=10616f2eb2896c8bcc6b80407f0bbefd89055bae;hpb=26e7f16c6e3f224d38e09441be30c1d4fa795c2a;p=policy%2Fmodels.git diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPoliciesTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPoliciesTest.java index 10616f2eb..1c79091b1 100644 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPoliciesTest.java +++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPoliciesTest.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-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. @@ -21,8 +21,11 @@ package org.onap.policy.models.tosca.simple.concepts; +import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; import java.util.ArrayList; import java.util.LinkedHashMap; @@ -30,36 +33,88 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; import org.junit.Test; +import org.onap.policy.common.parameters.BeanValidationResult; import org.onap.policy.models.base.PfConceptKey; +import org.onap.policy.models.base.Validated; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; public class JpaToscaPoliciesTest { - 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"; @Test - public void testPolicies() { + public void testPoliciesErrors() { assertNotNull(new JpaToscaPolicies()); assertNotNull(new JpaToscaPolicies(new PfConceptKey())); assertNotNull(new JpaToscaPolicies(new PfConceptKey(), new TreeMap())); assertNotNull(new JpaToscaPolicies(new JpaToscaPolicies())); - assertThatThrownBy(() -> new JpaToscaPolicies((PfConceptKey) null)).hasMessage(KEY_IS_NULL); + assertThatThrownBy(() -> new JpaToscaPolicies((PfConceptKey) null)).hasMessageMatching(KEY_IS_NULL); assertThatThrownBy(() -> new JpaToscaPolicies((JpaToscaPolicies) null)) - .hasMessage("copyConcept is marked @NonNull but is null"); + .hasMessageMatching("copyConcept is marked .*on.*ull but is null"); - assertThatThrownBy(() -> new JpaToscaPolicies(null, null)).hasMessage(KEY_IS_NULL); + assertThatThrownBy(() -> new JpaToscaPolicies(null, null)).hasMessageMatching(KEY_IS_NULL); assertThatThrownBy(() -> new JpaToscaPolicies(new PfConceptKey(), null)) - .hasMessage("conceptMap is marked @NonNull but is null"); + .hasMessageMatching("conceptMap is marked .*on.*ull but is null"); assertThatThrownBy(() -> new JpaToscaPolicies(null, new TreeMap())) - .hasMessage(KEY_IS_NULL); + .hasMessageMatching(KEY_IS_NULL); + } + @Test + public void testToscaPolicies() { List> polMapList = new ArrayList<>(); polMapList.add(new LinkedHashMap<>()); - polMapList.get(0).put("policyType", new ToscaPolicy()); + + ToscaPolicy pol0 = new ToscaPolicy(); + pol0.setName("pol0"); + pol0.setVersion("0.0.1"); + pol0.setDescription("pol0 description"); + pol0.setType("pt0"); + pol0.setTypeVersion("0.0.1"); + + polMapList.get(0).put("pol0", pol0); assertNotNull(new JpaToscaPolicies(polMapList)); + assertTrue(new JpaToscaPolicies(polMapList).validate("").isValid()); + assertThatThrownBy(() -> new JpaToscaPolicies(polMapList).validate(null)) + .hasMessageMatching("fieldName is marked .*on.*ull but is null"); + + pol0.setDerivedFrom(null); + assertTrue(new JpaToscaPolicies(polMapList).validate("").isValid()); + + pol0.setDerivedFrom("tosca.Policies.Root"); + assertTrue(new JpaToscaPolicies(polMapList).validate("").isValid()); + + pol0.setDerivedFrom("some.other.Thing"); + BeanValidationResult result = new JpaToscaPolicies(polMapList).validate(""); + assertFalse(result.isValid()); + assertThat(result.getResult()).contains("parent").contains("some.other.Thing:0.0.0") + .contains(Validated.NOT_FOUND); + + pol0.setDerivedFrom(null); + assertTrue(new JpaToscaPolicies(polMapList).validate("").isValid()); + + ToscaPolicy pol1 = new ToscaPolicy(); + pol1.setName("pol1"); + pol1.setVersion("0.0.1"); + pol1.setDescription("pol1 description"); + pol1.setType("pt0"); + pol1.setTypeVersion("0.0.1"); + + polMapList.get(0).put("pol1", pol1); + assertTrue(new JpaToscaPolicies(polMapList).validate("").isValid()); + + pol1.setDerivedFrom("pol0"); + assertTrue(new JpaToscaPolicies(polMapList).validate("").isValid()); + + pol1.setDerivedFrom("pol2"); + result = new JpaToscaPolicies(polMapList).validate(""); + assertFalse(result.isValid()); + assertThat(result.getResult()).contains("parent").contains("pol2:0.0.0").contains(Validated.NOT_FOUND); + + pol1.setDerivedFrom("pol0"); + assertTrue(new JpaToscaPolicies(polMapList).validate("").isValid()); } }