All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.arquillian.cube.impl.client.enricher.CubeResourceProvider Maven / Gradle / Ivy

There is a newer version: 2.0.0.Alpha1
Show newest version
package org.arquillian.cube.impl.client.enricher;

import java.lang.annotation.Annotation;

import org.arquillian.cube.impl.docker.DockerClientExecutor;
import org.jboss.arquillian.core.api.Instance;
import org.jboss.arquillian.core.api.annotation.Inject;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.jboss.arquillian.test.spi.enricher.resource.ResourceProvider;

import com.github.dockerjava.api.DockerClient;

public class CubeResourceProvider implements ResourceProvider {

    @Inject
    private Instance dockerClientExecutor;

    @Override
    public boolean canProvide(Class type) {
        return DockerClient.class.isAssignableFrom(type);
    }

    @Override
    public Object lookup(ArquillianResource resource, Annotation... qualifiers) {
        DockerClientExecutor dockerClientExec = this.dockerClientExecutor.get();

        if (dockerClientExec == null) {
            throw new IllegalStateException("Unable to inject DockerClient into test.");
        }

        return dockerClientExec.getDockerClient();
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy