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");