@Test public void testConvertSmallDockerCompose() throws IOException { // YAML with 'command' as string DockerCompose compose1 = deserializeDockerCompose(getContent("docker.django.yaml")); CompositeTemplate template1 = fromDockerComposeToCompositeTemplate(compose1); String template1Yaml = serializeCompositeTemplate(template1); assertTrue((template1Yaml != null) && (!template1Yaml.isEmpty())); // YAML with 'command' as list DockerCompose compose2 = deserializeDockerCompose(getContent("docker.rails.yaml")); CompositeTemplate template2 = fromDockerComposeToCompositeTemplate(compose2); String template2Yaml = serializeCompositeTemplate(template2); assertTrue((template2Yaml != null) && (!template2Yaml.isEmpty())); }
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 testSeriaizeDeserializeCompositeTemplateWithHealthCheck() throws IOException { // Assert that healthConfig.ignoreOnProvision is serialized when false String expectedContent = getContent("composite.simple.health.yaml"); CompositeTemplate template = deserializeCompositeTemplate(expectedContent); ContainerDescription data = (ContainerDescription) template.components.get("hello").data; assertNotNull(data.healthConfig); assertEquals(false, data.healthConfig.ignoreOnProvision); // Assert that healthConfig.ignoreOnProvision is serialized when true data.healthConfig.ignoreOnProvision = true; String content = serializeCompositeTemplate(template); template = deserializeCompositeTemplate(content); data = (ContainerDescription) template.components.get("hello").data; assertNotNull(data.healthConfig); assertEquals(true, data.healthConfig.ignoreOnProvision); // Assert that healthConfig.ignoreOnProvision is not serialized when null data.healthConfig = null; content = serializeCompositeTemplate(template); assertFalse(content.contains("health_config")); }
String expectedContentSerialized = serializeCompositeTemplate(compositeTemplate);
@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 testSerializeDeserializeEmptyTemplate() throws IOException { CompositeTemplate template = new CompositeTemplate(); template.name = "empty"; String templateSerialized = serializeCompositeTemplate(template); assertNotNull(templateSerialized); assertTrue(templateSerialized.contains("empty")); CompositeTemplate templateDeserialized = deserializeCompositeTemplate(templateSerialized); assertNotNull(templateDeserialized); assertEquals(template.name, templateDeserialized.name); assertTrue(isNullOrEmpty(template.components)); assertTrue(isNullOrEmpty(templateDeserialized.components)); }
@Test public void testDeserializeSerializeSimpleCompositeTemplate() throws IOException { String expectedContent = getContent("composite.simple.yaml"); CompositeTemplate template = deserializeCompositeTemplate(expectedContent); assertNull(template.id); assertNull(template.status); assertComponentTypes(template.components); assertContainersComponents(ResourceType.CONTAINER_TYPE.getContentType(), 1, template.components); assertContainersComponents(ResourceType.NETWORK_TYPE.getContentType(), 0, template.components); assertContainersComponents(ResourceType.VOLUME_TYPE.getContentType(), 0, template.components); template.id = "new-id"; template.status = Status.RETIRED; ContainerDescription helloData = (ContainerDescription) template.components .get("hello").data; helloData.healthConfig = new HealthConfig(); helloData.logConfig = new LogConfig(); String content = serializeCompositeTemplate(template); assertNotNull(content); assertFalse(content.contains("new-id")); assertFalse(content.contains(Status.RETIRED.toString())); assertFalse(content.contains("health_config")); assertFalse(content.contains("log_config")); }
getContent("composite.simple.volume.yaml")); String expectedTemplateYaml = serializeCompositeTemplate(expectedTemplate); template1.components); String template1Yaml = serializeCompositeTemplate(template1); getContent("composite.complex.volume.yaml")); expectedTemplateYaml = serializeCompositeTemplate(expectedTemplate); template2.components); String template2Yaml = serializeCompositeTemplate(template2);
@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())); }
getContent("composite.wordpress.yaml")); String expectedTemplateYaml = serializeCompositeTemplate(expectedTemplate); template1.components); String template1Yaml = serializeCompositeTemplate(template1); template1.components); String template2Yaml = serializeCompositeTemplate(template2);
getContent("composite.simple.network.yaml")); String expectedTemplateYaml = serializeCompositeTemplate(expectedTemplate); template1.components); String template1Yaml = serializeCompositeTemplate(template1); getContent("composite.complex.network.yaml")); expectedTemplateYaml = serializeCompositeTemplate(expectedTemplate); template2.components); String template2Yaml = serializeCompositeTemplate(template2);
@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 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 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())); }