@Override public String[] getVolumes() { return Optional.ofNullable(configuration.getVolumes()) .map(volumes -> volumes.stream().toArray(String[]::new)) .orElse(null); }
if (containerConfiguration.getVolumes() != null) { createContainerCmd.withVolumes(toVolumes(containerConfiguration.getVolumes()));
public ContainerBuilder addVolumes(Collection<String> volumes) { if (configuration.getVolumes() != null) { Collection<String> oldVolumes = configuration.getVolumes(); oldVolumes.addAll(volumes); } else { configuration.setVolumes(new HashSet<>(volumes)); } return this; }
if (containerConfiguration.getVolumes() != null) { createContainerCmd.withVolumes(toVolumes(containerConfiguration.getVolumes()));
public ContainerBuilder addVolumes(Collection<String> volumes) { if (configuration.getVolumes() != null) { Collection<String> oldVolumes = configuration.getVolumes(); oldVolumes.addAll(volumes); } else { configuration.setVolumes(new HashSet<>(volumes)); } return this; }
@Override public String[] getVolumes() { return Optional.ofNullable(configuration.getVolumes()) .map(volumes -> volumes.stream().toArray(String[]::new)) .orElse(null); }
@Test public void should_load_volumes_from_docker_compose_version_2() { Map<String, String> parameters = new HashMap<String, String>(); parameters.put("serverVersion", "1.13"); parameters.put("serverUri", "http://localhost:25123"); parameters.put("dockerContainers", VERSION_2_WITH_VOLUMES); parameters.put("definitionFormat", DefinitionFormat.COMPOSE.name()); CubeDockerConfiguration cubeConfiguration = CubeDockerConfiguration.fromMap(parameters, null); final DockerCompositions dockerContainersContent = cubeConfiguration.getDockerContainersContent(); final CubeContainer ngnix = dockerContainersContent.get("nginx"); final Collection<String> volumes = ngnix.getVolumes(); final String volume = volumes.iterator().next(); assertThat(volume, is("/tmp/www:/usr/share/nginx/html")); final Collection<String> binds = ngnix.getBinds(); final String bind = volumes.iterator().next(); assertThat(bind, is("/tmp/www:/usr/share/nginx/html")); }
@Test public void should_load_docker_compose_format() { Map<String, String> parameters = new HashMap<String, String>(); parameters.put("serverVersion", "1.13"); parameters.put("serverUri", "http://localhost:25123"); parameters.put("dockerContainers", DOCKER_COMPOSE_CONTENT); parameters.put("definitionFormat", DefinitionFormat.COMPOSE.name()); CubeDockerConfiguration cubeConfiguration = CubeDockerConfiguration.fromMap(parameters, null); final DockerCompositions dockerContainersContent = cubeConfiguration.getDockerContainersContent(); CubeContainer actualWeb = dockerContainersContent.get("web"); assertThat(actualWeb.getBuildImage(), is(notNullValue())); assertThat(actualWeb.getPortBindings(), is(notNullValue())); assertThat(actualWeb.getVolumes(), is(notNullValue())); assertThat(actualWeb.getLinks(), is(notNullValue())); CubeContainer actualRedis = dockerContainersContent.get("redis"); assertThat(actualRedis.getImage(), is(notNullValue())); }
if (configuration.getVolumes() != null) { reportBuilder.addKeyValueEntry(VOLUMES, configuration.getVolumes().toString());
if (configuration.getVolumes() != null) { reportBuilder.addKeyValueEntry(VOLUMES, configuration.getVolumes().toString());
@Test public void shouldTransformSimpleDockerComposeFormat() throws URISyntaxException, IOException { URI simpleDockerCompose = DockerComposeConverterTest.class.getResource("/simple-docker-compose.yml").toURI(); DockerComposeConverter dockerComposeConverter = DockerComposeConverter.create(Paths.get(simpleDockerCompose)); DockerCompositions convert = dockerComposeConverter.convert(); CubeContainer webapp = convert.get("webapp"); assertThat(webapp.getBuildImage(), is(notNullValue())); assertThat(webapp.getPortBindings(), is(notNullValue())); Collection<PortBinding> ports = webapp.getPortBindings(); assertThat(ports, containsInAnyOrder(PortBinding.valueOf("8000->8000"))); assertThat(webapp.getDevices(), is(notNullValue())); assertThat(webapp.getVolumes(), is(notNullValue())); Collection<String> volumes = (Collection<String>) webapp.getVolumes(); assertThat(volumes, containsInAnyOrder("/data")); CubeContainer webapp2 = convert.get("webapp2"); assertThat(webapp2.getImage(), is(notNullValue())); assertThat(webapp2.getPortBindings(), is(notNullValue())); assertThat(webapp2.getLinks(), is(notNullValue())); Collection<Link> links = webapp2.getLinks(); assertThat(links, containsInAnyOrder(Link.valueOf("webapp:webapp"))); assertThat(webapp2.getEnv(), is(notNullValue())); Collection<String> env = webapp2.getEnv(); assertThat(env, containsInAnyOrder("RACK_ENV=development")); }
@Test public void shouldTransformSimpleDockerComposeV2FormatWithNetworksByDefaultDriver() throws URISyntaxException, IOException { URI simpleDockerCompose = DockerComposeConverterTest.class.getResource("/simple-docker-compose-networks-v2.yml").toURI(); DockerComposeConverter dockerComposeConverter = DockerComposeConverter.create(Paths.get(simpleDockerCompose)); DockerCompositions convert = dockerComposeConverter.convert(); CubeContainer webapp = convert.getContainers().get("webapp"); assertThat(webapp.getBuildImage(), is(notNullValue())); assertThat(webapp.getPortBindings(), is(notNullValue())); Collection<PortBinding> ports = webapp.getPortBindings(); assertThat(ports, containsInAnyOrder(PortBinding.valueOf("8000->8000"))); assertThat(webapp.getDevices(), is(notNullValue())); assertThat(webapp.getVolumes(), is(notNullValue())); Collection<String> webappVolumes = (Collection<String>) webapp.getVolumes(); assertThat(webappVolumes, containsInAnyOrder("/data")); CubeContainer webapp2 = convert.getContainers().get("webapp2"); assertThat(webapp2.getImage(), is(notNullValue())); assertThat(webapp2.getPortBindings(), is(notNullValue())); assertThat(webapp2.getLinks(), is(notNullValue())); Collection<Link> links = webapp2.getLinks(); assertThat(links, containsInAnyOrder(Link.valueOf("webapp:webapp"))); assertThat(webapp2.getEnv(), is(notNullValue())); Collection<String> env = webapp2.getEnv(); assertThat(env, containsInAnyOrder("RACK_ENV=development")); Map<String, Network> networks = convert.getNetworks(); Network network = networks.get("front-tier"); assertThat(network.getDriver(), is("bridge")); Network network2 = networks.get("back-tier"); assertThat(network2.getDriver(), is("bridge")); }
@Test public void shouldTransformSimpleDockerComposeV2FormatWithNetworks() throws URISyntaxException, IOException { URI simpleDockerCompose = DockerComposeConverterTest.class.getResource("/simple-docker-compose-v2.yml").toURI(); DockerComposeConverter dockerComposeConverter = DockerComposeConverter.create(Paths.get(simpleDockerCompose)); DockerCompositions convert = dockerComposeConverter.convert(); CubeContainer webapp = convert.getContainers().get("webapp"); assertThat(webapp.getBuildImage(), is(notNullValue())); assertThat(webapp.getPortBindings(), is(notNullValue())); Collection<PortBinding> ports = webapp.getPortBindings(); assertThat(ports, containsInAnyOrder(PortBinding.valueOf("8000->8000"))); assertThat(webapp.getDevices(), is(notNullValue())); assertThat(webapp.getVolumes(), is(notNullValue())); Collection<String> webappVolumes = (Collection<String>) webapp.getVolumes(); assertThat(webappVolumes, containsInAnyOrder("/data")); CubeContainer webapp2 = convert.getContainers().get("webapp2"); assertThat(webapp2.getImage(), is(notNullValue())); assertThat(webapp2.getPortBindings(), is(notNullValue())); assertThat(webapp2.getLinks(), is(notNullValue())); Collection<Link> links = webapp2.getLinks(); assertThat(links, containsInAnyOrder(Link.valueOf("webapp:webapp"))); assertThat(webapp2.getEnv(), is(notNullValue())); Collection<String> env = webapp2.getEnv(); assertThat(env, containsInAnyOrder("RACK_ENV=development")); Map<String, Network> networks = convert.getNetworks(); Network network = networks.get("front-tier"); assertThat(network.getDriver(), is("bridge")); Network network2 = networks.get("back-tier"); assertThat(network2.getDriver(), is("bridge")); }