Search in sources :

Example 76 with Logger

use of io.fabric8.arquillian.kubernetes.log.Logger in project docker-maven-plugin by fabric8io.

the class DockerAssemblyManagerTest method testMultipleCopyInvalidVerifyGivenDockerfile.

@Test
public void testMultipleCopyInvalidVerifyGivenDockerfile(@Injectable final Logger logger) throws IOException {
    BuildImageConfiguration buildConfig = createBuildConfigMultiAssembly();
    assemblyManager.verifyGivenDockerfile(new File(getClass().getResource("/docker/Dockerfile_assembly_verify_multi_copy_invalid.test").getPath()), buildConfig, createInterpolator(buildConfig), logger);
    new Verifications() {

        {
            logger.warn(anyString, (Object[]) any);
            times = 2;
        }
    };
}
Also used : Verifications(mockit.Verifications) File(java.io.File) BuildImageConfiguration(io.fabric8.maven.docker.config.BuildImageConfiguration) Test(org.junit.Test)

Example 77 with Logger

use of io.fabric8.arquillian.kubernetes.log.Logger in project docker-maven-plugin by fabric8io.

the class DockerAssemblyManagerTest method testArchiveCreationDockerfileWithDirAssembly.

@Test
public void testArchiveCreationDockerfileWithDirAssembly(@Injectable final TarArchiver tarArchiver, @Injectable final Logger logger) throws MojoExecutionException, NoSuchArchiverException {
    MojoParameters mojoParams = mockMojoParams(mockMavenProject());
    BuildImageConfiguration buildImageConfiguration = new BuildImageConfiguration.Builder().dockerFile(DockerAssemblyManagerTest.class.getResource("/docker/Dockerfile.test").getPath()).assembly(new AssemblyConfiguration.Builder().mode(AssemblyMode.dir.name()).build()).build();
    buildImageConfiguration.initAndValidate(logger);
    File tarArchive = assemblyManager.createDockerTarArchive("test_image", mojoParams, buildImageConfiguration, logger, null);
    assertNotNull(tarArchive);
    new Verifications() {

        {
            archiverManager.getArchiver("tar");
            times = 1;
            List<FileSet> fileSets = new ArrayList<>();
            tarArchiver.addFileSet(withCapture(fileSets));
            assertEquals(2, fileSets.size());
            assertEquals("build", fileSets.get(0).getDirectory().getName());
            assertNull(fileSets.get(0).getIncludes());
            assertNull(fileSets.get(0).getExcludes());
            assertArrayEquals(new String[] { "target/**", "Dockerfile.test" }, fileSets.get(1).getExcludes());
            assertNull(fileSets.get(1).getIncludes());
        }
    };
}
Also used : FileSet(org.codehaus.plexus.archiver.FileSet) ArchivedFileSet(org.codehaus.plexus.archiver.ArchivedFileSet) MojoParameters(io.fabric8.maven.docker.util.MojoParameters) ArrayList(java.util.ArrayList) Verifications(mockit.Verifications) File(java.io.File) BuildImageConfiguration(io.fabric8.maven.docker.config.BuildImageConfiguration) Test(org.junit.Test)

Example 78 with Logger

use of io.fabric8.arquillian.kubernetes.log.Logger in project docker-maven-plugin by fabric8io.

the class EcrExtendedAuthTest method testClientClosedAndCredentialsDecoded.

@Test
public void testClientClosedAndCredentialsDecoded(@Mocked final CloseableHttpClient closeableHttpClient, @Mocked final CloseableHttpResponse closeableHttpResponse, @Mocked final StatusLine statusLine) throws IOException, MojoExecutionException {
    final HttpEntity entity = new StringEntity("{\"authorizationData\": [{" + "\"authorizationToken\": \"QVdTOnBhc3N3b3Jk\"," + "\"expiresAt\": 1448878779.809," + "\"proxyEndpoint\": \"https://012345678910.dkr.ecr.eu-west-1.amazonaws.com\"}]}");
    new Expectations() {

        {
            statusLine.getStatusCode();
            result = 200;
            closeableHttpResponse.getEntity();
            result = entity;
        }
    };
    EcrExtendedAuth eea = new EcrExtendedAuth(logger, "123456789012.dkr.ecr.eu-west-1.amazonaws.com") {

        CloseableHttpClient createClient() {
            return closeableHttpClient;
        }
    };
    AuthConfig localCredentials = new AuthConfig("username", "password", null, null);
    AuthConfig awsCredentials = eea.extendedAuth(localCredentials);
    assertEquals("AWS", awsCredentials.getUsername());
    assertEquals("password", awsCredentials.getPassword());
    new Verifications() {

        {
            closeableHttpClient.close();
        }
    };
}
Also used : Expectations(mockit.Expectations) StringEntity(org.apache.http.entity.StringEntity) HttpEntity(org.apache.http.HttpEntity) AuthConfig(io.fabric8.maven.docker.access.AuthConfig) Verifications(mockit.Verifications) Test(org.junit.Test)

Example 79 with Logger

use of io.fabric8.arquillian.kubernetes.log.Logger in project docker-maven-plugin by fabric8io.

