private static boolean hasOnlyOneBindPort(CubeContainer cubeContainer) { final Collection<PortBinding> portBindings = cubeContainer.getPortBindings(); if (portBindings == null) { return false; } return portBindings.size() == 1; }
private static boolean hasOnlyOneBindPort(CubeContainer cubeContainer) { final Collection<PortBinding> portBindings = cubeContainer.getPortBindings(); if (portBindings == null) { return false; } return portBindings.size() == 1; }
private static boolean hasMoreThanOneBindPort(CubeContainer cubeContainer) { final Collection<PortBinding> portBindings = cubeContainer.getPortBindings(); if (portBindings == null) { return false; } return portBindings.size() > 1; }
private static boolean hasMoreThanOneBindPort(CubeContainer cubeContainer) { final Collection<PortBinding> portBindings = cubeContainer.getPortBindings(); if (portBindings == null) { return false; } return portBindings.size() > 1; }
private void setPortBinding(List<PortBinding> portBindings) { if (cubeContainer.getPortBindings() == null) { cubeContainer.setPortBindings(portBindings); } else { cubeContainer.getPortBindings().addAll(portBindings); } }
private void setPortBinding(List<PortBinding> portBindings) { if (cubeContainer.getPortBindings() == null) { cubeContainer.setPortBindings(portBindings); } else { cubeContainer.getPortBindings().addAll(portBindings); } }
@Override public String[] getPortBindings() { return Optional.ofNullable(configuration.getPortBindings()) .map(links -> links.stream().map(PortBinding::toString).toArray(String[]::new)) .orElse(null); }
@Override public String[] getPortBindings() { return Optional.ofNullable(configuration.getPortBindings()) .map(links -> links.stream().map(PortBinding::toString).toArray(String[]::new)) .orElse(null); }
public static void adaptPortBindingToParallelRun(CubeContainer cubeContainer) { final Collection<PortBinding> portBindings = cubeContainer.getPortBindings(); if (portBindings == null) { return; } for (PortBinding portBinding : portBindings) { final int randomPrivatePort = generateRandomPrivatePort(); portBinding.setBound(randomPrivatePort); } }
public static void adaptPortBindingToParallelRun(CubeContainer cubeContainer) { final Collection<PortBinding> portBindings = cubeContainer.getPortBindings(); if (portBindings == null) { return; } for (PortBinding portBinding : portBindings) { final int randomPrivatePort = generateRandomPrivatePort(); portBinding.setBound(randomPrivatePort); } }
public static Binding binding(CubeContainer cubeConfiguration, DockerClientExecutor executor) { Binding binding = new Binding(executor.getDockerServerIp()); if (cubeConfiguration.getPortBindings() != null) { for (PortBinding cubePortBinding : cubeConfiguration.getPortBindings()) { binding.addPortBinding(cubePortBinding.getExposedPort().getExposed(), cubePortBinding.getBound()); } } return binding; } }
public static Binding binding(CubeContainer cubeConfiguration, DockerClientExecutor executor) { Binding binding = new Binding(executor.getDockerServerIp()); if (cubeConfiguration.getPortBindings() != null) { for (PortBinding cubePortBinding : cubeConfiguration.getPortBindings()) { binding.addPortBinding(cubePortBinding.getExposedPort().getExposed(), cubePortBinding.getBound()); } } return binding; } }
@Test public void shouldCreateStaticPrefixedContainerNameAndPort() { when(cubeDroneConfiguration.isBrowserDockerfileDirectorySet()).thenReturn(false); when(cubeDroneConfiguration.isBrowserImageSet()).thenReturn(false); when(cubeDroneConfiguration.getContainerNameStrategy()).thenReturn(ContainerNameStrategy.STATIC_PREFIX); when(cubeDroneConfiguration.getContainerNamePrefix()).thenReturn("test"); final SeleniumContainers seleniumContainers = SeleniumContainers.create("firefox", cubeDroneConfiguration); assertThat(seleniumContainers.getSeleniumContainer().getPortBindings(), hasItem(SELENIUM_RANDOM_PORT_BINDING_MATCHER)); assertThat(seleniumContainers.getSeleniumContainerName(), is("test_browser")); assertThat(seleniumContainers.getVncContainerName(), is("test_vnc")); assertThat(seleniumContainers.getVideoConverterContainerName(), is("test_flv2mp4")); }
@Test public void shouldCreateCustomContainerFromDockerfile() { when(cubeDroneConfiguration.isBrowserDockerfileDirectorySet()).thenReturn(true); when(cubeDroneConfiguration.isBrowserImageSet()).thenReturn(false); when(cubeDroneConfiguration.getBrowserDockerfileLocation()).thenReturn("src/test/resources/browser"); when(cubeDroneConfiguration.getContainerNameStrategy()).thenReturn(ContainerNameStrategy.STATIC); final SeleniumContainers firefox = SeleniumContainers.create("firefox", cubeDroneConfiguration); assertThat(firefox.getBrowser(), is("firefox")); assertThat(firefox.getSeleniumContainer().getBuildImage().getDockerfileLocation().toString(), is("src/test/resources/browser")); assertThat(firefox.getSeleniumContainer().getPortBindings(), hasItem(PortBinding.valueOf("14444->4444"))); }
@Test public void shouldCreateCustomContainerFromImageName() { when(cubeDroneConfiguration.isBrowserDockerfileDirectorySet()).thenReturn(false); when(cubeDroneConfiguration.isBrowserImageSet()).thenReturn(true); when(cubeDroneConfiguration.getBrowserImage()).thenReturn("mycompany/mybrowser:1.0"); when(cubeDroneConfiguration.getContainerNameStrategy()).thenReturn(ContainerNameStrategy.STATIC); final SeleniumContainers firefox = SeleniumContainers.create("firefox", cubeDroneConfiguration); assertThat(firefox.getBrowser(), is("firefox")); assertThat(firefox.getSeleniumContainer().getImage().toString(), is("mycompany/mybrowser:1.0")); assertThat(firefox.getSeleniumContainer().getPortBindings(), hasItem(PortBinding.valueOf("14444->4444"))); }
@Test public void shouldTakePrecedenceDockerfileDirectoryThanImage() { when(cubeDroneConfiguration.isBrowserDockerfileDirectorySet()).thenReturn(true); when(cubeDroneConfiguration.isBrowserImageSet()).thenReturn(true); when(cubeDroneConfiguration.getBrowserDockerfileLocation()).thenReturn("src/test/resources/browser"); when(cubeDroneConfiguration.getContainerNameStrategy()).thenReturn(ContainerNameStrategy.STATIC); final SeleniumContainers firefox = SeleniumContainers.create("firefox", cubeDroneConfiguration); assertThat(firefox.getBrowser(), is("firefox")); assertThat(firefox.getSeleniumContainer().getBuildImage().getDockerfileLocation().toString(), is("src/test/resources/browser")); assertThat(firefox.getSeleniumContainer().getImage(), is(nullValue())); assertThat(firefox.getSeleniumContainer().getPortBindings(), hasItem(PortBinding.valueOf("14444->4444"))); }
@Test public void shouldCreateStaticContainerNameAndPort() { when(cubeDroneConfiguration.isBrowserDockerfileDirectorySet()).thenReturn(false); when(cubeDroneConfiguration.isBrowserImageSet()).thenReturn(false); when(cubeDroneConfiguration.getContainerNameStrategy()).thenReturn(ContainerNameStrategy.STATIC); final SeleniumContainers seleniumContainers = SeleniumContainers.create("firefox", cubeDroneConfiguration); assertThat(seleniumContainers.getSeleniumContainer().getPortBindings(), hasItem(PortBinding.valueOf("14444->4444"))); assertThat(seleniumContainers.getSeleniumContainerName(), is("browser")); assertThat(seleniumContainers.getVncContainerName(), is("vnc")); assertThat(seleniumContainers.getVideoConverterContainerName(), is("flv2mp4")); }
@Test public void shouldCreateContainerForFirefox() { when(cubeDroneConfiguration.isBrowserDockerfileDirectorySet()).thenReturn(false); when(cubeDroneConfiguration.isBrowserImageSet()).thenReturn(false); when(cubeDroneConfiguration.getContainerNameStrategy()).thenReturn(ContainerNameStrategy.STATIC); when(cubeDroneConfiguration.getDockerRegistry()).thenReturn(""); final SeleniumContainers firefox = SeleniumContainers.create("firefox", cubeDroneConfiguration); assertThat(firefox.getBrowser(), is("firefox")); assertThat(firefox.getSeleniumContainer().getImage().toString(), is("selenium/standalone-firefox-debug:2.53.0")); assertThat(firefox.getSeleniumContainer().getPortBindings(), hasItem(PortBinding.valueOf("14444->4444"))); assertThat(firefox.getSeleniumContainer().getAwait().getResponseCode(), is(403)); }
@Test public void shouldCreateContainerForChrome() { when(cubeDroneConfiguration.isBrowserDockerfileDirectorySet()).thenReturn(false); when(cubeDroneConfiguration.isBrowserImageSet()).thenReturn(false); when(cubeDroneConfiguration.getContainerNameStrategy()).thenReturn(ContainerNameStrategy.STATIC); when(cubeDroneConfiguration.getDockerRegistry()).thenReturn(""); final SeleniumContainers firefox = SeleniumContainers.create("chrome", cubeDroneConfiguration); assertThat(firefox.getBrowser(), is("chrome")); assertThat(firefox.getSeleniumContainer().getImage().toString(), is("selenium/standalone-chrome-debug:2.53.0")); assertThat(firefox.getSeleniumContainer().getPortBindings(), hasItem(PortBinding.valueOf("14444->4444"))); assertThat(firefox.getSeleniumContainer().getAwait().getResponseCode(), is(403)); }
@Test public void shouldCreateRandomContainerNameAndPort() { when(cubeDroneConfiguration.isBrowserDockerfileDirectorySet()).thenReturn(false); when(cubeDroneConfiguration.isBrowserImageSet()).thenReturn(false); when(cubeDroneConfiguration.getContainerNameStrategy()).thenReturn(ContainerNameStrategy.RANDOM); final SeleniumContainers seleniumContainers = SeleniumContainers.create("firefox", cubeDroneConfiguration); assertThat(seleniumContainers.getSeleniumContainer().getPortBindings(), hasItem(SELENIUM_RANDOM_PORT_BINDING_MATCHER)); assertThat(seleniumContainers.getSeleniumContainerName(), both(UUID_CONTAINER_NAME_MATCHER).and(startsWith("browser"))); assertThat(seleniumContainers.getVncContainerName(), both(UUID_CONTAINER_NAME_MATCHER).and(startsWith("vnc"))); assertThat(seleniumContainers.getVideoConverterContainerName(), both(UUID_CONTAINER_NAME_MATCHER).and(startsWith("flv2mp4"))); }