@Test public void testConvertCompositeTemplateToDockerCompose() throws IOException { DockerCompose expectedCompose = deserializeDockerCompose( getContent("docker.wordpress.1.yaml")); String expectedComposeYaml = serializeDockerCompose(expectedCompose); CompositeTemplate template = deserializeCompositeTemplate( getContent("composite.wordpress.yaml")); DockerCompose compose = fromCompositeTemplateToDockerCompose(template); String composeYaml = serializeDockerCompose(compose); assertEqualsYamls(expectedComposeYaml, composeYaml); }
private void serializeAndComplete(CompositeTemplate template, boolean returnDocker, boolean returnInline, Operation op) { try { String content; if (returnDocker) { DockerCompose compose = fromCompositeTemplateToDockerCompose(template); content = serializeDockerCompose(compose); } else { content = serializeCompositeTemplate(template); } op.setBody(content); op.setContentType(MEDIA_TYPE_APPLICATION_YAML); String contentDisposition = (returnInline ? CONTENT_DISPOSITION_INLINE : CONTENT_DISPOSITION_ATTACHMENT) + CONTENT_DISPOSITION_FILENAME; op.addResponseHeader(CONTENT_DISPOSITION_HEADER, contentDisposition); op.complete(); } catch (Exception e) { op.fail(e); } }
@Test public void testConvertCompositeTemplateToDockerComposeWithVolume() throws IOException { // To Docker Compose with simple volume entities DockerCompose expectedCompose = deserializeDockerCompose( getContent("docker.simple.volume.yaml")); String expectedComposeYaml = serializeDockerCompose(expectedCompose); CompositeTemplate template = deserializeCompositeTemplate( getContent("composite.simple.volume.yaml")); DockerCompose compose = fromCompositeTemplateToDockerCompose(template); String composeYaml = serializeDockerCompose(compose); assertEqualsYamls(expectedComposeYaml, composeYaml); // To Docker Compose with complex network entities expectedCompose = deserializeDockerCompose( getContent("docker.complex.volume.yaml")); expectedComposeYaml = serializeDockerCompose(expectedCompose); CompositeTemplate template2 = deserializeCompositeTemplate( getContent("composite.complex.volume.yaml")); DockerCompose compose2 = fromCompositeTemplateToDockerCompose(template2); String compose2Yaml = serializeDockerCompose(compose2); assertEqualsYamls(expectedComposeYaml, compose2Yaml); }
@Test public void testWrongSerializationExceptions() throws IOException { try { serializeCompositeTemplate(null); fail("wrong content!"); } catch (LocalizableValidationException e) { assertTrue(e.getMessage().contains("is required")); } try { serializeDockerCompose(null); fail("wrong content!"); } catch (LocalizableValidationException e) { assertTrue(e.getMessage().contains("is required")); } }
@Test public void testConvertCompositeTemplateToDockerComposeWithNetwork() throws IOException { // To Docker Compose with simple network entities DockerCompose expectedCompose = deserializeDockerCompose( getContent("docker.simple.network.yaml")); String expectedComposeYaml = serializeDockerCompose(expectedCompose); CompositeTemplate template = deserializeCompositeTemplate( getContent("composite.simple.network.yaml")); DockerCompose compose = fromCompositeTemplateToDockerCompose(template); String composeYaml = serializeDockerCompose(compose); assertEqualsYamls(toUnixLineEnding(expectedComposeYaml), toUnixLineEnding(getContent("docker.simple.network.yaml"))); assertEqualsYamls(toUnixLineEnding(composeYaml), toUnixLineEnding(getContent("docker.simple.network.expected.yaml"))); // To Docker Compose with complex network entities expectedCompose = deserializeDockerCompose( getContent("docker.complex.network.yaml")); expectedComposeYaml = serializeDockerCompose(expectedCompose); CompositeTemplate template2 = deserializeCompositeTemplate( getContent("composite.complex.network.yaml")); DockerCompose compose2 = fromCompositeTemplateToDockerCompose(template2); String compose2Yaml = serializeDockerCompose(compose2); assertEqualsYamls(expectedComposeYaml, compose2Yaml); }
@Test public void testDeserializeSerializeComplexCompositeTemplateWithNetwork() throws IOException { String expectedContent = getContent("composite.complex.network.yaml"); CompositeTemplate template = deserializeCompositeTemplate(expectedContent); assertNull(template.id); assertNull(template.status); assertComponentTypes(template.components); assertContainersComponents(ResourceType.CONTAINER_TYPE.getContentType(), 3, template.components); assertContainersComponents(ResourceType.NETWORK_TYPE.getContentType(), 3, template.components); String content = serializeCompositeTemplate(template); expectedContent = expectedContent.replace("h5-name", "h5"); assertEqualsYamls(toUnixLineEnding(getContent("composite.complex.network.expected.yaml")), toUnixLineEnding(content), true); DockerCompose compose = fromCompositeTemplateToDockerCompose(template); String contentCompose = serializeDockerCompose(compose); assertTrue((contentCompose != null) && (!contentCompose.isEmpty())); }
@Test public void testDeserializeSerializeComplexCompositeTemplate() throws IOException { String expectedContent = getContent("composite.complex.yaml"); CompositeTemplate template = deserializeCompositeTemplate(expectedContent); assertNull(template.id); assertNull(template.status); assertComponentTypes(template.components); assertContainersComponents(ResourceType.CONTAINER_TYPE.getContentType(), 5, template.components); assertContainersComponents(ResourceType.NETWORK_TYPE.getContentType(), 0, template.components); assertContainersComponents(ResourceType.VOLUME_TYPE.getContentType(), 0, template.components); String content = serializeCompositeTemplate(template); expectedContent = expectedContent.replace("h5-name", "h5"); assertEqualsYamls(toUnixLineEnding(expectedContent), toUnixLineEnding(content), true); DockerCompose compose = fromCompositeTemplateToDockerCompose(template); String contentCompose = serializeDockerCompose(compose); assertTrue((contentCompose != null) && (!contentCompose.isEmpty())); }
@Test public void testDeserializeSerializeComplexDockerCompose() throws IOException { String expectedContent = getContent("docker.complex.yaml"); DockerCompose compose = deserializeDockerCompose(expectedContent); String content = serializeDockerCompose(compose); assertEqualsYamls(toUnixLineEnding(expectedContent), toUnixLineEnding(content)); CompositeTemplate template = fromDockerComposeToCompositeTemplate(compose); assertNull(template.id); assertNull(template.status); assertComponentTypes(template.components); assertContainersComponents(ResourceType.CONTAINER_TYPE.getContentType(), 4, template.components); assertContainersComponents(ResourceType.NETWORK_TYPE.getContentType(), 0, template.components); assertContainersComponents(ResourceType.VOLUME_TYPE.getContentType(), 0, template.components); String contentTemplate = serializeCompositeTemplate(template); assertTrue((contentTemplate != null) && (!contentTemplate.isEmpty())); }
@Test public void testDeserializeSerializeComplexCompositeTemplateWithVolume() throws IOException { String expectedContent = getContent("composite.complex.volume.yaml"); CompositeTemplate template = deserializeCompositeTemplate(expectedContent); assertNull(template.id); assertNull(template.status); assertComponentTypes(template.components); assertContainersComponents(ResourceType.CONTAINER_TYPE.getContentType(), 3, template.components); assertContainersComponents(ResourceType.NETWORK_TYPE.getContentType(), 0, template.components); assertContainersComponents(ResourceType.VOLUME_TYPE.getContentType(), 3, template.components); String content = serializeCompositeTemplate(template); assertEqualsYamls(toUnixLineEnding(expectedContent), toUnixLineEnding(content), true); DockerCompose compose = fromCompositeTemplateToDockerCompose(template); String contentCompose = serializeDockerCompose(compose); assertTrue((contentCompose != null) && (!contentCompose.isEmpty())); }
@Test public void testDeserializeSerializeComplexDockerComposeWithNetwork() throws IOException { String expectedContent = getContent("docker.complex.network.yaml"); DockerCompose compose = deserializeDockerCompose(expectedContent); String content = serializeDockerCompose(compose); assertEqualsYamls(toUnixLineEnding(expectedContent), toUnixLineEnding(content)); CompositeTemplate template = fromDockerComposeToCompositeTemplate(compose); assertNull(template.id); assertNull(template.status); assertComponentTypes(template.components); assertContainersComponents(ResourceType.CONTAINER_TYPE.getContentType(), 3, template.components); assertContainersComponents(ResourceType.NETWORK_TYPE.getContentType(), 3, template.components); assertContainersComponents(ResourceType.VOLUME_TYPE.getContentType(), 0, template.components); String contentTemplate = serializeCompositeTemplate(template); assertTrue((contentTemplate != null) && (!contentTemplate.isEmpty())); }
@Test public void testDeserializeSerializeSimpleDockerComposeWithNetwork() throws IOException { String expectedContent = getContent("docker.simple.network.yaml"); DockerCompose compose = deserializeDockerCompose(expectedContent); String content = serializeDockerCompose(compose); assertEquals(toUnixLineEnding(expectedContent), toUnixLineEnding(content)); CompositeTemplate template = fromDockerComposeToCompositeTemplate(compose); assertNull(template.id); assertNull(template.status); assertComponentTypes(template.components); assertContainersComponents(ResourceType.CONTAINER_TYPE.getContentType(), 3, template.components); assertContainersComponents(ResourceType.NETWORK_TYPE.getContentType(), 2, template.components); assertContainersComponents(ResourceType.VOLUME_TYPE.getContentType(), 0, template.components); String contentTemplate = serializeCompositeTemplate(template); assertTrue((contentTemplate != null) && (!contentTemplate.isEmpty())); }
@Test public void testDeserializeSerializeSimpleDockerComposeWithVolume() throws IOException { String expectedContent = getContent("docker.simple.volume.yaml"); DockerCompose compose = deserializeDockerCompose(expectedContent); String content = serializeDockerCompose(compose); assertEqualsYamls(toUnixLineEnding(expectedContent), toUnixLineEnding(content)); CompositeTemplate template = fromDockerComposeToCompositeTemplate(compose); assertNull(template.id); assertNull(template.status); assertComponentTypes(template.components); assertContainersComponents(ResourceType.CONTAINER_TYPE.getContentType(), 2, template.components); assertContainersComponents(ResourceType.NETWORK_TYPE.getContentType(), 0, template.components); assertContainersComponents(ResourceType.VOLUME_TYPE.getContentType(), 2, template.components); String contentTemplate = serializeCompositeTemplate(template); assertTrue((contentTemplate != null) && (!contentTemplate.isEmpty())); }
@Test public void testDeserializeSerializeComplexDockerComposeWithVolume() throws IOException { String expectedContent = getContent("docker.complex.volume.yaml"); DockerCompose compose = deserializeDockerCompose(expectedContent); String content = serializeDockerCompose(compose); assertEqualsYamls(toUnixLineEnding(expectedContent), toUnixLineEnding(content)); CompositeTemplate template = fromDockerComposeToCompositeTemplate(compose); assertNull(template.id); assertNull(template.status); assertComponentTypes(template.components); assertContainersComponents(ResourceType.CONTAINER_TYPE.getContentType(), 3, template.components); assertContainersComponents(ResourceType.NETWORK_TYPE.getContentType(), 0, template.components); assertContainersComponents(ResourceType.VOLUME_TYPE.getContentType(), 3, template.components); String contentTemplate = serializeCompositeTemplate(template); assertTrue((contentTemplate != null) && (!contentTemplate.isEmpty())); }