Search in sources :

Example 1 with JKubeBuildTarArchiver

use of org.eclipse.jkube.kit.build.api.assembly.JKubeBuildTarArchiver in project jkube by eclipse.

the class OpenShiftBuildServiceUtilsTest method checkTarPackage.

@Test
public void checkTarPackage() throws Exception {
    final JKubeBuildTarArchiver tarArchiver = mock(JKubeBuildTarArchiver.class);
    createBuildArchive(jKubeServiceHub, imageConfiguration);
    final ArgumentCaptor<ArchiverCustomizer> customizer = ArgumentCaptor.forClass(ArchiverCustomizer.class);
    verify(jKubeServiceHub.getDockerServiceHub().getArchiveService(), times(1)).createDockerBuildArchive(any(ImageConfiguration.class), any(JKubeConfiguration.class), customizer.capture());
    customizer.getValue().customize(tarArchiver);
    final ArgumentCaptor<String> path = ArgumentCaptor.forClass(String.class);
    final ArgumentCaptor<File> file = ArgumentCaptor.forClass(File.class);
    verify(tarArchiver, times(1)).includeFile(file.capture(), path.capture());
    assertThat(path.getAllValues()).singleElement().isEqualTo(".s2i/environment");
    assertThat(file.getAllValues()).singleElement().satisfies(f -> assertThat(f).hasContent("FOO=BAR"));
}
Also used : JKubeConfiguration(org.eclipse.jkube.kit.common.JKubeConfiguration) ArchiverCustomizer(org.eclipse.jkube.kit.build.api.assembly.ArchiverCustomizer) ImageConfiguration(org.eclipse.jkube.kit.config.image.ImageConfiguration) JKubeBuildTarArchiver(org.eclipse.jkube.kit.build.api.assembly.JKubeBuildTarArchiver) File(java.io.File) Test(org.junit.Test)

Example 2 with JKubeBuildTarArchiver

use of org.eclipse.jkube.kit.build.api.assembly.JKubeBuildTarArchiver in project jkube by eclipse.

the class OpenshiftBuildServiceIntegrationTest method init.

