@Test(dependsOnMethods = "testImageCreated")
public void testAdvancedConfig() throws RunNodesException {
final String portId = SSH_PORT + "/tcp";
final DockerTemplateOptions options = DockerTemplateOptions.Builder
.configBuilder(
Config.builder().env(ImmutableList.<String> of("SSH_PORT=" + SSH_PORT, "ROOT_PASSWORD=jcloudsRulez"))
.exposedPorts(ImmutableMap.<String, Object> of(portId, Maps.newHashMap()))
.hostConfig(HostConfig.builder().networkMode("bridge")
.portBindings(ImmutableMap.<String, List<Map<String, String>>> of(portId,
Lists.<Map<String, String>>newArrayList(ImmutableMap.of("HostPort", String.valueOf(SSH_PORT_BRIDGE)))))
.build())
.image("test-if-this-value-is-correctly-overriden"))
.overrideLoginUser("root").overrideLoginPassword("jcloudsRulez").blockOnPort(SSH_PORT_BRIDGE, 30);
final Template template = view.getComputeService().templateBuilder().imageId(image.id()).options(options).build();
String nodeId = null;
try {
NodeMetadata node = Iterables
.getOnlyElement(view.getComputeService().createNodesInGroup("ssh-net-bridge", 1, template));
nodeId = node.getId();
ExecResponse response = view.getComputeService().runScriptOnNode(nodeId, "sh -c 'true'",
wrapInInitScript(false));
assertEquals(response.getExitStatus(), 0);
} finally {
if (nodeId != null)
view.getComputeService().destroyNode(nodeId);
}
}