private static final Link[] toLinks(Collection<org.arquillian.cube.docker.impl.client.config.Link> linkList) { Link[] links = new Link[linkList.size()]; int i = 0; for (org.arquillian.cube.docker.impl.client.config.Link link : linkList) { links[i] = new Link(link.getName(), link.getAlias()); i++; } return links; }
private static final Link[] toLinks(Collection<org.arquillian.cube.docker.impl.client.config.Link> linkList) { Link[] links = new Link[linkList.size()]; int i = 0; for (org.arquillian.cube.docker.impl.client.config.Link link : linkList) { links[i] = new Link(link.getName(), link.getAlias()); i++; } return links; }
private Collection<Link> updateLinks(Proxy.Builder proxy, Collection<Link> links) { final Collection<Link> updatedLinks = new ArrayList<>(); if (links != null) { for (Link link : links) { proxy.containerLinks(link.getName(), link.getName() + "_toxiproxy"); updatedLinks.add(new Link(proxy.getName(), link.getAlias())); } updatedLinks.add(new Link(proxy.getName(), proxy.getName())); } return updatedLinks; }
private void createDirectLinks(mxGraph graph, Object parent, Map<String, Object> insertedVertex, CubeContainer cubeContainer, Object currentContainer) { // create relation to all direct links if (cubeContainer.getLinks() != null) { for (Link link : cubeContainer.getLinks()) { final String linkId = link.getName(); Object linkContainer = null; if (insertedVertex.containsKey(linkId)) { linkContainer = insertedVertex.get(linkId); } else { linkContainer = graph.insertVertex(parent, null, linkId, 0, 0, 80, 30); } graph.updateCellSize(currentContainer); graph.insertEdge(parent, null, link.getAlias(), currentContainer, linkContainer); insertedVertex.put(linkId, linkContainer); } } }
public static void adaptLinksToParallelRun(UUID uuid, CubeContainer cubeContainer) { final Collection<Link> links = cubeContainer.getLinks(); if (links == null) { return; } for (Link link : links) { if (link.getName().endsWith("*")) { String linkTemplate = link.getName().substring(0, link.getName().lastIndexOf('*')); link.setName(generateNewName(linkTemplate, uuid)); String environmentVariable = linkTemplate.toUpperCase() + "_HOSTNAME=" + link.getName(); if (link.isAliasSet()) { link.setAlias(generateNewName(link.getAlias(), uuid)); environmentVariable = linkTemplate.toUpperCase() + "_HOSTNAME=" + link.getAlias(); } final Collection<String> env = cubeContainer.getEnv(); if (env != null) { // to avoid duplicates if (env.contains(environmentVariable)) { env.remove(environmentVariable); } } else { cubeContainer.setEnv(new ArrayList<>()); } cubeContainer.getEnv().add(environmentVariable); } } }
public static void adaptLinksToParallelRun(UUID uuid, CubeContainer cubeContainer) { final Collection<Link> links = cubeContainer.getLinks(); if (links == null) { return; } for (Link link : links) { if (link.getName().endsWith("*")) { String linkTemplate = link.getName().substring(0, link.getName().lastIndexOf('*')); link.setName(generateNewName(linkTemplate, uuid)); String environmentVariable = linkTemplate.toUpperCase() + "_HOSTNAME=" + link.getName(); if (link.isAliasSet()) { link.setAlias(generateNewName(link.getAlias(), uuid)); environmentVariable = linkTemplate.toUpperCase() + "_HOSTNAME=" + link.getAlias(); } final Collection<String> env = cubeContainer.getEnv(); if (env != null) { // to avoid duplicates if (env.contains(environmentVariable)) { env.remove(environmentVariable); } } else { cubeContainer.setEnv(new ArrayList<>()); } cubeContainer.getEnv().add(environmentVariable); } } }
@Test public void shouldParallelizeStarCubesUsingRemappingAlias() { String content = "tomcat*:\n" + " image: tutum/tomcat:8.0\n" + " portBindings: [8080/tcp]\n" + " links:\n" + " - ping*:bb\n" + "ping*:\n" + " image: jonmorehouse/ping-pong\n" + " exposedPorts: [8089/tcp]\n" + "storage:\n" + " image: tutum/mongodb"; Map<String, String> parameters = new HashMap<String, String>(); parameters.put("dockerContainers", content); parameters.put("definitionFormat", DefinitionFormat.CUBE.name()); CubeDockerConfiguration cubeConfiguration = CubeDockerConfiguration.fromMap(parameters, null); CubeDockerConfigurator cubeDockerConfigurator = new CubeDockerConfigurator(); final CubeDockerConfiguration cubeDockerConfiguration = cubeDockerConfigurator.resolveDynamicNames(cubeConfiguration); final Set<String> containerIds = cubeDockerConfiguration.getDockerContainersContent().getContainerIds(); final String tomcat = findElementStartingWith(containerIds, "tomcat"); final String ping = findElementStartingWith(containerIds, "ping"); String uuid = ping.substring(ping.indexOf('_') + 1); final CubeContainer tomcatContainer = cubeDockerConfiguration.getDockerContainersContent().get(tomcat); Link link = getFirst(tomcatContainer.getLinks()); assertThat(link.getAlias(), is("bb_" + uuid)); }