@Before
public void init() throws Exception {
    final KitLogger logger = new KitLogger.StdoutLogger();
    baseDirectory = temporaryFolder.newFolder("openshift-build-service");
    target = temporaryFolder.newFolder("openshift-build-service", "target");
    final File emptyDockerBuildTar = new File(target, "docker-build.tar");
    FileUtils.touch(emptyDockerBuildTar);
    baseDir = baseDirectory.getAbsolutePath();
    projectName = "myapp";
    FileUtils.deleteDirectory(new File(baseDir, projectName));
    final File dockerFile = new File(baseDir, "Docker.tar");
    FileUtils.touch(dockerFile);
    openshiftHelper = mockStatic(OpenshiftHelper.class);
    openshiftHelper.when(() -> OpenshiftHelper.isOpenShift(eq(mockServer.getOpenshiftClient()))).thenReturn(true);
    jKubeBuildTarArchiver = mockConstruction(JKubeBuildTarArchiver.class, (mock, ctx) -> when(mock.createArchive(any(File.class), any(BuildDirs.class), eq(ArchiveCompression.none))).thenReturn(emptyDockerBuildTar));
    mockedResourceConfig = mock(ResourceConfig.class, RETURNS_DEEP_STUBS);
    when(mockedResourceConfig.getNamespace()).thenReturn("ns1");
    jKubeServiceHub = mock(JKubeServiceHub.class, RETURNS_DEEP_STUBS);
    when(jKubeServiceHub.getClusterAccess().createDefaultClient()).thenReturn(mockServer.getOpenshiftClient());
    when(jKubeServiceHub.getLog()).thenReturn(logger);
    when(jKubeServiceHub.getDockerServiceHub().getArchiveService()).thenReturn(new ArchiveService(AssemblyManager.getInstance(), logger));
    when(jKubeServiceHub.getBuildServiceConfig().getBuildDirectory()).thenReturn(target.getAbsolutePath());
    when(jKubeServiceHub.getConfiguration()).thenReturn(JKubeConfiguration.builder().outputDirectory(target.getAbsolutePath()).project(JavaProject.builder().baseDirectory(baseDirectory).buildDirectory(target).build()).registryConfig(RegistryConfig.builder().build()).build());
    image = ImageConfiguration.builder().name(projectName).build(BuildConfiguration.builder().from(projectName).build()).build();
    defaultConfig = BuildServiceConfig.builder().buildDirectory(baseDir).buildRecreateMode(BuildRecreateMode.none).s2iBuildNameSuffix("-s2i-suffix2").resourceConfig(mockedResourceConfig).jKubeBuildStrategy(JKubeBuildStrategy.s2i);
    defaultConfigSecret = defaultConfig.build().toBuilder().openshiftPullSecret("pullsecret-fabric8");
    dockerImageConfig = defaultConfig.build().toBuilder().buildOutputKind("DockerImage");
    dockerImageConfigSecret = defaultConfig.build().toBuilder().openshiftPullSecret("pullsecret-fabric8").openshiftPushSecret("pushsecret-fabric8").buildOutputKind("DockerImage");
    Serialization.jsonMapper().disable(SerializationFeature.INDENT_OUTPUT);
}
Also used : BuildServiceConfig(org.eclipse.jkube.kit.config.service.BuildServiceConfig) Quantity(io.fabric8.kubernetes.api.model.Quantity) BuildStrategyBuilder(io.fabric8.openshift.api.model.BuildStrategyBuilder) ArgumentMatchers.eq(org.mockito.ArgumentMatchers.eq) ImageConfiguration(org.eclipse.jkube.kit.config.image.ImageConfiguration) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) NamedTagEventListBuilder(io.fabric8.openshift.api.model.NamedTagEventListBuilder) AssemblyManager(org.eclipse.jkube.kit.build.api.assembly.AssemblyManager) Map(java.util.Map) After(org.junit.After) Mockito.mockConstruction(org.mockito.Mockito.mockConstruction) Build(io.fabric8.openshift.api.model.Build) MockedConstruction(org.mockito.MockedConstruction) ArchiveCompression(org.eclipse.jkube.kit.common.archive.ArchiveCompression) ImmutableMap(com.google.common.collect.ImmutableMap) RecordedRequest(okhttp3.mockwebserver.RecordedRequest) BuildRecreateMode(org.eclipse.jkube.kit.config.resource.BuildRecreateMode) RegistryConfig(org.eclipse.jkube.kit.common.RegistryConfig) OpenShiftMockServer(io.fabric8.openshift.client.server.mock.OpenShiftMockServer) StandardCharsets(java.nio.charset.StandardCharsets) MockedStatic(org.mockito.MockedStatic) JKubeServiceHub(org.eclipse.jkube.kit.config.service.JKubeServiceHub) Assert.assertFalse(org.junit.Assert.assertFalse) Optional(java.util.Optional) JKubeServiceException(org.eclipse.jkube.kit.config.service.JKubeServiceException) Mockito.mock(org.mockito.Mockito.mock) ArgumentMatchers.any(org.mockito.ArgumentMatchers.any) OpenshiftHelper(org.eclipse.jkube.kit.common.util.OpenshiftHelper) JKubeBuildStrategy(org.eclipse.jkube.kit.config.image.build.JKubeBuildStrategy) ImageStreamStatusBuilder(io.fabric8.openshift.api.model.ImageStreamStatusBuilder) BuildConfiguration(org.eclipse.jkube.kit.config.image.build.BuildConfiguration) Assert.assertThrows(org.junit.Assert.assertThrows) Mockito.mockStatic(org.mockito.Mockito.mockStatic) HashMap(java.util.HashMap) BuildBuilder(io.fabric8.openshift.api.model.BuildBuilder) Serialization(io.fabric8.kubernetes.client.utils.Serialization) JKubeConfiguration(org.eclipse.jkube.kit.common.JKubeConfiguration) ResourceConfig(org.eclipse.jkube.kit.config.resource.ResourceConfig) RETURNS_DEEP_STUBS(org.mockito.Mockito.RETURNS_DEEP_STUBS) JavaProject(org.eclipse.jkube.kit.common.JavaProject) ImageStream(io.fabric8.openshift.api.model.ImageStream) Before(org.junit.Before) AssemblyConfiguration(org.eclipse.jkube.kit.common.AssemblyConfiguration) KubernetesList(io.fabric8.kubernetes.api.model.KubernetesList) JKubeBuildTarArchiver(org.eclipse.jkube.kit.build.api.assembly.JKubeBuildTarArchiver) KubernetesListBuilder(io.fabric8.kubernetes.api.model.KubernetesListBuilder) WatchEvent(io.fabric8.kubernetes.api.model.WatchEvent) Assert.assertTrue(org.junit.Assert.assertTrue) ArchiveService(org.eclipse.jkube.kit.build.service.docker.ArchiveService) FileUtils(org.apache.commons.io.FileUtils) Test(org.junit.Test) Mockito.when(org.mockito.Mockito.when) BuildDirs(org.eclipse.jkube.kit.build.api.assembly.BuildDirs) File(java.io.File) BuildConfig(io.fabric8.openshift.api.model.BuildConfig) KitLogger(org.eclipse.jkube.kit.common.KitLogger) Rule(org.junit.Rule) OpenShiftServer(io.fabric8.openshift.client.server.mock.OpenShiftServer) Assembly(org.eclipse.jkube.kit.common.Assembly) ImageStreamBuilder(io.fabric8.openshift.api.model.ImageStreamBuilder) SerializationFeature(com.fasterxml.jackson.databind.SerializationFeature) BuildConfigBuilder(io.fabric8.openshift.api.model.BuildConfigBuilder) OpenshiftBuildConfig(org.eclipse.jkube.kit.config.resource.OpenshiftBuildConfig) TemporaryFolder(org.junit.rules.TemporaryFolder) Assert.assertEquals(org.junit.Assert.assertEquals) KitLogger(org.eclipse.jkube.kit.common.KitLogger) ArchiveService(org.eclipse.jkube.kit.build.service.docker.ArchiveService) OpenshiftHelper(org.eclipse.jkube.kit.common.util.OpenshiftHelper) JKubeBuildTarArchiver(org.eclipse.jkube.kit.build.api.assembly.JKubeBuildTarArchiver) ResourceConfig(org.eclipse.jkube.kit.config.resource.ResourceConfig) File(java.io.File) BuildDirs(org.eclipse.jkube.kit.build.api.assembly.BuildDirs) JKubeServiceHub(org.eclipse.jkube.kit.config.service.JKubeServiceHub) Before(org.junit.Before)

