/*-
* ============LICENSE_START=======================================================
- * Copyright (C) 2019-2021 Nordix Foundation.
+ * Copyright (C) 2019-2022 Nordix Foundation.
* Modifications Copyright (C) 2019, 2021 AT&T Intellectual Property. All rights reserved.
* Modifications Copyright (C) 2020 Bell Canada. All rights reserved.
* ================================================================================
import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifierOptVersion;
import org.onap.policy.models.tosca.authorative.concepts.ToscaEntityFilter;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaNodeTemplate;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaNodeType;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType;
import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaTopologyTemplate;
import org.onap.policy.models.tosca.authorative.concepts.ToscaTypedEntityFilter;
/**
databaseProvider.close();
}
+ @Test
+ public void testToscaNodeTemplateHandling() throws PfModelException {
+ databaseProvider = new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
+
+ ToscaServiceTemplate serviceTemplate = makeNodeTemplate();
+
+ assertEquals("1.0.1",
+ databaseProvider.createToscaNodeTemplates(serviceTemplate).getToscaTopologyTemplate().getNodeTemplates()
+ .get("metadataSet1").getVersion());
+ assertEquals(1, databaseProvider.getNodeTemplateMetadataSets(null, null).size());
+
+ ToscaNodeTemplate nodeTemplate1 = serviceTemplate.getToscaTopologyTemplate().getNodeTemplates()
+ .get("metadataSet1");
+ nodeTemplate1.setMetadata(Map.of("dummyKey", "updatedValue"));
+ serviceTemplate.getToscaTopologyTemplate().setNodeTemplates(Map.of("metadataSet1:1.0.1", nodeTemplate1));
+ assertEquals("updatedValue", databaseProvider.updateToscaNodeTemplates(serviceTemplate)
+ .getToscaTopologyTemplate().getNodeTemplates().get("metadataSet1").getMetadata().get("dummyKey"));
+
+ assertThatThrownBy(() -> {
+ databaseProvider.deleteToscaNodeTemplate("invalidName", "1.0.1");
+ }).hasMessage("node template invalidName:1.0.1 not found");
+
+ databaseProvider.close();
+ }
+
private List<PdpStatistics> makePdpStatisticsList() {
PdpStatistics pdpStatistics = new PdpStatistics();
pdpStatistics.setPdpInstanceId(NAME);
List<PdpStatistics> statisticsArrayList = List.of(pdpStatistics);
return statisticsArrayList;
}
+
+ private ToscaServiceTemplate makeNodeTemplate() {
+ ToscaServiceTemplate serviceTemplate = new ToscaServiceTemplate();
+ serviceTemplate.setToscaDefinitionsVersion("sample:1.1.0");
+ serviceTemplate.setToscaTopologyTemplate(new ToscaTopologyTemplate());
+ serviceTemplate.setNodeTypes(Map.of("org.onap.policy.metadataSet:1.0.0", new ToscaNodeType()));
+ ToscaNodeTemplate nodeTemplate1 = new ToscaNodeTemplate();
+ nodeTemplate1.setName("metadataSet1");
+ nodeTemplate1.setVersion("1.0.1");
+ nodeTemplate1.setType("org.onap.policy.metadataSet");
+ nodeTemplate1.setTypeVersion("1.0.0");
+ nodeTemplate1.setMetadata(Map.of("dummyKey", "dummyValue"));
+
+ serviceTemplate.getToscaTopologyTemplate().setNodeTemplates(Map.of("metadataSet1", nodeTemplate1));
+
+ return serviceTemplate;
+ }
}