use of org.eclipse.winery.model.ids.definitions.ServiceTemplateId in project winery by eclipse.
the class DASpecificationTest method getNodesWithSuitableConcreteDAAndTheDirectlyConnectedNode.
@Test
public void getNodesWithSuitableConcreteDAAndTheDirectlyConnectedNode() throws Exception {
setRevisionTo("5f63267261584a513dd8a9b7960687cc3dda910a");
ServiceTemplateId id = new ServiceTemplateId("http://winery.opentosca.org/test/servicetemplates/ponyuniverse/daspecifier", "DASpecificationTest", false);
TTopologyTemplate topologyTemplate = this.repository.getElement(id).getTopologyTemplate();
assertNotNull(topologyTemplate);
TNodeTemplate nodeTemplateWithAbstractDA = topologyTemplate.getNodeTemplate("shetland_pony");
assertNotNull(nodeTemplateWithAbstractDA);
assertNotNull(nodeTemplateWithAbstractDA.getDeploymentArtifacts());
TDeploymentArtifact deploymentArtifact = nodeTemplateWithAbstractDA.getDeploymentArtifacts().get(0);
TNodeTemplate nodeTemplateConcreteDA1 = topologyTemplate.getNodeTemplate("dressageequipment");
TRelationshipTemplate relationshipTemplate1 = topologyTemplate.getRelationshipTemplate("con_42");
TNodeTemplate nodeTemplateConcreteDA2 = topologyTemplate.getNodeTemplate("westernequipment");
TRelationshipTemplate relationshipTemplate2 = topologyTemplate.getRelationshipTemplate("con_54");
Set<Pair<TRelationshipTemplate, TNodeTemplate>> concreteDAsAndConnectedNodes = new HashSet<>();
concreteDAsAndConnectedNodes.add(Pair.of(relationshipTemplate1, nodeTemplateConcreteDA1));
concreteDAsAndConnectedNodes.add(Pair.of(relationshipTemplate2, nodeTemplateConcreteDA2));
Set<Pair<TRelationshipTemplate, TNodeTemplate>> actualNodeWithConcreteDA = DASpecification.getNodesWithSuitableConcreteDAAndTheDirectlyConnectedNode(nodeTemplateWithAbstractDA, deploymentArtifact, topologyTemplate);
assertEquals(concreteDAsAndConnectedNodes, actualNodeWithConcreteDA);
}
use of org.eclipse.winery.model.ids.definitions.ServiceTemplateId in project winery by eclipse.
the class DASpecificationTest method getNodesWithSuitableConcreteDAs.
@Test
public void getNodesWithSuitableConcreteDAs() throws Exception {
setRevisionTo("5f63267261584a513dd8a9b7960687cc3dda910a");
ServiceTemplateId id = new ServiceTemplateId("http://winery.opentosca.org/test/servicetemplates/ponyuniverse/daspecifier", "DASpecificationTest", false);
TTopologyTemplate topologyTemplate = this.repository.getElement(id).getTopologyTemplate();
assertNotNull(topologyTemplate);
TNodeTemplate nodeTemplate = topologyTemplate.getNodeTemplate("ponycompetition");
TNodeTemplate nodeTemplateWithAbstractDA = topologyTemplate.getNodeTemplate("shetland_pony");
assertNotNull(nodeTemplateWithAbstractDA);
assertNotNull(nodeTemplateWithAbstractDA.getDeploymentArtifacts());
TDeploymentArtifact deploymentArtifact = nodeTemplateWithAbstractDA.getDeploymentArtifacts().get(0);
TNodeTemplate expectedNodeTemplate = topologyTemplate.getNodeTemplate("dressageequipment");
TNodeTemplate actualNodeWithConcreteDA = DASpecification.getNodesWithSuitableConcreteDAs(nodeTemplate, deploymentArtifact, topologyTemplate);
assertEquals(expectedNodeTemplate, actualNodeWithConcreteDA);
}
use of org.eclipse.winery.model.ids.definitions.ServiceTemplateId in project winery by eclipse.
the class DASpecificationTest method getArtifactTypeHierarchy.
@Test
public void getArtifactTypeHierarchy() throws Exception {
setRevisionTo("af529e513388dc9358a8f700757d8dc59aba3a55");
ServiceTemplateId id = new ServiceTemplateId("http://winery.opentosca.org/test/servicetemplates/ponyuniverse/daspecifier", "DASpecificationTest", false);
TTopologyTemplate topologyTemplate = this.repository.getElement(id).getTopologyTemplate();
assertNotNull(topologyTemplate);
TNodeTemplate nodeTemplate = topologyTemplate.getNodeTemplate("westernequipment");
assertNotNull(nodeTemplate);
assertNotNull(nodeTemplate.getDeploymentArtifacts());
List<TArtifactType> artifactTypes = DASpecification.getArtifactTypeHierarchy(DASpecification.getArtifactTypeOfDA(nodeTemplate.getDeploymentArtifacts().get(0)));
List<String> artifactTypeNames = new ArrayList<>();
artifactTypes.forEach(at -> artifactTypeNames.add(at.getName()));
assertEquals(2, artifactTypes.size());
assertTrue(artifactTypeNames.contains("WesternEquipment_Pony"));
assertTrue(artifactTypeNames.contains("PonyEquipment"));
}
use of org.eclipse.winery.model.ids.definitions.ServiceTemplateId in project winery by eclipse.
the class DASpecificationTest method getNodeTemplatesWithAbstractDAs.
@Test
public void getNodeTemplatesWithAbstractDAs() throws Exception {
setRevisionTo("af529e513388dc9358a8f700757d8dc59aba3a55");
ServiceTemplateId id = new ServiceTemplateId("http://winery.opentosca.org/test/servicetemplates/ponyuniverse/daspecifier", "DASpecificationTest", false);
TTopologyTemplate topologyTemplate = this.repository.getElement(id).getTopologyTemplate();
assertNotNull(topologyTemplate);
List<TNodeTemplate> nodeTemplateWithAbstractDA = new ArrayList<>();
nodeTemplateWithAbstractDA.add(topologyTemplate.getNodeTemplate("shetland_pony"));
List<TNodeTemplate> nodesWithAbstractDA = DASpecification.getNodeTemplatesWithAbstractDAs(topologyTemplate);
assertEquals(nodeTemplateWithAbstractDA, nodesWithAbstractDA);
}
use of org.eclipse.winery.model.ids.definitions.ServiceTemplateId in project winery by eclipse.
the class CsarExporterTest method testHashesForEachFile.
@Test
public void testHashesForEachFile() throws Exception {
Map<String, Object> exportConfiguration = new HashMap<>();
exportConfiguration.put(INCLUDE_HASHES.name(), null);
try (InputStream inputStream = this.createOutputAndInputStream(// quick fix - should work if eclipse/winery#305 is merged
"7c8d8c7057403a07fde90dec1f44f0190ae65ae2", new ServiceTemplateId("http://plain.winery.opentosca.org/servicetemplates", "ServiceTemplateWithAllReqCapVariants", false), exportConfiguration);
ZipInputStream zis = new ZipInputStream(inputStream)) {
ZipEntry entry;
List<CsarContentProperties> elementsList = new ArrayList<>();
ManifestContents manifestContents = null;
while ((entry = zis.getNextEntry()) != null) {
CsarContentProperties fileProperties = new CsarContentProperties(entry.getName());
elementsList.add(fileProperties);
byte[] array = IOUtils.toByteArray(zis);
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(array);
fileProperties.setFileHash(HashingUtil.getChecksum(byteArrayInputStream, TOSCAMetaFileAttributes.HASH));
if ("TOSCA-Metadata/TOSCA.meta".equals(fileProperties.getPathInsideCsar())) {
String s = new String(array, StandardCharsets.UTF_8);
manifestContents = new RecoveringManifestParser().parse(s);
}
}
assertNotNull(manifestContents);
for (CsarContentProperties fileProperties : elementsList) {
Map<String, String> attributes = manifestContents.getAttributesForSection(fileProperties.getPathInsideCsar());
if (!"TOSCA-Metadata/TOSCA.meta".equals(fileProperties.getPathInsideCsar())) {
// ensure each file has a hash
assertTrue(attributes.containsKey(TOSCAMetaFileAttributes.HASH));
// ensure that the hashes match
assertEquals(fileProperties.getFileHash(), attributes.get(TOSCAMetaFileAttributes.HASH));
}
}
// ensures that every file in the archive has a hash in the manifest
assertEquals(elementsList.size() - 1, manifestContents.getSectionNames().size());
}
}
Aggregations