package test.org.occiware.clouddesigner.occi.docker.connector.dockerjava;
import com.google.common.base.Objects;
import java.security.SecureRandom;
import org.eclipse.emf.common.util.EList;
import org.eclipse.xtext.xbase.lib.ExclusiveRange;
import org.occiware.clouddesigner.occi.Link;
import org.occiware.clouddesigner.occi.docker.Container;
import org.occiware.clouddesigner.occi.docker.Contains;
import org.occiware.clouddesigner.occi.docker.DockerFactory;
import org.occiware.clouddesigner.occi.docker.DockerPackage;
import org.occiware.clouddesigner.occi.docker.Machine_VirtualBox;
import org.occiware.clouddesigner.occi.docker.connector.ExecutableDockerFactory;
import org.occiware.clouddesigner.occi.docker.connector.ExecutableDockerModel;
import org.occiware.clouddesigner.occi.docker.connector.dockerjava.DockerContainerManager;
import org.occiware.clouddesigner.occi.docker.connector.dockermachine.util.DockerUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings("all")
public class DockerContainerTest {
private static Logger LOGGER = LoggerFactory.getLogger(DockerContainerTest.class);
public static void main(final String[] args) {
final DockerFactory init = ExecutableDockerFactory.init();
DockerContainerTest.LOGGER.info("Running DockerContainerTest ...");
final DockerContainerManager instance = new DockerContainerManager();
final ExecutableDockerModel instanceExecDocker = new ExecutableDockerModel();
DockerFactory _dockerFactory = DockerPackage.eINSTANCE.getDockerFactory();
final Machine_VirtualBox machine = _dockerFactory.createMachine_VirtualBox();
final String machineName = DockerUtil.getActiveHost();
boolean _notEquals = (!Objects.equal(machineName, null));
if (_notEquals) {
machine.setName(machineName);
} else {
throw new IllegalArgumentException("You should start at least one machine ...");
}
final String testImage = "busybox";
instance.pullImage(machine, testImage);
ExclusiveRange _doubleDotLessThan = new ExclusiveRange(0, 2, true);
for (final Integer i : _doubleDotLessThan) {
{
final Container container = DockerContainerTest.containerCreate(instanceExecDocker, testImage, machine);
instance.createContainer(machine, container);
}
}
}
public static Container containerCreate(final ExecutableDockerModel instanceExecDocker, final String testImage, final Machine_VirtualBox machine) {
DockerFactory _dockerFactory = DockerPackage.eINSTANCE.getDockerFactory();
final Container container = _dockerFactory.createContainer();
SecureRandom _secureRandom = new SecureRandom();
int _nextInt = _secureRandom.nextInt();
String _plus = ("container-test" + Integer.valueOf(_nextInt));
container.setName(_plus);
container.setCommand("sleep,9999");
container.setImage(testImage);
DockerFactory _dockerFactory_1 = DockerPackage.eINSTANCE.getDockerFactory();
final Contains contains = _dockerFactory_1.createContains();
contains.setTarget(container);
EList<Link> _links = machine.getLinks();
_links.add(contains);
return container;
}
}