You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2018/07/09 17:29:43 UTC

jclouds git commit: Implements VirtualMachineAPI deallocate operation https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/deallocate

Repository: jclouds
Updated Branches:
  refs/heads/master 975aca534 -> 1bd3b8f9d


Implements VirtualMachineAPI deallocate operation
https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/deallocate

Adds missing mock test
Fixes returning codes from API methods to 202


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/1bd3b8f9
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/1bd3b8f9
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/1bd3b8f9

Branch: refs/heads/master
Commit: 1bd3b8f9dfa148e3d3f9a3b13ce3335e620276e1
Parents: 975aca5
Author: Dani Estevez <co...@danielestevez.com>
Authored: Fri Jun 29 16:42:38 2018 -0400
Committer: Ignasi Barrera <na...@apache.org>
Committed: Mon Jul 9 10:29:33 2018 -0700

----------------------------------------------------------------------
 .../arm/features/VirtualMachineApi.java         |  6 +++-
 .../arm/features/VirtualMachineApiLiveTest.java | 11 ++++++--
 .../arm/features/VirtualMachineApiMockTest.java | 29 ++++++++++++++------
 3 files changed, 34 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/1bd3b8f9/providers/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/features/VirtualMachineApi.java
----------------------------------------------------------------------
diff --git a/providers/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/features/VirtualMachineApi.java b/providers/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/features/VirtualMachineApi.java
index 39ed860..e8dc065 100644
--- a/providers/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/features/VirtualMachineApi.java
+++ b/providers/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/features/VirtualMachineApi.java
@@ -19,7 +19,6 @@ package org.jclouds.azurecompute.arm.features;
 import java.net.URI;
 import java.util.List;
 import java.util.Map;
-
 import javax.inject.Named;
 import javax.ws.rs.Consumes;
 import javax.ws.rs.DELETE;
@@ -114,6 +113,11 @@ public interface VirtualMachineApi {
    @Path("/{name}/powerOff")
    void stop(@PathParam("name") String name);
 
+   @Named("DeallocateVirtualMachine")
+   @POST
+   @Path("/{name}/deallocate")
+   void deallocate(@PathParam("name") String name);
+
    @Named("generalize")
    @POST
    @Path("/{name}/generalize")

http://git-wip-us.apache.org/repos/asf/jclouds/blob/1bd3b8f9/providers/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/VirtualMachineApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/VirtualMachineApiLiveTest.java b/providers/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/VirtualMachineApiLiveTest.java
index 0154a27..27bdc75 100644
--- a/providers/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/VirtualMachineApiLiveTest.java
+++ b/providers/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/VirtualMachineApiLiveTest.java
@@ -156,13 +156,20 @@ public class VirtualMachineApiLiveTest extends BaseAzureComputeApiLiveTest {
       assertEquals(vm.properties().storageProfile().dataDisks().size(), oldDataDisks.size() + 1);
    }
 
-   @Test(dependsOnMethods = "testUpdate")
+   @Test(dependsOnMethods = "testRestart")
    public void testStop() {
       api().stop(vmName);
       assertTrue(stateReached(vmName, PowerState.STOPPED), "stop operation did not complete in the configured timeout");
    }
 
-   @Test(dependsOnMethods = "testStop")
+   @Test(dependsOnMethods = "testUpdate")
+   public void testDeallocate() {
+      api().deallocate(vmName);
+      assertTrue(stateReached(vmName, PowerState.DEALLOCATED),
+            "deallocate operation did not complete in the configured timeout");
+   }
+
+   @Test(dependsOnMethods = "testDeallocate")
    public void testRestart() {
       api().start(vmName);
       assertTrue(stateReached(vmName, PowerState.RUNNING), "start operation did not complete in the configured timeout");

http://git-wip-us.apache.org/repos/asf/jclouds/blob/1bd3b8f9/providers/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/VirtualMachineApiMockTest.java
----------------------------------------------------------------------
diff --git a/providers/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/VirtualMachineApiMockTest.java b/providers/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/VirtualMachineApiMockTest.java
index 372b303..7371294 100644
--- a/providers/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/VirtualMachineApiMockTest.java
+++ b/providers/azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/VirtualMachineApiMockTest.java
@@ -16,6 +16,12 @@
  */
 package org.jclouds.azurecompute.arm.features;
 
+import static com.google.common.collect.Iterables.isEmpty;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
+
 import java.net.URI;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
@@ -53,12 +59,6 @@ import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.squareup.okhttp.mockwebserver.MockResponse;
 
-import static com.google.common.collect.Iterables.isEmpty;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertNull;
-import static org.testng.Assert.assertTrue;
-
 @Test(groups = "unit", testName = "VirtualMachineApiMockTest", singleThreaded = true)
 public class VirtualMachineApiMockTest extends BaseAzureComputeApiMockTest {
 
@@ -213,7 +213,7 @@ public class VirtualMachineApiMockTest extends BaseAzureComputeApiMockTest {
    }
 
    public void testStart() throws Exception {
-      server.enqueue(new MockResponse().setResponseCode(204));
+      server.enqueue(response202WithHeader());
 
       final VirtualMachineApi vmAPI = api.getVirtualMachineApi("groupname");
 
@@ -224,7 +224,7 @@ public class VirtualMachineApiMockTest extends BaseAzureComputeApiMockTest {
    }
 
    public void testRestart() throws Exception {
-      server.enqueue(new MockResponse().setResponseCode(204));
+      server.enqueue(response202WithHeader());
 
       final VirtualMachineApi vmAPI = api.getVirtualMachineApi("groupname");
 
@@ -235,7 +235,7 @@ public class VirtualMachineApiMockTest extends BaseAzureComputeApiMockTest {
    }
 
    public void testStop() throws Exception {
-      server.enqueue(new MockResponse().setResponseCode(204));
+      server.enqueue(response202WithHeader());
 
       final VirtualMachineApi vmAPI = api.getVirtualMachineApi("groupname");
 
@@ -245,6 +245,17 @@ public class VirtualMachineApiMockTest extends BaseAzureComputeApiMockTest {
             + "/virtualMachines/windowsmachine/powerOff?api-version=2016-04-30-preview");
    }
 
+   public void testDeallocate() throws Exception {
+      server.enqueue(response202WithHeader());
+
+      final VirtualMachineApi vmAPI = api.getVirtualMachineApi("groupname");
+
+      vmAPI.deallocate("windowsmachine");
+
+      assertSent(server, "POST", "/subscriptions/SUBSCRIPTIONID/resourceGroups/groupname/providers/Microsoft.Compute"
+            + "/virtualMachines/windowsmachine/deallocate?api-version=2016-04-30-preview");
+   }
+
    public void testGeneralize() throws Exception {
       server.enqueue(new MockResponse().setResponseCode(200));
       final VirtualMachineApi vmAPI = api.getVirtualMachineApi("groupname");