the class BuildServiceTest method testBuildImageWithCacheFrom_ShouldPullImage.

@Test
public void testBuildImageWithCacheFrom_ShouldPullImage() throws Exception {
    BuildImageConfiguration buildConfig = new BuildImageConfiguration.Builder().cleanup("false").cacheFrom("fabric8/s1i-java").dockerFile(DockerFileUtilTest.class.getResource("Dockerfile_from_simple").getPath()).filter("false").build();
    buildConfig.initAndValidate(logger);
    imageConfig = new ImageConfiguration.Builder().name("build-image").alias("build-alias").buildConfig(buildConfig).build();
    final ImagePullManager pullManager = new ImagePullManager(null, null, null);
    final BuildService.BuildContext buildContext = new BuildService.BuildContext.Builder().mojoParameters(mojoParameters).build();
    new Expectations(mojoParameters) {

        {
            mojoParameters.getProject();
            result = mavenProject;
            mavenProject.getProperties();
            result = new Properties();
        }
    };
    File buildArchive = buildService.buildArchive(imageConfig, buildContext, "");
    buildService.buildImage(imageConfig, pullManager, buildContext, buildArchive);
    // verify that tries to pull both images
    new Verifications() {

        {
            registryService.pullImageWithPolicy("fabric8/s2i-java", pullManager, buildContext.getRegistryConfig(), buildConfig);
            registryService.pullImageWithPolicy("fabric8/s1i-java", pullManager, buildContext.getRegistryConfig(), buildConfig);
        }
    };
}
Also used : Expectations(mockit.Expectations) BuildImageConfiguration(io.fabric8.maven.docker.config.BuildImageConfiguration) ImageConfiguration(io.fabric8.maven.docker.config.ImageConfiguration) Properties(java.util.Properties) FullVerifications(mockit.FullVerifications) Verifications(mockit.Verifications) File(java.io.File) BuildImageConfiguration(io.fabric8.maven.docker.config.BuildImageConfiguration) DockerFileUtilTest(io.fabric8.maven.docker.util.DockerFileUtilTest) Test(org.junit.Test)

Example 80 with Logger

use of io.fabric8.arquillian.kubernetes.log.Logger in project docker-maven-plugin by fabric8io.

the class JibBuildService method getRegistryCredentials.

static Credential getRegistryCredentials(RegistryService.RegistryConfig registryConfig, boolean isPush, ImageConfiguration imageConfiguration, Logger log) throws MojoExecutionException {
    String registry;
    if (isPush) {
        registry = EnvUtil.firstRegistryOf(new ImageName(imageConfiguration.getName()).getRegistry(), imageConfiguration.getRegistry(), registryConfig.getRegistry());
    } else {
        registry = EnvUtil.firstRegistryOf(new ImageName(getBaseImage(imageConfiguration)).getRegistry(), registryConfig.getRegistry());
    }
    if (registry == null || DEFAULT_DOCKER_REGISTRIES.contains(registry)) {
        // Let's assume docker is default registry.
        registry = DOCKER_LOGIN_DEFAULT_REGISTRY;
    }
    AuthConfigFactory authConfigFactory = registryConfig.getAuthConfigFactory();
    AuthConfig standardAuthConfig = authConfigFactory.createAuthConfig(isPush, registryConfig.isSkipExtendedAuth(), registryConfig.getAuthConfig(), registryConfig.getSettings(), null, registry);
    Credential credentials = null;
    if (standardAuthConfig != null) {
        credentials = Credential.from(standardAuthConfig.getUsername(), standardAuthConfig.getPassword());
    }
    return credentials;
}
Also used : ImageName(io.fabric8.maven.docker.util.ImageName) Credential(com.google.cloud.tools.jib.api.Credential) AuthConfigFactory(io.fabric8.maven.docker.util.AuthConfigFactory) AuthConfig(io.fabric8.maven.docker.access.AuthConfig)

Aggregations

Test (org.junit.Test)47 File (java.io.File)26 BuildImageConfiguration (io.fabric8.maven.docker.config.BuildImageConfiguration)20 Verifications (mockit.Verifications)17 ArrayList (java.util.ArrayList)15 ImageConfiguration (io.fabric8.maven.docker.config.ImageConfiguration)12 OpenShiftClient (io.fabric8.openshift.client.OpenShiftClient)10 IOException (java.io.IOException)9 Expectations (mockit.Expectations)9 URL (java.net.URL)8 GeneratorContext (io.fabric8.maven.generator.api.GeneratorContext)7 ProcessorConfig (io.fabric8.maven.core.config.ProcessorConfig)6 ResourceValidator (io.fabric8.maven.core.util.validator.ResourceValidator)6 AssemblyConfiguration (io.fabric8.maven.docker.config.AssemblyConfiguration)6 Logger (io.fabric8.maven.docker.util.Logger)6 MojoParameters (io.fabric8.maven.docker.util.MojoParameters)6 Properties (java.util.Properties)6 Util.readAsString (io.fabric8.arquillian.utils.Util.readAsString)5 HasMetadata (io.fabric8.kubernetes.api.model.HasMetadata)5 Pod (io.fabric8.kubernetes.api.model.Pod)5