private String getImageName(CubeContainer containerConfiguration, String name) { String image; if (containerConfiguration.getImage() != null) { image = containerConfiguration.getImage().toImageRef(); } else { if (containerConfiguration.getBuildImage() != null) { BuildImage buildImage = containerConfiguration.getBuildImage(); if (buildImage.getDockerfileLocation() != null) { Map<String, Object> params = new HashMap<String, Object>(); //(containerConfiguration, BUILD_IMAGE); params.put("noCache", buildImage.isNoCache()); params.put("remove", buildImage.isRemove()); params.put("dockerFileLocation", buildImage.getDockerfileLocation()); params.put("dockerFileName", buildImage.getDockerfileName()); image = this.buildImage(buildImage.getDockerfileLocation(), name, params); } else { throw new IllegalArgumentException( "A tar file with Dockerfile on root or a directory with a Dockerfile should be provided."); } } else { throw new IllegalArgumentException( String.format( "Current configuration file does not contain %s nor %s parameter and one of both should be provided.", IMAGE, BUILD_IMAGE)); } } return image; }
private String getImageName(CubeContainer containerConfiguration, String name) { String image; if (containerConfiguration.getImage() != null) { image = containerConfiguration.getImage().toImageRef(); } else { if (containerConfiguration.getBuildImage() != null) { BuildImage buildImage = containerConfiguration.getBuildImage(); if (buildImage.getDockerfileLocation() != null) { Map<String, Object> params = new HashMap<String, Object>(); //(containerConfiguration, BUILD_IMAGE); params.put("noCache", buildImage.isNoCache()); params.put("remove", buildImage.isRemove()); params.put("dockerFileLocation", buildImage.getDockerfileLocation()); params.put("dockerFileName", buildImage.getDockerfileName()); image = this.buildImage(buildImage.getDockerfileLocation(), name, params); } else { throw new IllegalArgumentException( "A tar file with Dockerfile on root or a directory with a Dockerfile should be provided."); } } else { throw new IllegalArgumentException( String.format( "Current configuration file does not contain %s nor %s parameter and one of both should be provided.", IMAGE, BUILD_IMAGE)); } } return image; }
@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 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"))); }
reportBuilder.addKeyValueEntry(IMAGE_NAME, configuration.getImage().toString()); } else { reportBuilder.addKeyValueEntry(BUILD_LOCATION, configuration.getBuildImage().getDockerfileLocation());
reportBuilder.addKeyValueEntry(IMAGE_NAME, configuration.getImage().toString()); } else { reportBuilder.addKeyValueEntry(BUILD_LOCATION, configuration.getBuildImage().getDockerfileLocation());
private void addDefaultMetadata() { addMetadata(CanCopyToContainer.class, new CopyToContainer(getId(), executor)); addMetadata(CanExecuteProcessInContainer.class, new ExecuteProcessInContainer(getId(), executor)); addMetadata(CanCopyFromContainer.class, new CopyFromContainer(getId(), executor)); addMetadata(CanSeeChangesOnFilesystem.class, new ChangesOnFilesystem(getId(), executor)); addMetadata(CanSeeTop.class, new GetTop(getId(), executor)); addMetadata(HasPortBindings.class, portBindings); addMetadata(CanReportMetrics.class, new ReportMetrics(this)); if (configuration.getBuildImage() != null) { String path = configuration.getBuildImage().getDockerfileLocation(); if (path != null) { addMetadata(IsBuildable.class, new IsBuildable(path)); } } }
private void addDefaultMetadata() { addMetadata(CanCopyToContainer.class, new CopyToContainer(getId(), executor)); addMetadata(CanExecuteProcessInContainer.class, new ExecuteProcessInContainer(getId(), executor)); addMetadata(CanCopyFromContainer.class, new CopyFromContainer(getId(), executor)); addMetadata(CanSeeChangesOnFilesystem.class, new ChangesOnFilesystem(getId(), executor)); addMetadata(CanSeeTop.class, new GetTop(getId(), executor)); addMetadata(HasPortBindings.class, portBindings); addMetadata(CanReportMetrics.class, new ReportMetrics(this)); if (configuration.getBuildImage() != null) { String path = configuration.getBuildImage().getDockerfileLocation(); if (path != null) { addMetadata(IsBuildable.class, new IsBuildable(path)); } } }