Make the windows image optional Skip tests if not present.
Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs/commit/cc2654c0 Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/cc2654c0 Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/cc2654c0 Branch: refs/heads/2.0.x Commit: cc2654c0bbd47a348ee2a614d5e9f0c9b24ebb70 Parents: 7214dcb Author: Svetoslav Neykov <[email protected]> Authored: Sun Mar 19 17:30:06 2017 +0200 Committer: Ignasi Barrera <[email protected]> Committed: Tue Mar 28 08:30:47 2017 +0200 ---------------------------------------------------------------------- .../org/jclouds/vagrant/functions/BoxToImage.java | 4 ++++ .../org/jclouds/vagrant/compute/WindowsLiveTest.java | 15 ++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cc2654c0/vagrant/src/main/java/org/jclouds/vagrant/functions/BoxToImage.java ---------------------------------------------------------------------- diff --git a/vagrant/src/main/java/org/jclouds/vagrant/functions/BoxToImage.java b/vagrant/src/main/java/org/jclouds/vagrant/functions/BoxToImage.java index bf0f155..017d23e 100644 --- a/vagrant/src/main/java/org/jclouds/vagrant/functions/BoxToImage.java +++ b/vagrant/src/main/java/org/jclouds/vagrant/functions/BoxToImage.java @@ -41,6 +41,10 @@ public class BoxToImage implements Function<Box, Image> { @Override public Image apply(Box input) { + if (input == null) { + return null; + } + OperatingSystem os = new OperatingSystem(inferOsFamily(input), input.getName(), input.getVersion(), null, input.getName(), true); return new ImageBuilder() .ids(input.getName()) http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cc2654c0/vagrant/src/test/java/org/jclouds/vagrant/compute/WindowsLiveTest.java ---------------------------------------------------------------------- diff --git a/vagrant/src/test/java/org/jclouds/vagrant/compute/WindowsLiveTest.java b/vagrant/src/test/java/org/jclouds/vagrant/compute/WindowsLiveTest.java index a8887e7..4cef15f 100644 --- a/vagrant/src/test/java/org/jclouds/vagrant/compute/WindowsLiveTest.java +++ b/vagrant/src/test/java/org/jclouds/vagrant/compute/WindowsLiveTest.java @@ -20,6 +20,7 @@ import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertTrue; +import java.util.NoSuchElementException; import java.util.Set; import org.jclouds.compute.ComputeService; @@ -33,6 +34,7 @@ import org.jclouds.compute.internal.BaseComputeServiceContextLiveTest; import org.jclouds.domain.LoginCredentials; import org.jclouds.vagrant.internal.BoxConfig; import org.jclouds.vagrant.reference.VagrantConstants; +import org.testng.SkipException; import org.testng.annotations.Test; import com.google.common.base.Optional; @@ -70,7 +72,7 @@ public class WindowsLiveTest extends BaseComputeServiceContextLiveTest { } private String getImageId() { - return "boxcutter/eval-win7x86-enterprise"; + return "boxcutter/eval-win2012r2-standard"; } protected Template buildTemplate(TemplateBuilder templateBuilder) { @@ -79,6 +81,8 @@ public class WindowsLiveTest extends BaseComputeServiceContextLiveTest { @Test public void testGet() throws Exception { + skipIfImageNotPresent(); + Set<? extends NodeMetadata> nodes = client.createNodesInGroup("vagrant-win", 1, buildTemplate(templateBuilder())); NodeMetadata node = Iterables.getOnlyElement(nodes); OperatingSystem os = node.getOperatingSystem(); @@ -95,6 +99,8 @@ public class WindowsLiveTest extends BaseComputeServiceContextLiveTest { @Test public void testBoxConfig() { + skipIfImageNotPresent(); + Image image = view.getComputeService().getImage(getImageId()); BoxConfig.Factory boxConfigFactory = new BoxConfig.Factory(); @@ -103,4 +109,11 @@ public class WindowsLiveTest extends BaseComputeServiceContextLiveTest { assertEquals(boxConfig.getStringKey(".vm.communicator"), Optional.of("winrm")); assertEquals(boxConfig.getKey(VagrantConstants.KEY_VM_GUEST), Optional.of(VagrantConstants.VM_GUEST_WINDOWS)); } + + private void skipIfImageNotPresent() { + Image image = view.getComputeService().getImage(getImageId()); + if (image == null) { + throw new SkipException("Image " + getImageId() + " not available. Skipping windows tests."); + } + } }
