X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=models-tosca%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fmodels%2Ftosca%2Fsimple%2Fprovider%2FSimpleToscaProviderTest.java;h=a258eedea962d9ecadfda64e077939585d3a6637;hb=3adbaa909ad1af4f80f7347cdfbce8bcab892db0;hp=f2da23c028b89251254b23072a75e9c7faef4e41;hpb=0813923baa10ddd08e8cb3eccff8ac224f2b8aa4;p=policy%2Fmodels.git diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProviderTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProviderTest.java index f2da23c02..a258eedea 100644 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProviderTest.java +++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProviderTest.java @@ -41,6 +41,7 @@ import org.onap.policy.models.dao.DaoParameters; import org.onap.policy.models.dao.PfDao; import org.onap.policy.models.dao.PfDaoFactory; import org.onap.policy.models.dao.impl.DefaultPfDao; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; import org.onap.policy.models.tosca.authorative.provider.AuthorativeToscaProvider; import org.onap.policy.models.tosca.simple.concepts.JpaToscaDataType; @@ -372,6 +373,66 @@ public class SimpleToscaProviderTest { createdServiceTemplate.getTopologyTemplate().getPolicies()); } + @Test + public void testPolicyCreateTypeAndVersion() throws Exception { + ToscaServiceTemplate toscaServiceTemplate = + standardCoder.decode(ResourceUtils.getResourceAsString(VCPE_INPUT_JSON), ToscaServiceTemplate.class); + + createPolicyTypes(); + + ToscaPolicy toscaPolicy = + toscaServiceTemplate.getToscaTopologyTemplate().getPoliciesAsMap().values().iterator().next(); + + JpaToscaServiceTemplate originalServiceTemplate = new JpaToscaServiceTemplate(); + + final String originalPolicyType = toscaPolicy.getType(); + final String originalPolicyTypeVersion = toscaPolicy.getTypeVersion(); + toscaPolicy.setType(null); + toscaPolicy.setTypeVersion(null); + + assertThatThrownBy(() -> { + originalServiceTemplate.fromAuthorative(toscaServiceTemplate); + }).hasMessage("PolicyType type not specified, the type of the PolicyType for this policy must be " + + "specified in the type field"); + + toscaPolicy.setType("IDontExist"); + assertThatThrownBy(() -> { + originalServiceTemplate.fromAuthorative(toscaServiceTemplate); + }).hasMessage("PolicyType version not specified, the version of the PolicyType for this policy must be " + + "specified in the type_version field"); + + toscaPolicy.setTypeVersion("hello"); + assertThatThrownBy(() -> { + originalServiceTemplate.fromAuthorative(toscaServiceTemplate); + }).hasMessageContaining("value \"hello\", does not match regular expression"); + + toscaPolicy.setTypeVersion("99.100.101"); + originalServiceTemplate.fromAuthorative(toscaServiceTemplate); + + assertThatThrownBy(() -> { + new SimpleToscaProvider().createPolicies(pfDao, originalServiceTemplate); + }).hasMessageContaining("policy type IDontExist:99.100.101 referenced in policy not found"); + + toscaPolicy.setType("IDontExist"); + originalServiceTemplate.fromAuthorative(toscaServiceTemplate); + + toscaPolicy.setType(null); + + assertThatThrownBy(() -> { + originalServiceTemplate.fromAuthorative(toscaServiceTemplate); + }).hasMessage("PolicyType type not specified, the type of the PolicyType for this policy must be " + + "specified in the type field"); + + toscaPolicy.setType(originalPolicyType); + toscaPolicy.setTypeVersion(originalPolicyTypeVersion); + + originalServiceTemplate.fromAuthorative(toscaServiceTemplate); + JpaToscaServiceTemplate createdServiceTemplate = + new SimpleToscaProvider().createPolicies(pfDao, originalServiceTemplate); + assertEquals(originalServiceTemplate.getTopologyTemplate().getPolicies(), + createdServiceTemplate.getTopologyTemplate().getPolicies()); + } + @Test public void testPolicyUpdate() throws Exception { ToscaServiceTemplate toscaServiceTemplate =