mirror of
https://github.com/apache/jclouds.git
synced 2025-02-16 15:08:28 +00:00
test tidies
This commit is contained in:
parent
d069b0b745
commit
7704b6b8f0
@ -23,6 +23,9 @@ import java.io.File;
|
|||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
import javax.inject.Named;
|
||||||
|
|
||||||
import org.jclouds.Constants;
|
import org.jclouds.Constants;
|
||||||
import org.jclouds.byon.Node;
|
import org.jclouds.byon.Node;
|
||||||
import org.jclouds.byon.config.CacheNodeStoreModule;
|
import org.jclouds.byon.config.CacheNodeStoreModule;
|
||||||
@ -31,9 +34,7 @@ import org.jclouds.compute.ComputeServiceContext;
|
|||||||
import org.jclouds.compute.ComputeServiceContextFactory;
|
import org.jclouds.compute.ComputeServiceContextFactory;
|
||||||
import org.jclouds.compute.domain.NodeMetadata;
|
import org.jclouds.compute.domain.NodeMetadata;
|
||||||
import org.jclouds.compute.domain.OsFamily;
|
import org.jclouds.compute.domain.OsFamily;
|
||||||
import org.jclouds.compute.functions.DefaultCredentialsFromImageOrOverridingCredentials;
|
|
||||||
import org.jclouds.compute.strategy.PrioritizeCredentialsFromTemplate;
|
import org.jclouds.compute.strategy.PrioritizeCredentialsFromTemplate;
|
||||||
import org.jclouds.config.ValueOfConfigurationKeyOrNull;
|
|
||||||
import org.jclouds.logging.slf4j.config.SLF4JLoggingModule;
|
import org.jclouds.logging.slf4j.config.SLF4JLoggingModule;
|
||||||
import org.jclouds.sshj.config.SshjSshClientModule;
|
import org.jclouds.sshj.config.SshjSshClientModule;
|
||||||
import org.jclouds.virtualbox.config.VirtualBoxConstants;
|
import org.jclouds.virtualbox.config.VirtualBoxConstants;
|
||||||
@ -57,9 +58,7 @@ import com.google.common.cache.LoadingCache;
|
|||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
import com.google.inject.Key;
|
|
||||||
import com.google.inject.Module;
|
import com.google.inject.Module;
|
||||||
import com.google.inject.TypeLiteral;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests behavior of {@code VirtualBoxClient}
|
* Tests behavior of {@code VirtualBoxClient}
|
||||||
@ -71,19 +70,37 @@ public class BaseVirtualBoxClientLiveTest extends BaseVersionedServiceLiveTest {
|
|||||||
public BaseVirtualBoxClientLiveTest() {
|
public BaseVirtualBoxClientLiveTest() {
|
||||||
provider = "virtualbox";
|
provider = "virtualbox";
|
||||||
}
|
}
|
||||||
|
|
||||||
protected ComputeServiceContext context;
|
protected ComputeServiceContext context;
|
||||||
|
|
||||||
|
@Inject
|
||||||
protected Supplier<VirtualBoxManager> manager;
|
protected Supplier<VirtualBoxManager> manager;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
void eagerlyStartManager(Supplier<VirtualBoxManager> manager){
|
||||||
|
this.manager = manager;
|
||||||
|
manager.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Inject
|
||||||
protected MachineUtils machineUtils;
|
protected MachineUtils machineUtils;
|
||||||
|
|
||||||
|
// this will eagerly startup Jetty, note the impl will shut itself down
|
||||||
|
@Inject
|
||||||
|
@Preconfiguration
|
||||||
protected LoadingCache<IsoSpec, URI> preconfigurationUri;
|
protected LoadingCache<IsoSpec, URI> preconfigurationUri;
|
||||||
|
|
||||||
protected String hostVersion;
|
protected String hostVersion;
|
||||||
protected String operatingSystemIso;
|
protected String operatingSystemIso;
|
||||||
protected String guestAdditionsIso;
|
protected String guestAdditionsIso;
|
||||||
|
@Inject
|
||||||
|
@Named(VirtualBoxConstants.VIRTUALBOX_WORKINGDIR)
|
||||||
protected String workingDir;
|
protected String workingDir;
|
||||||
protected String isosDir;
|
protected String isosDir;
|
||||||
|
@Inject
|
||||||
protected Supplier<NodeMetadata> host;
|
protected Supplier<NodeMetadata> host;
|
||||||
protected static final PrioritizeCredentialsFromTemplate prioritizeCredentialsFromTemplate = new PrioritizeCredentialsFromTemplate(
|
@Inject
|
||||||
new DefaultCredentialsFromImageOrOverridingCredentials());
|
protected PrioritizeCredentialsFromTemplate prioritizeCredentialsFromTemplate;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setupCredentials() {
|
protected void setupCredentials() {
|
||||||
@ -117,31 +134,14 @@ public class BaseVirtualBoxClientLiveTest extends BaseVersionedServiceLiveTest {
|
|||||||
|
|
||||||
context = new ComputeServiceContextFactory().createContext(provider, identity, credential,
|
context = new ComputeServiceContextFactory().createContext(provider, identity, credential,
|
||||||
ImmutableSet.<Module> of(new SLF4JLoggingModule(), new SshjSshClientModule(), hostModule), overrides);
|
ImmutableSet.<Module> of(new SLF4JLoggingModule(), new SshjSshClientModule(), hostModule), overrides);
|
||||||
Function<String, String> configProperties = context.utils().injector()
|
context.utils().injector().injectMembers(this);
|
||||||
.getInstance(ValueOfConfigurationKeyOrNull.class);
|
|
||||||
imageId = "ubuntu-11.04-server-i386";
|
imageId = "ubuntu-11.04-server-i386";
|
||||||
workingDir = configProperties.apply(VirtualBoxConstants.VIRTUALBOX_WORKINGDIR);
|
|
||||||
isosDir = workingDir + File.separator + "isos";
|
isosDir = workingDir + File.separator + "isos";
|
||||||
File isosDirFile = new File(isosDir);
|
File isosDirFile = new File(isosDir);
|
||||||
if (!isosDirFile.exists()) {
|
if (!isosDirFile.exists()) {
|
||||||
isosDirFile.mkdirs();
|
isosDirFile.mkdirs();
|
||||||
}
|
}
|
||||||
host = context.utils().injector().getInstance(Key.get(new TypeLiteral<Supplier<NodeMetadata>>() {
|
|
||||||
}));
|
|
||||||
|
|
||||||
// this will eagerly startup Jetty, note the impl will shut itself down
|
|
||||||
preconfigurationUri = context.utils().injector()
|
|
||||||
.getInstance(Key.get(new TypeLiteral<LoadingCache<IsoSpec, URI>>() {
|
|
||||||
}, Preconfiguration.class));
|
|
||||||
// this will eagerly startup Jetty, note the impl will shut itself down
|
|
||||||
|
|
||||||
manager = context.utils().injector().getInstance(Key.get(new TypeLiteral<Supplier<VirtualBoxManager>>() {
|
|
||||||
}));
|
|
||||||
// this will eagerly startup vbox
|
|
||||||
manager.get();
|
|
||||||
|
|
||||||
machineUtils = context.utils().injector().getInstance(MachineUtils.class);
|
|
||||||
|
|
||||||
hostVersion = Iterables.get(Splitter.on('r').split(context.getProviderSpecificContext().getBuildVersion()), 0);
|
hostVersion = Iterables.get(Splitter.on('r').split(context.getProviderSpecificContext().getBuildVersion()), 0);
|
||||||
operatingSystemIso = String.format("%s/%s.iso", isosDir, imageId);
|
operatingSystemIso = String.format("%s/%s.iso", isosDir, imageId);
|
||||||
guestAdditionsIso = String.format("%s/VBoxGuestAdditions_%s.iso", isosDir, hostVersion);
|
guestAdditionsIso = String.format("%s/VBoxGuestAdditions_%s.iso", isosDir, hostVersion);
|
||||||
|
@ -22,6 +22,8 @@ package org.jclouds.virtualbox.compute;
|
|||||||
import static org.jclouds.virtualbox.config.VirtualBoxConstants.VIRTUALBOX_NODE_PREFIX;
|
import static org.jclouds.virtualbox.config.VirtualBoxConstants.VIRTUALBOX_NODE_PREFIX;
|
||||||
import static org.testng.Assert.assertEquals;
|
import static org.testng.Assert.assertEquals;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import org.jclouds.compute.ComputeServiceAdapter.NodeAndInitialCredentials;
|
import org.jclouds.compute.ComputeServiceAdapter.NodeAndInitialCredentials;
|
||||||
import org.jclouds.compute.domain.ExecResponse;
|
import org.jclouds.compute.domain.ExecResponse;
|
||||||
import org.jclouds.compute.domain.Image;
|
import org.jclouds.compute.domain.Image;
|
||||||
@ -37,34 +39,21 @@ import com.google.common.collect.Iterables;
|
|||||||
|
|
||||||
@Test(groups = "live", singleThreaded = true, testName = "VirtualBoxComputeServiceAdapterLiveTest")
|
@Test(groups = "live", singleThreaded = true, testName = "VirtualBoxComputeServiceAdapterLiveTest")
|
||||||
public class VirtualBoxComputeServiceAdapterLiveTest extends BaseVirtualBoxClientLiveTest {
|
public class VirtualBoxComputeServiceAdapterLiveTest extends BaseVirtualBoxClientLiveTest {
|
||||||
|
@Inject
|
||||||
private VirtualBoxComputeServiceAdapter adapter;
|
private VirtualBoxComputeServiceAdapter adapter;
|
||||||
|
|
||||||
private NodeAndInitialCredentials<IMachine> machine;
|
private NodeAndInitialCredentials<IMachine> machine;
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setupClient() {
|
|
||||||
super.setupClient();
|
|
||||||
adapter = context.utils().injector().getInstance(VirtualBoxComputeServiceAdapter.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testCreateNodeWithGroupEncodedIntoNameThenStoreCredentials() {
|
public void testCreatedNodeHasExpectedNameAndWeCanConnectViaSsh() {
|
||||||
String group = "foo";
|
String group = "foo";
|
||||||
String name = "foo-ef4";
|
String name = "foo-ef4";
|
||||||
String machineName = VIRTUALBOX_NODE_PREFIX + "myTestId-" + group + "-" + name;
|
String machineName = VIRTUALBOX_NODE_PREFIX + "myTestId-" + group + "-" + name;
|
||||||
// get the image from
|
|
||||||
Image image = Iterables.get(adapter.listImages(), 0);
|
Template template = context.getComputeService().templateBuilder().build();
|
||||||
System.out.println(context.getComputeService().templateBuilder());
|
|
||||||
Template template = context.getComputeService().templateBuilder().fromImage(image).build();
|
|
||||||
machine = adapter.createNodeWithGroupEncodedIntoName(group, name, template);
|
machine = adapter.createNodeWithGroupEncodedIntoName(group, name, template);
|
||||||
|
|
||||||
assertEquals(machine.getNode().getName(), machineName);
|
assertEquals(machine.getNode().getName(), machineName);
|
||||||
// is there a place for group?
|
|
||||||
// check other things, like cpu correct, mem correct, image/os is correct
|
|
||||||
// (as possible)
|
|
||||||
// TODO: what's the IP address?
|
|
||||||
// assert
|
|
||||||
// InetAddresses.isInetAddress(machine.getPrimaryBackendIpAddress()) :
|
|
||||||
// machine;
|
|
||||||
doConnectViaSsh(machine.getNode(), prioritizeCredentialsFromTemplate.apply(template, machine.getCredentials()));
|
doConnectViaSsh(machine.getNode(), prioritizeCredentialsFromTemplate.apply(template, machine.getCredentials()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,15 +76,14 @@ public class VirtualBoxComputeServiceAdapterLiveTest extends BaseVirtualBoxClien
|
|||||||
public void testListHardwareProfiles() {
|
public void testListHardwareProfiles() {
|
||||||
Iterable<IMachine> profiles = adapter.listHardwareProfiles();
|
Iterable<IMachine> profiles = adapter.listHardwareProfiles();
|
||||||
assertEquals(1, Iterables.size(profiles));
|
assertEquals(1, Iterables.size(profiles));
|
||||||
|
//TODO: check state;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testListImages() {
|
public void testListImages() {
|
||||||
Iterable<Image> iMageIterable = adapter.listImages();
|
Iterable<Image> iMageIterable = adapter.listImages();
|
||||||
for (Image image : iMageIterable) {
|
assertEquals(1, Iterables.size(iMageIterable));
|
||||||
System.out.println(image);
|
//TODO: check state;
|
||||||
}
|
|
||||||
// check state;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user