/*-
* ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
+ * Copyright (C) 2020-2021 Nordix Foundation.
+ * Modifications Copyright (C) 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.
import static org.junit.Assert.assertEquals;
import java.util.Iterator;
-
import org.junit.Test;
import org.onap.policy.models.base.PfConceptKey;
+import org.onap.policy.models.base.Validated;
import org.onap.policy.models.tosca.simple.concepts.JpaToscaDataType;
import org.onap.policy.models.tosca.simple.concepts.JpaToscaDataTypes;
import org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicies;
JpaToscaServiceTemplate compositeTemplate00 =
ToscaServiceTemplateUtils.addFragment(originalTemplate, fragmentTemplate00);
- assertEquals(compositeTemplate00,
- ToscaServiceTemplateUtils.addFragment(compositeTemplate00, fragmentTemplate00));
- assertEquals(compositeTemplate00,
- ToscaServiceTemplateUtils.addFragment(compositeTemplate00, new JpaToscaServiceTemplate()));
- assertEquals(compositeTemplate00,
- ToscaServiceTemplateUtils.addFragment(new JpaToscaServiceTemplate(), compositeTemplate00));
+ checkFragments(compositeTemplate00, fragmentTemplate00);
JpaToscaDataType dt0 = new JpaToscaDataType();
dt0.setKey(new PfConceptKey("dt0", "0.0.1"));
JpaToscaServiceTemplate compositeTemplate01 =
ToscaServiceTemplateUtils.addFragment(originalTemplate, fragmentTemplate01);
- assertEquals(compositeTemplate01,
- ToscaServiceTemplateUtils.addFragment(compositeTemplate01, fragmentTemplate01));
- assertEquals(compositeTemplate01,
- ToscaServiceTemplateUtils.addFragment(compositeTemplate01, new JpaToscaServiceTemplate()));
- assertEquals(compositeTemplate01,
- ToscaServiceTemplateUtils.addFragment(new JpaToscaServiceTemplate(), compositeTemplate01));
+ checkFragments(compositeTemplate01, fragmentTemplate01);
JpaToscaServiceTemplate compositeTemplate02 =
ToscaServiceTemplateUtils.addFragment(compositeTemplate00, fragmentTemplate01);
- assertEquals(compositeTemplate02,
- ToscaServiceTemplateUtils.addFragment(compositeTemplate02, fragmentTemplate01));
- assertEquals(compositeTemplate02,
- ToscaServiceTemplateUtils.addFragment(compositeTemplate02, new JpaToscaServiceTemplate()));
- assertEquals(compositeTemplate02,
- ToscaServiceTemplateUtils.addFragment(new JpaToscaServiceTemplate(), compositeTemplate02));
+ checkFragments(compositeTemplate02, fragmentTemplate01);
JpaToscaDataType otherDt0 = new JpaToscaDataType();
otherDt0.setKey(new PfConceptKey("dt0", "0.0.1"));
final JpaToscaServiceTemplate compositeTestTemplate = new JpaToscaServiceTemplate(compositeTemplate00);
assertThatThrownBy(() -> {
ToscaServiceTemplateUtils.addFragment(compositeTestTemplate, fragmentTemplate03);
- }).hasMessageContaining("entity in incoming fragment does not equal existing entity");
+ }).hasMessageContaining("incoming fragment").hasMessageContaining("entity").hasMessageContaining("dt0:0.0.1")
+ .hasMessageContaining("does not equal existing entity");
JpaToscaServiceTemplate fragmentTemplate04 = new JpaToscaServiceTemplate();
fragmentTemplate04.setDescription("Another service template");
assertThatThrownBy(() -> {
ToscaServiceTemplateUtils.addFragment(compositeTestTemplate, fragmentTemplate04);
- }).hasMessageContaining("service template in incoming fragment does not equal existing service template");
+ }).hasMessageContaining("service template").hasMessageContaining("does not equal existing service template");
JpaToscaServiceTemplate fragmentTemplate05 = new JpaToscaServiceTemplate();
fragmentTemplate05.setTopologyTemplate(new JpaToscaTopologyTemplate());
fragmentTemplate07.getTopologyTemplate().setDescription("topology template other description");
assertThatThrownBy(() -> {
ToscaServiceTemplateUtils.addFragment(compositeTemplate04, fragmentTemplate07);
- }).hasMessageContaining("topology template in incoming fragment does not equal existing topology template");
+ }).hasMessageContaining("incoming fragment").hasMessageContaining("topology template")
+ .hasMessageContaining("does not equal existing topology template");
JpaToscaDataType dt1 = new JpaToscaDataType();
dt1.setKey(new PfConceptKey("dt1", "0.0.1"));
assertThatThrownBy(() -> {
ToscaServiceTemplateUtils.addFragment(compositeTemplate04, fragmentTemplate08);
- }).hasMessageContaining("JpaToscaPolicy:INVALID:type is null or a null key");
+ }).hasMessageContaining("type").hasMessageContaining(Validated.IS_A_NULL_KEY);
p0.setType(pt0.getKey());
assertEquals(dt1, dtIterator.next());
assertEquals(pt0, compositeTemplate05.getPolicyTypes().getAll(null).iterator().next());
assertEquals(p0, compositeTemplate05.getTopologyTemplate().getPolicies().getAll(null).iterator().next());
+
+ JpaToscaServiceTemplate fragmentTemplate09 = new JpaToscaServiceTemplate();
+
+ fragmentTemplate09.setDataTypes(new JpaToscaDataTypes());
+ fragmentTemplate09.getDataTypes().getConceptMap().put(dt1.getKey(), dt1);
+
+ fragmentTemplate09.setPolicyTypes(new JpaToscaPolicyTypes());
+ fragmentTemplate09.getPolicyTypes().getConceptMap().put(pt0.getKey(), pt0);
+
+ fragmentTemplate09.setTopologyTemplate(null);
+
+ JpaToscaServiceTemplate compositeTemplate06 =
+ ToscaServiceTemplateUtils.addFragment(compositeTemplate05, fragmentTemplate09);
+ assertEquals(compositeTemplate05.getTopologyTemplate(), compositeTemplate06.getTopologyTemplate());
+ }
+
+ private void checkFragments(JpaToscaServiceTemplate compositeTemplate, JpaToscaServiceTemplate fragmentTemplate) {
+ assertEquals(compositeTemplate,
+ ToscaServiceTemplateUtils.addFragment(compositeTemplate, fragmentTemplate));
+ assertEquals(compositeTemplate,
+ ToscaServiceTemplateUtils.addFragment(compositeTemplate, new JpaToscaServiceTemplate()));
+ assertEquals(compositeTemplate,
+ ToscaServiceTemplateUtils.addFragment(new JpaToscaServiceTemplate(), compositeTemplate));
}
}