mirror of https://github.com/apache/jclouds.git
image id property for tests, test properties load refactoring
This commit is contained in:
parent
6fe74edcae
commit
e8dcfa5f52
|
@ -18,7 +18,6 @@
|
|||
*/
|
||||
package org.jclouds.openstack.nova.live;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Map;
|
||||
|
@ -37,13 +36,8 @@ public class PropertyHelper {
|
|||
|
||||
private static String provider = "nova";
|
||||
|
||||
public static void overridePropertyFromSystemProperty(final Properties properties, String propertyName) {
|
||||
if ((System.getProperty(propertyName) != null) && !System.getProperty(propertyName).equals("${" + propertyName + "}"))
|
||||
properties.setProperty(propertyName, System.getProperty(propertyName));
|
||||
}
|
||||
|
||||
public static Map<String, String> setupKeyPair(Properties properties) throws FileNotFoundException, IOException {
|
||||
return ImmutableMap.<String, String>of(
|
||||
public static Map<String, String> setupKeyPair(Properties properties) throws IOException {
|
||||
return ImmutableMap.of(
|
||||
"private", Resources.toString(Resources.getResource(properties.getProperty("test.ssh.keyfile.private")), Charsets.UTF_8),
|
||||
"public", Resources.toString(Resources.getResource(properties.getProperty("test.ssh.keyfile.public")), Charsets.UTF_8));
|
||||
}
|
||||
|
@ -51,16 +45,14 @@ public class PropertyHelper {
|
|||
public static Properties setupProperties(Class<?> clazz) throws IOException {
|
||||
Properties properties = new Properties();
|
||||
|
||||
InputStream propertiesStream = clazz.getResourceAsStream("/test.properties");
|
||||
if (propertiesStream != null)
|
||||
String propertiesPath = System.getProperty("test.properties");
|
||||
if (propertiesPath != null) {
|
||||
InputStream propertiesStream = clazz.getResourceAsStream(propertiesPath);
|
||||
properties.load(propertiesStream);
|
||||
overridePropertyFromSystemProperty(properties, "test." + provider + ".endpoint");
|
||||
overridePropertyFromSystemProperty(properties, "test." + provider + ".apiversion");
|
||||
overridePropertyFromSystemProperty(properties, "test." + provider + ".identity");
|
||||
overridePropertyFromSystemProperty(properties, "test." + provider + ".credential");
|
||||
overridePropertyFromSystemProperty(properties, "test.ssh.keyfile.private");
|
||||
overridePropertyFromSystemProperty(properties, "test.ssh.keyfile.public");
|
||||
overridePropertyFromSystemProperty(properties, "test.initializer");
|
||||
}
|
||||
|
||||
properties.putAll(System.getProperties());
|
||||
|
||||
return properties;
|
||||
}
|
||||
|
||||
|
|
|
@ -75,6 +75,7 @@ public class ComputeBase {
|
|||
|
||||
protected Map<String, String> keyPair;
|
||||
protected Properties overrides;
|
||||
protected String testImageId;
|
||||
|
||||
@BeforeTest
|
||||
public void before() throws InterruptedException, ExecutionException, TimeoutException, IOException {
|
||||
|
@ -82,6 +83,7 @@ public class ComputeBase {
|
|||
setupOverrides(properties);
|
||||
overrides = properties;
|
||||
keyPair = setupKeyPair(properties);
|
||||
testImageId = properties.getProperty("test.nova.image.id");
|
||||
initializeContextAndComputeService(properties);
|
||||
|
||||
}
|
||||
|
@ -97,7 +99,7 @@ public class ComputeBase {
|
|||
}
|
||||
|
||||
protected TemplateBuilder getDefaultTemplateBuilder() {
|
||||
return computeService.templateBuilder().imageId("95").options(getDefaultTemplateOptions());
|
||||
return computeService.templateBuilder().imageId(testImageId).options(getDefaultTemplateOptions());
|
||||
}
|
||||
|
||||
private TemplateOptions getDefaultTemplateOptions() {
|
||||
|
|
|
@ -49,6 +49,7 @@ import com.google.common.collect.ImmutableSet;
|
|||
public class ComputeServiceCheck {
|
||||
private ComputeServiceContextFactory contextFactory;
|
||||
private ComputeServiceContext context;
|
||||
private String testImageId;
|
||||
|
||||
@BeforeTest
|
||||
public void setupClient() throws IOException {
|
||||
|
@ -56,6 +57,7 @@ public class ComputeServiceCheck {
|
|||
Properties properties = setupOverrides(setupProperties(this.getClass()));
|
||||
context = contextFactory.createContext("nova",
|
||||
ImmutableSet.of(new SshjSshClientModule(), new SLF4JLoggingModule()), properties);
|
||||
testImageId = properties.getProperty("test.nova.image.id");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -73,7 +75,7 @@ public class ComputeServiceCheck {
|
|||
ComputeService cs = context.getComputeService();
|
||||
|
||||
TemplateOptions options = new TemplateOptions().blockUntilRunning(false);
|
||||
Template template = cs.templateBuilder().imageId("95").hardwareId("2").options(options).build();
|
||||
Template template = cs.templateBuilder().imageId(testImageId).hardwareId("2").options(options).build();
|
||||
Set<? extends NodeMetadata> metedata = cs.createNodesInGroup("test", 1, template);
|
||||
System.out.println(metedata);
|
||||
}
|
||||
|
|
|
@ -50,7 +50,7 @@ import com.google.inject.Module;
|
|||
* @author Victor Galkin
|
||||
*/
|
||||
public class ClientBase {
|
||||
protected int testImageId = 95;
|
||||
protected int testImageId;
|
||||
protected NovaClient client;
|
||||
protected SshClient.Factory sshFactory;
|
||||
@SuppressWarnings("unused")
|
||||
|
@ -76,6 +76,8 @@ public class ClientBase {
|
|||
injector.injectMembers(socketOpen); // add logger
|
||||
|
||||
keyPair = setupKeyPair(properties);
|
||||
|
||||
testImageId = Integer.valueOf(properties.getProperty("test.nova.image.id"));
|
||||
}
|
||||
|
||||
protected Server getDefaultServerImmediately() {
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
/test.properties
|
|
@ -2,6 +2,6 @@ test.nova.endpoint=http://dragon004.hw.griddynamics.net:8774
|
|||
test.nova.apiversion=1.1
|
||||
test.nova.identity=admin
|
||||
test.nova.credential=d744752f-20d3-4d75-979f-f62f16033b07
|
||||
test.initializer=
|
||||
test.ssh.keyfile.private=f:/gigaspace/distr/gigaspaces.pem
|
||||
test.ssh.keyfile.public=f:/gigaspace/distr/gigaspaces.pem
|
||||
test.nova.image.id=17
|
||||
test.ssh.keyfile.private=/keys/rhelimg.pem
|
||||
test.ssh.keyfile.public=/keys/rhelimg.pub
|
Loading…
Reference in New Issue