Aggregations

File (java.io.File)2 JKubeBuildTarArchiver (org.eclipse.jkube.kit.build.api.assembly.JKubeBuildTarArchiver)2 JKubeConfiguration (org.eclipse.jkube.kit.common.JKubeConfiguration)2 ImageConfiguration (org.eclipse.jkube.kit.config.image.ImageConfiguration)2 Test (org.junit.Test)2 SerializationFeature (com.fasterxml.jackson.databind.SerializationFeature)1 ImmutableMap (com.google.common.collect.ImmutableMap)1 KubernetesList (io.fabric8.kubernetes.api.model.KubernetesList)1 KubernetesListBuilder (io.fabric8.kubernetes.api.model.KubernetesListBuilder)1 Quantity (io.fabric8.kubernetes.api.model.Quantity)1 WatchEvent (io.fabric8.kubernetes.api.model.WatchEvent)1 Serialization (io.fabric8.kubernetes.client.utils.Serialization)1 Build (io.fabric8.openshift.api.model.Build)1 BuildBuilder (io.fabric8.openshift.api.model.BuildBuilder)1 BuildConfig (io.fabric8.openshift.api.model.BuildConfig)1 BuildConfigBuilder (io.fabric8.openshift.api.model.BuildConfigBuilder)1 BuildStrategyBuilder (io.fabric8.openshift.api.model.BuildStrategyBuilder)1 ImageStream (io.fabric8.openshift.api.model.ImageStream)1 ImageStreamBuilder (io.fabric8.openshift.api.model.ImageStreamBuilder)1 ImageStreamStatusBuilder (io.fabric8.openshift.api.model.ImageStreamStatusBuilder)1