public CompositeDescriptionContentServiceWithNetworksAndVolumesTest(String filename, boolean hasNetwork, boolean hasVolume) { this.yaml = getContent(filename); this.hasNetwork = hasNetwork; this.hasVolume = hasVolume; }
@Before public void setUp() throws Throwable { waitForServiceAvailability(CompositeDescriptionContentService.SELF_LINK); waitForServiceAvailability(CompositeDescriptionService.FACTORY_LINK); }
Operation export = createExportOperation(location, exportAsDocker); Operation get = createGetDescriptionOperation(location); if (exportAsDocker) { validateDockerYaml(content, hasNetwork, hasVolume); } else { validateCompositeYaml(content, hasNetwork, hasVolume); CompositeDescription description = op2 .getBody(CompositeDescription.class); validateCompositeDescription(description, hasNetwork, hasVolume); } catch (Throwable t) { host.failIteration(t);
@Test public void testImportYamlAndExportAsCompositeTemplate() throws Throwable { this.host.testStart(1); this.host.send(validateImportExportOperation(yaml, hasNetwork, hasVolume, false)); this.host.testWait(); }
private static void validateDockerYaml(String yaml, boolean hasNetwork, boolean hasVolume) { assertNotNull(yaml); assertTrue(yaml.contains("\nversion:")); assertTrue(yaml.contains("\nservices:")); assertFalse(yaml.contains("\nname:")); assertFalse(yaml.contains("\ncomponents:")); assertEquals(hasNetwork, yaml.contains("\nnetworks:")); assertEquals(hasVolume, yaml.contains("\nvolumes:")); validateContent(yaml, hasNetwork, hasVolume); }
@Test public void testImportYamlAndExportAsDockerCompose() throws Throwable { this.host.testStart(1); this.host.send(validateImportExportOperation(yaml, hasNetwork, hasVolume, true)); this.host.testWait(); }
private static void validateCompositeYaml(String yaml, boolean hasNetwork, boolean hasVolume) { assertNotNull(yaml); assertTrue(yaml.contains("\nname:")); assertTrue(yaml.contains("\ncomponents:")); assertFalse(yaml.contains("\nversion:")); assertFalse(yaml.contains("\nservices:")); assertFalse(yaml.contains("\nnetworks:")); assertFalse(yaml.contains("\nvolumes:")); assertTrue(yaml.contains("type: \"App.Container\"")); assertEquals(hasNetwork, yaml.contains("type: \"App.Network\"")); assertEquals(hasVolume, yaml.contains("type: \"App.Volume\"")); validateContent(yaml, hasNetwork, hasVolume); }