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.");
+      }
+   }
 }

Reply via email to